|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.kuali.rice.kcb.quartz.ConcurrentJob<MessageDelivery>
org.kuali.rice.kcb.quartz.MessageProcessingJob
public class MessageProcessingJob
Job that delivers messages to endpoints. This job is not really stateful, but should not be executed concurrently.
| Nested Class Summary | |
|---|---|
static class |
MessageProcessingJob.Mode
|
| Field Summary | |
|---|---|
static String |
GROUP
|
static String |
NAME
|
| Fields inherited from class org.kuali.rice.kcb.quartz.ConcurrentJob |
|---|
executor, txManager |
| Constructor Summary | |
|---|---|
MessageProcessingJob()
|
|
MessageProcessingJob(Long messageId,
MessageProcessingJob.Mode mode,
String user,
String cause)
|
|
| Method Summary | |
|---|---|
protected Collection<MessageDelivery> |
bulkProcess(BulkMessageDeliverer messageDeliverer,
Collection<MessageDelivery> messageDeliveries,
MessageProcessingJob.Mode mode)
Implements bulk delivery of a collection of MessageDeliverys |
void |
execute(org.quartz.JobExecutionContext context)
|
protected void |
finishProcessing(ProcessingResult<MessageDelivery> result)
Template method called after processing of work items has completed |
protected Collection<Collection<MessageDelivery>> |
groupWorkItems(Collection<MessageDelivery> workItems,
ProcessingResult<MessageDelivery> result)
Group work items by deliverer and notification, so that deliveries to bulk deliverers are grouped by notification |
protected Collection<MessageDelivery> |
process(MessageDeliverer messageDeliverer,
MessageDelivery messageDelivery,
MessageProcessingJob.Mode mode)
Implements delivery of a single MessageDelivery |
protected Collection<MessageDelivery> |
processWorkItems(Collection<MessageDelivery> messageDeliveries)
Template method that subclasses should override to process a given work item and mark it as untaken afterwards |
ProcessingResult<MessageDelivery> |
run()
Main processing method which invokes subclass implementations of template methods to obtain available work items, and process them concurrently |
void |
setGenericDao(GenericDao dao)
Sets the GenericDao |
void |
setMessageDelivererRegistry(MessageDelivererRegistryService registry)
Sets the MessageDelivererRegistryService |
void |
setMessageDeliveryService(MessageDeliveryService messageDeliveryService)
Sets the MessageDeliveryService |
protected Collection<MessageDelivery> |
takeAvailableWorkItems()
Template method that subclasses should override to obtain a set of available work items and mark them as taken |
protected void |
unlockWorkItem(MessageDelivery item)
Template method that subclasses should override to unlock a given work item when procesing has failed. |
protected void |
updateStatusAndUnlock(MessageDelivery messageDelivery,
MessageDeliveryStatus status)
Marks a MessageDelivery as having been delivered, and unlocks it |
| Methods inherited from class org.kuali.rice.kcb.quartz.ConcurrentJob |
|---|
createNewTransaction, executeInTransaction, setExecutorService, setTransactionManager, unlockWorkItemAtomically |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String NAME
public static final String GROUP
| Constructor Detail |
|---|
public MessageProcessingJob(Long messageId,
MessageProcessingJob.Mode mode,
String user,
String cause)
public MessageProcessingJob()
| Method Detail |
|---|
public void setGenericDao(GenericDao dao)
GenericDao
dao - the GenericDaopublic void setMessageDelivererRegistry(MessageDelivererRegistryService registry)
MessageDelivererRegistryService
registry - the MessageDelivererRegistryServicepublic void setMessageDeliveryService(MessageDeliveryService messageDeliveryService)
MessageDeliveryService
messageDeliveryService - the MessageDeliveryServiceprotected Collection<MessageDelivery> takeAvailableWorkItems()
ConcurrentJob
takeAvailableWorkItems in class ConcurrentJob<MessageDelivery>protected void unlockWorkItem(MessageDelivery item)
ConcurrentJob
unlockWorkItem in class ConcurrentJob<MessageDelivery>item - the work item to unlock
protected Collection<Collection<MessageDelivery>> groupWorkItems(Collection<MessageDelivery> workItems,
ProcessingResult<MessageDelivery> result)
groupWorkItems in class ConcurrentJob<MessageDelivery>workItems - list of work items to break into groupsresult - ProcessingResult to modify if there are any failures...this is sort of a hack because previously
failure to obtain a deliverer was considered a work item failure, and now this method has been factored out...
but the tests still want to see the failure
org.kuali.rice.ken.service.impl.ConcurrentJob#groupWorkItems(java.util.Collection)protected Collection<MessageDelivery> processWorkItems(Collection<MessageDelivery> messageDeliveries)
ConcurrentJob
processWorkItems in class ConcurrentJob<MessageDelivery>
protected Collection<MessageDelivery> process(MessageDeliverer messageDeliverer,
MessageDelivery messageDelivery,
MessageProcessingJob.Mode mode)
deliverer - the deliverermessageDelivery - the delivery
protected Collection<MessageDelivery> bulkProcess(BulkMessageDeliverer messageDeliverer,
Collection<MessageDelivery> messageDeliveries,
MessageProcessingJob.Mode mode)
MessageDeliverys
deliverer - the deliverermessageDeliveries - the deliveries
protected void finishProcessing(ProcessingResult<MessageDelivery> result)
ConcurrentJob
finishProcessing in class ConcurrentJob<MessageDelivery>
protected void updateStatusAndUnlock(MessageDelivery messageDelivery,
MessageDeliveryStatus status)
messageDelivery - the messageDelivery instance to markpublic ProcessingResult<MessageDelivery> run()
ConcurrentJob
run in class ConcurrentJob<MessageDelivery>
public void execute(org.quartz.JobExecutionContext context)
throws org.quartz.JobExecutionException
execute in interface org.quartz.Joborg.quartz.JobExecutionException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||