【问题标题】:Restlet custom configuration properties filesRestlet 自定义配置属性文件
【发布时间】:2016-06-11 13:02:56
【问题描述】:

Spring、Struts 等框架便于读取属性文件。例如 Struts 中的 MessageResources。我想知道 Restlet 框架本身是否支持内置的此类属性文件。如果有,那么我不需要重新发明轮子并能够直接使用它。我的应用程序配置值将包含在该文件中。我是 Restlet 的新手,我找不到任何解决方案。有什么办法吗?

【问题讨论】:

    标签: configuration restlet properties-file


    【解决方案1】:

    Restlet 中没有这样的支持。也就是说,您可以利用客户端协议从不同位置加载这些属性文件:

    • Protocol.FILE - 直接来自文件系统
    • Protocol.CLAP - 来自类路径
    • Protocol.OBAP - 来自 OSGi 包

    这是一个示例:

    ClientResource cr = new ClientResource("clap://someproperties.properties");
    Properties props = new Properties(); 
    props.load(cr.get().getStream());
    

    您需要在定义组件时指定此协议:

    Component component = new Component();
    (...)
    component.getServers().add(Protocol.HTTP, 8182);
    component.getClients().add(Protocol.CLAP);
    

    【讨论】:

    • 非常感谢您的回答。我是restlets的新手。我从您的回答中了解到,需要从不同的位置(另一个服务器调用服务器)加载属性。如果是这样,这会不会是一个性能缺陷,因为该过程将不得不等到响应返回。
    • 不用担心 ;-) 事实上,像 FILECLAP 这样的协议是本地的,不需要网络调用。这类似于使用 Reader 或 InputStream 但通过 Restlet API...
    • 我试过你提到的。但它失败了。可能是我做错了什么。在我的一个 util 类中,我尝试调用与“ClientResource cr = new ClientResource("clap://someproperties.properties"); Properties props = new Properties(); props.load(cr.get().获取流());” .但是有一个错误“服务器未找到任何与请求 URI 匹配的内容”。我的属性文件位于资源文件夹中(它是一个 Maven 项目)。我不清楚这里如何使用“组件”以及为什么我们在项目中调用文件时需要它?请问有什么想法吗?
    猜你喜欢
    • 2010-10-29
    • 1970-01-01
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多