2017-04-25 26 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的(藍圖)激活作出反應,而不是激活器。

通常,只要您在包中使用藍圖,就不應該使用激活器。