Package org.kuali.rice.ksb.messaging
Class MessageServiceInvoker
java.lang.Object
org.kuali.rice.ksb.messaging.MessageServiceInvoker
- All Implemented Interfaces:
Runnable
Handles invocation of a
PersistedMessageBO.- Author:
- Kuali Rice Team (rice.collab@kuali.org)
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected ObjectgetQueueService(org.kuali.rice.ksb.api.bus.ServiceConfiguration serviceConfiguration) Because this is a queue we just need to grab one.protected ObjectgetService(org.kuali.rice.ksb.api.bus.ServiceConfiguration serviceConfiguration) protected ObjectgetTopicService(org.kuali.rice.ksb.api.bus.ServiceConfiguration serviceConfiguration) Get the service as a topic.protected ObjectinvokeService(org.kuali.rice.ksb.api.messaging.AsynchronousCall methodCall) Invokes the AsynchronousCall represented on the methodCall on the service contained in the ServiceInfo object on the AsynchronousCall.protected voidExecuted when an exception is encountered during message invocation.voidrun()
-
Field Details
-
LOG
protected static final org.apache.logging.log4j.Logger LOG
-
-
Constructor Details
-
MessageServiceInvoker
-
-
Method Details
-
run
public void run() -
placeInExceptionRouting
Executed when an exception is encountered during message invocation. Attempts to call the ExceptionHandler for the message, if that fails it will attempt to set the status of the message in the queue to "EXCEPTION". -
invokeService
protected Object invokeService(org.kuali.rice.ksb.api.messaging.AsynchronousCall methodCall) throws Exception Invokes the AsynchronousCall represented on the methodCall on the service contained in the ServiceInfo object on the AsynchronousCall.- Throws:
Exception
-
getService
-
getTopicService
protected Object getTopicService(org.kuali.rice.ksb.api.bus.ServiceConfiguration serviceConfiguration) Get the service as a topic. This means we want to contact every service that is a part of this topic. We've grabbed all the services that are a part of this topic and we want to make sure that we get everyone of them = that is we want to circumvent loadbalancing and therefore not ask for the service by it's name but the url to get the exact service we want. -
getQueueService
protected Object getQueueService(org.kuali.rice.ksb.api.bus.ServiceConfiguration serviceConfiguration) Because this is a queue we just need to grab one. -
getMessage
-