2015-10-13 38 views
0

我想通過IEventBroker發送成功消息並從另一個類中收聽。我無法處理來自偵聽器函數的消息。可能是什麼原因?IEventBroker不會在java中發送事件

eventBroker.post(IBackupRestoreEventConstants.TOPIC_BACKUP_SUCCESS, new Date()); 

我想在這個函數來處理:

我通過這條線發送的消息

@Inject 
@Optional 
public void whenBackupSuccess(@UIEventTopic(IBackupRestoreEventConstants.TOPIC_BACKUP_SUCCESS) long timeStamp) { 
    MessageDialog.openInformation(shell, "Information", "Backup operation completed successfully"); 
} 
+0

是'whenBackupSuccess'方法,一類是實際注入?只有從Application.e4xmi創建的類會自動注入。 –

回答

1

您正在發佈一個Date值的事件,但您使用long作爲在whenBackupSuccess的參數中,事件代理不會爲你做這種轉換。由於該方法是@Optional,它將被忽略。

使用DatewhenBackupSuccess

@Inject 
@Optional 
public void whenBackupSuccess(@UIEventTopic(IBackupRestoreEventConstants.TOPIC_BACKUP_SUCCESS) Date timeStamp)