package org.infosec.ismp.manager; import java.util.ArrayList; import java.util.List; import org.infosec.ismp.eventd.DefaultEventHandlerImpl; import org.infosec.ismp.eventd.EventIpcManagerDefaultImpl; import org.infosec.ismp.eventd.EventIpcManagerFactory; import org.infosec.ismp.eventd.EventIpcManagerProxy; import org.infosec.ismp.eventd.Eventd; import org.infosec.ismp.eventd.adaptors.EventIpcManagerEventHandlerProxy; import org.infosec.ismp.eventd.adaptors.udp.UdpEventReceiver; import org.infosec.ismp.eventd.processor.EventExpander; import org.infosec.ismp.eventd.processor.EventIpcBroadcastProcessor; import org.infosec.ismp.eventd.processor.EventProcessor; import org.infosec.ismp.model.event.Event; import org.infosec.ismp.model.event.EventListener; import org.springframework.util.Log4jConfigurer; /** * 操纵内存数据,检验流程是否正确。 * @author root * */ public class MemoryManagerMain { /** * @param args */ public static void main(String[] args)throws Exception { Log4jConfigurer.initLogging("classpath:log4j.properties"); EventIpcManagerProxy eventipcProxy = new EventIpcManagerProxy(); EventIpcManagerDefaultImpl impl = new EventIpcManagerDefaultImpl(); EventIpcManagerFactory.setIpcManager(impl); impl.setHandlerPoolSize(3); impl.setEventIpcManagerProxy(eventipcProxy); // 创建事件扩充处理器 EventExpander eventExpander = new EventExpander(); eventExpander.afterPropertiesSet(); // 创建事件广播处理器 EventIpcBroadcastProcessor broadcastProcessor = new EventIpcBroadcastProcessor(); broadcastProcessor.setEventIpcBroadcaster(impl); broadcastProcessor.afterPropertiesSet(); // 创建事件处理handler DefaultEventHandlerImpl handlerImpl = new DefaultEventHandlerImpl(); List<EventProcessor> processors = new ArrayList<EventProcessor>(); processors.add(eventExpander); processors.add(broadcastProcessor); handlerImpl.setEventProcessors(processors); handlerImpl.afterPropertiesSet(); impl.setEventHandler(handlerImpl); impl.afterPropertiesSet(); // 创建事件接受模块 Eventd eventd = createManagerEventd(); eventd.start(); createTestEventListener(); System.out.println("--------------start manager-----------------"); } private static Eventd createManagerEventd() throws Exception { Eventd eventd = new Eventd(); EventIpcManagerEventHandlerProxy proxy = new EventIpcManagerEventHandlerProxy(); UdpEventReceiver receiver = new UdpEventReceiver(5816, "127.0.0.1"); receiver.addEventHandler(proxy); eventd.addEventReceiver(receiver); eventd.afterPropertiesSet(); return eventd; } private static void createTestEventListener(){ EventListener listenr = new EventListener(){ @Override public String getName() { return "Manager:testEVentProcessor"; } @Override public void onEvent(Event e) { // System.out.println("received event ,event uei is :"+e.getUei()+" serviceId is : "+e.getServiceId()); } }; EventIpcManagerFactory.getIpcManager().addEventListener(listenr); } }