Пример вызова синхронного события (вида "запрос-ответ")
Код:
OpenPacketSubscriptionEvent eventOpenPacket = new OpenPacketSubscriptionEvent( userID, mid, cid, userCard, packet, date.getTime() );
eventOpenPacket = EventProcessor.getInstance().request( eventOpenPacket );
Пример вызова асинхронного события:
Код:
EventProcessor.getInstance().publishAfterCommit( new PaymentEvent( User.USER_SERVER, payment ) );
EventProcessor.getInstance().publishAfterCommit( new ContractBalanceChangedEvent( t.getContractId(), payment.getSum() ) );
Вместо метода publishAfterCommit(Event e) можно использовать метод publish(Event). Отличие состоит в том, когда произойдет посылка события: в тот же момент или после завершения текущей транзакции.
EventProcessor из пакета ru.bitel.bgbilling.kernel.event