IEventBroker 未在 java 中发送事件

IEventBroker doesn't sent event in java

我想通过 IEventBroker 发送成功消息并从另一个 class 收听。我无法处理来自监听函数的消息。可能是什么原因造成的?

我通过这条线发送消息:

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");
}

您正在发布具有 Date 值的事件,但您使用 long 作为 whenBackupSuccess 中的参数,事件代理不会为您执行此转换。由于该方法是 @Optional 它将被忽略。

whenBackupSuccess中使用Date:

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