我需要用eclipse框架的EventBroker发送一个事件。一切正常(字符串,列表.)除了地图实例。
Map<String, String> test = new LinkedHashMap<>();
test.put("test1", "1");
test.put("test2", "2");
broker.send(EventConstants.EXTENDED_SEARCH_ACTICE_HEADER, test);以及接收部分
@Inject
@Optional
public void onExtendedSearchActiveHeaderEvent(
@UIEventTopic(EventConstants.EXTENDED_SEARCH_ACTICE_HEADER) Map<String, String> test) {
System.out.println(test.size());
}分派事件org.osgi.service.event.Event时的异常
随后-当然-一个NullPointer异常
发布于 2015-12-02 10:47:22
event send (和post)方法专门处理Map参数,并期望它包含完整的事件。这有一个副作用,即@UIEventTopic认为没有任何Map数据。
为处理这一用途:
Map<String, Object> eventMap = new HashMap<String, Object>();
// Your map goes under the `IEventBroker.DATA` key
eventMap.put(IEventBroker.DATA, test);
broker.send(EventConstants.EXTENDED_SEARCH_ACTICE_HEADER, eventMap);https://stackoverflow.com/questions/34039914
复制相似问题