在osgi中将变量存储在bundle之外

时间:2016-11-21 10:53:15

标签: osgi activiti osgi-bundle blueprint-osgi

我在OSGI Bundles中有一个关于蓝图的问题。我将activiti捆绑在一起,但是有一些配置必须在蓝图中才能使其工作。每次我更改这些设置时,我都不想编译新的包。是否有可能将它们存储出蓝图以更改它只需要重新启动捆绑包?

 <bean id="configuration" class="org.activiti.engine.impl.cfg.JtaProcessEngineConfiguration"
      ext:field-injection="true">
    <property name="databaseType" value="h2"/>
    <property name="dataSource" ref="dataSource"/>
    <property name="transactionManager" ref="transactionManager"/>
    <property name="databaseSchemaUpdate" value="true"/>
    <property name="transactionsExternallyManaged" value="true"/>
    <property name="defaultCamelContext" value="defaultContext"/>
    <property name="mailServerHost" value="smtp.googlemail.com"/>
    <property name="mailServerUsername" value="xxxx"/>
    <property name="mailServerPassword" value="xxxx"/>
    <property name="mailServerPort" value="465"/>
    <property name="useSSL" value="true" />
    <property name="useTLS" value="true" />
    <property name="mailServerDefaultFrom" value="senderadress"/>
</bean>

非常感谢你!

1 个答案:

答案 0 :(得分:0)

在OSGi中,您可以使用配置管理规范进行配置。在Apache Karaf中,它允许将配置存储在etc目录中的文件中。

要将它们注入蓝图,请使用blueprint-cm命名空间。 See this tutorial如何使用它。