Package ru.bitel.bgbilling.kernel.event
Class EventWorker
java.lang.Object
ru.bitel.common.worker.WorkerTask<EventListenerContext>
ru.bitel.bgbilling.kernel.event.EventWorker
- All Implemented Interfaces:
 Runnable,EventListener<ru.bitel.bgbilling.kernel.event.common.Event>
- Direct Known Subclasses:
 AsyncEventWorker,TvAccountStateAndOptionsDatabaseWorker
public abstract class EventWorker
extends ru.bitel.common.worker.WorkerTask<EventListenerContext>
implements EventListener<ru.bitel.bgbilling.kernel.event.common.Event>
Обрабочтик событий.  Выбирает события из MessageConsumer и задает методы для обрабоотки этих событий(реализуются в потомках)
- 
Nested Class Summary
Nested classes/interfaces inherited from class ru.bitel.common.worker.WorkerTask
ru.bitel.common.worker.WorkerTask.BlockingExecutionHandler - 
Field Summary
FieldsModifier and TypeFieldDescriptionprotected longСколько ждать следующего задания/события, прежде чем прекратить цикл (прекратитьdoTasks()), в мс.protected ru.bitel.bgbilling.kernel.event.AbstractConsumerprotected longДлительность паузы после возникновения ошибки, в мс.protected final intprotected booleanFields inherited from class ru.bitel.common.worker.WorkerTask
context - 
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedEventWorker(int moduleId) EventWorker(EventProcessor ep, Class<? extends ru.bitel.bgbilling.kernel.event.common.Event> clazz, int moduleId, int pluginId, String query) EventWorker(EventProcessor ep, String destination, int moduleId, int pluginId, String query, boolean autoAcknowledge, Class<?>... clazz)  - 
Method Summary
Modifier and TypeMethodDescriptionabstract ObjectВыполнение одной задачи (события).booleandoTasks()Выполнение задач (одной или нескольких, с ожиданием новых в теченииbatchWait), нужно вызывать изrunWorker().protected booleaninternalDoTask(Object task) protected intinternalRunWorker(long timeout, boolean wait) voidnotify(ru.bitel.bgbilling.kernel.event.common.Event e, EventListenerContext ctx) protected Objectpoll(long timeout) protected Objectprotected voidrunImpl()protected abstract booleanВызывается, когда появляются задачи.voidsetConsumer(Class<? extends ru.bitel.bgbilling.kernel.event.common.Event> clazz, String query) voidshutdown()Methods inherited from class ru.bitel.common.worker.WorkerTask
getLogger, newBlockingFixedThreadPool, newFixedThreadPool, newFixedThreadPool, newScheduledThreadPool, run, runSync, runSync, setContext 
- 
Field Details
- 
consumer
protected ru.bitel.bgbilling.kernel.event.AbstractConsumer consumer - 
batchWait
protected long batchWaitСколько ждать следующего задания/события, прежде чем прекратить цикл (прекратитьdoTasks()), в мс. - 
errorPause
protected long errorPauseДлительность паузы после возникновения ошибки, в мс. - 
working
protected volatile boolean working - 
moduleId
protected final int moduleId 
 - 
 - 
Constructor Details
- 
EventWorker
protected EventWorker(int moduleId) throws ru.bitel.bgbilling.common.BGException - Throws:
 ru.bitel.bgbilling.common.BGException
 - 
EventWorker
public EventWorker(EventProcessor ep, Class<? extends ru.bitel.bgbilling.kernel.event.common.Event> clazz, int moduleId, int pluginId, String query) throws ru.bitel.bgbilling.common.BGException - Throws:
 ru.bitel.bgbilling.common.BGException
 - 
EventWorker
public EventWorker(EventProcessor ep, String destination, int moduleId, int pluginId, String query, boolean autoAcknowledge, Class<?>... clazz) throws ru.bitel.bgbilling.common.BGException - Throws:
 ru.bitel.bgbilling.common.BGException
 
 - 
 - 
Method Details
- 
setConsumer
public void setConsumer(Class<? extends ru.bitel.bgbilling.kernel.event.common.Event> clazz, String query) throws ru.bitel.bgbilling.common.BGException - Throws:
 ru.bitel.bgbilling.common.BGException
 - 
runImpl
- Specified by:
 runImplin classru.bitel.common.worker.WorkerTask<EventListenerContext>- Throws:
 Exception
 - 
internalRunWorker
protected int internalRunWorker(long timeout, boolean wait) - Parameters:
 timeout-wait-- Returns:
 - -1, если произошла ошибка; 0, если ничего не было сделано, 1, если нормально выполнено одно или более заданий.
 
 - 
pollFirstTask
 - 
poll
- Throws:
 ru.bitel.bgbilling.common.BGException
 - 
doTasks
public boolean doTasks() throws ru.bitel.bgbilling.common.BGExceptionВыполнение задач (одной или нескольких, с ожиданием новых в теченииbatchWait), нужно вызывать изrunWorker().- Returns:
 - Throws:
 ru.bitel.bgbilling.common.BGException
 - 
internalDoTask
protected boolean internalDoTask(Object task) throws javax.jms.JMSException, jakarta.xml.bind.JAXBException, ru.bitel.bgbilling.common.BGException - Throws:
 javax.jms.JMSExceptionjakarta.xml.bind.JAXBExceptionru.bitel.bgbilling.common.BGException
 - 
runWorker
protected abstract boolean runWorker() throws ru.bitel.bgbilling.common.BGExceptionВызывается, когда появляются задачи. Внутри данного метода нужно вызватьdoTasks(), который выполняет последовательно появившиеся задачи. А перед и после вызоваdoTasks()можно инициализировать и освободить DAO.- Returns:
 - Throws:
 ru.bitel.bgbilling.common.BGException
 - 
notify
public void notify(ru.bitel.bgbilling.kernel.event.common.Event e, EventListenerContext ctx) throws ru.bitel.bgbilling.common.BGException - Specified by:
 notifyin interfaceEventListener<ru.bitel.bgbilling.kernel.event.common.Event>- Throws:
 ru.bitel.bgbilling.common.BGException
 - 
doTask
Выполнение одной задачи (события).- Parameters:
 task-- Returns:
 - обычно null.
 - Throws:
 ru.bitel.bgbilling.common.BGException
 - 
shutdown
public void shutdown() throws ru.bitel.bgbilling.common.BGException- Throws:
 ru.bitel.bgbilling.common.BGException
 
 -