Package ru.bitel.bgbilling.kernel.event
Class AsyncEventWorker<E extends ru.bitel.bgbilling.kernel.event.common.Event>
java.lang.Object
ru.bitel.common.worker.WorkerTask<EventListenerContext>
ru.bitel.bgbilling.kernel.event.EventWorker
ru.bitel.bgbilling.kernel.event.AsyncEventWorker<E>
- Type Parameters:
- E-
- All Implemented Interfaces:
- Runnable,- EventListener<ru.bitel.bgbilling.kernel.event.common.Event>
- Direct Known Subclasses:
- OrderManagerDeviceWorker,- ServiceActivatorDeviceWorker
public abstract class AsyncEventWorker<E extends ru.bitel.bgbilling.kernel.event.common.Event>
extends EventWorker
Асинхронный обработчик событий.
- 
Nested Class SummaryNested classes/interfaces inherited from class ru.bitel.common.worker.WorkerTaskru.bitel.common.worker.WorkerTask.BlockingExecutionHandler
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected longprotected intprotected longprotected final booleanprotected longFields inherited from class ru.bitel.bgbilling.kernel.event.EventWorkerbatchWait, consumer, errorPause, moduleId, workingFields inherited from class ru.bitel.common.worker.WorkerTaskcontext
- 
Constructor SummaryConstructorsConstructorDescriptionAsyncEventWorker(EventProcessor ep, Class<? extends ru.bitel.bgbilling.kernel.event.common.Event> clazz, int moduleId, int pluginId, String query) AsyncEventWorker(EventProcessor ep, String destination, int moduleId, int pluginId, String query, boolean autoAcknowledge, Class<?>... clazz) 
- 
Method SummaryModifier and TypeMethodDescriptionbooleandoTasks()Выполнение задач (одной или нескольких, с ожиданием новых в теченииEventWorker.batchWait), нужно вызывать изEventWorker.runWorker().protected booleaninternalDoTask(Object task) voidnotify(ru.bitel.bgbilling.kernel.event.common.Event task, EventListenerContext ctx) protected Objectpoll(long timeout) protected voidprocessDoTaskException(Object task, boolean inDoTask, boolean putFirstIfInDoTask, ru.bitel.bgbilling.common.BGException ex, boolean throwException) protected voidprotected voidprotected abstract voidprotected voidtaskTimeout(Object task) Methods inherited from class ru.bitel.bgbilling.kernel.event.EventWorkerdoTask, internalRunWorker, pollFirstTask, runImpl, runWorker, setConsumer, shutdownMethods inherited from class ru.bitel.common.worker.WorkerTaskgetLogger, newBlockingFixedThreadPool, newFixedThreadPool, newFixedThreadPool, newScheduledThreadPool, run, runSync, runSync, setContext
- 
Field Details- 
waitNextTaskprotected long waitNextTask
- 
batchSizeprotected int batchSize
- 
batchPauseprotected long batchPause
- 
needAcknowledgeprotected final boolean needAcknowledge
- 
errorCountprotected long errorCount
 
- 
- 
Constructor Details- 
AsyncEventWorkerpublic AsyncEventWorker(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
 
- 
AsyncEventWorkerpublic AsyncEventWorker(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- 
poll- Overrides:
- pollin class- EventWorker
- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
putFirst- Throws:
- InterruptedException
 
- 
putLast- Throws:
- InterruptedException
 
- 
doTaskspublic boolean doTasks() throws ru.bitel.bgbilling.common.BGExceptionDescription copied from class:EventWorkerВыполнение задач (одной или нескольких, с ожиданием новых в теченииEventWorker.batchWait), нужно вызывать изEventWorker.runWorker().- Overrides:
- doTasksin class- EventWorker
- Returns:
- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
internalDoTaskprotected boolean internalDoTask(Object task) throws javax.jms.JMSException, jakarta.xml.bind.JAXBException, ru.bitel.bgbilling.common.BGException - Overrides:
- internalDoTaskin class- EventWorker
- Throws:
- javax.jms.JMSException
- jakarta.xml.bind.JAXBException
- ru.bitel.bgbilling.common.BGException
 
- 
notifypublic void notify(ru.bitel.bgbilling.kernel.event.common.Event task, EventListenerContext ctx) throws ru.bitel.bgbilling.common.BGException - Specified by:
- notifyin interface- EventListener<E extends ru.bitel.bgbilling.kernel.event.common.Event>
- Overrides:
- notifyin class- EventWorker
- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
processDoTaskExceptionprotected void processDoTaskException(Object task, boolean inDoTask, boolean putFirstIfInDoTask, ru.bitel.bgbilling.common.BGException ex, boolean throwException) throws ru.bitel.bgbilling.common.BGException - Parameters:
- task-
- inDoTask- ошибка произошла в doTask или позже
- putFirstIfInDoTask-
- ex-
- throwException-
- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
taskDoneprotected abstract void taskDone(Object task, Object result) throws ru.bitel.bgbilling.common.BGException - Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
taskTimeout
 
-