2017-04-25 68 views
0

我有3个班,一个是激活和另外两个人, 'mysqlConfiguration' 和 'BinaryLogListner',其中 'mysqlConfiguration' 使用蓝图注入 'BinaryLogListner'OSGI进样豆成激活

这是我蓝图(注塑部分):

<bean id="binaryLogListnerBean" class="cdc.mysql.BinaryLogListner"> 
    <property name="mysqlConfiguration" ref="configManagementMysql"></property> 
</bean> 

我要捆启动时启动BinaryLogListner,所以我用实例化它从激活类:

BinaryLogListner binaryLogListner = new BinaryLogListner(); 

当我尝试使用'mysqlConfiguration'这是inje 'BinaryLogListner'我将得到一个空指针异常

我想知道如何将注入激活剂,这可能吗? 任何thougts如何在这些情况下开始豆?

回答

3

在激活器中,使用新的BinaryLogListner()实例化类。所以你只需要简单的课程而不需要任何蓝图注入。这些仅在通过蓝图创建bean实例时注入工作。

您应该简单地使用任何蓝图bean上的init方法来对bundle的(蓝图)激活作出反应,而不是激活器。

通常,只要您在包中使用蓝图,就不应该使用激活器。