簡體   English   中英

如何在OSGI中配置外部屬性文件

[英]how to configure the external properfiles into the OSGI

我們正在使用Jboss fuse 6.2 along with technical stack blueprint,camel ,activeMQ and Mybatis.

我們需要了解如何在OSGI配置屬性文件,據我所知,我們可以配置.cfg文件,但是有沒有最簡單的使用方法,例如spring配置。

在我們的代碼中,我們正在讀取屬性文件。 使用命名空間ext:proeprtyplaceHolder給出我們提供的bean id和值。 提供的幫助有沒有最簡單的方法來讀取屬性文件

有幾種添加配置的方法,因為OSGi服務可以通過ConfigurationAdmin服務訪問配置。 藍圖還可以訪問其上的屬性值。 JBoss使用karaf熔斷器,因此可以使用以下方法。

http://www.liquid-reality.de/display/liquid/2011/09/23/Karaf+Tutorial+Part+2+-+使用+ the + Configuration + Admin + Service引用了一些報價)

藍圖配置

與我們的bean類的集成主要是一個簡單的bean定義,我們在其中定義title屬性並分配占位符,這些占位符將使用config admin服務進行解析。 唯一的特殊之處是初始化方法。 像在純OSGi示例中一樣,這樣做使我們有機會在做出所有更改后做出反應。 對於藍圖,我們不需要任何Maven依賴項,因為我們的Java代碼是純Java Bean。 只需將藍圖上下文放在OSGI-INF / blueprint目錄中並加載藍圖擴展程序即可激活它。 由於藍圖始終加載在Karaf中,因此我們不需要任何其他內容。

<cm:property-placeholder persistent-id="ConfigApp" update-strategy="reload" >
    <cm:default-properties>
         <cm:property name="title" value="Default Title"/>
    </cm:default-properties>
</cm:property-placeholder>

<bean id="myApp" init-method="refresh">
    <property name="title" value="${title}"></property>
</bean>

之后,您可以將cfg文件(這是標准的Java屬性文件)放入karaf的etc或部署具有給定持久性ID的名稱的目錄,在我們的示例中為MyApp。 (例如:/etc/ConfigApp.cfg)

title=Configured title

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM