Spring @EventListener有两个参数

时间:2018-02-13 00:51:31

标签: spring spring-boot spring-4 event-sourcing

我正在寻找一种方法将两个参数传递给@EventListener。我有一个Event课程。它看起来像这样:

public class Event {
    String id;
    Date timestamp;
    String data;
    String type;
}

data已序列化,类型描述了如何反序列化。

目前,我反序列化事件数据,然后通过`ApplicationEventPublisher发布反序列化的EventData子类实例,如下所示:

public void listen(Event event) throws IOException {
    EventData eventData = converter.toEventData(event);
    eventPublisher.publishEvent(eventData);        
} 

到目前为止,这种方法运行良好,但现在我需要访问监听器中的事件和数据。有没有办法将两个参数传递给@EventListener

1 个答案:

答案 0 :(得分:1)

我没有办法将第二个参数传递给事件监听器。

您可以向event基类添加EventData属性,该基类由converter填充,并带有传递给它的原始参数。