1 / 5

CXF Pipeline

Dead Message Queue. CXF Pipeline. JMSAsyncHandler .saveContext(). request. MDBSenderConduit .sendExchange (). CXFMessageDrivenEndpoint .onMessage (). CXF Pipeline. JMSBackConduit .post (). reply. MDBSenderConduit .onMessage(). Dead Message Queue. JMSAsyncHandler .doYouKnowThisID().

tana-guerra
Download Presentation

CXF Pipeline

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dead Message Queue CXF Pipeline JMSAsyncHandler .saveContext() request MDBSenderConduit .sendExchange() CXFMessageDrivenEndpoint .onMessage() CXF Pipeline JMSBackConduit .post() reply MDBSenderConduit .onMessage() Dead Message Queue JMSAsyncHandler .doYouKnowThisID() CXF Pipeline Global schemawith transaction JMSAsyncHandler .doHandleResponse()

  2. CXF Pipeline JMSAsyncHandler .saveContext() request MDBSenderConduit .sendExchange() CXFMessageDrivenEndpoint .onMessage() CXF Pipeline MDBSenderConduit .onMessage() JMSBackConduit .post() reply JMSAsyncHandler .doYouKnowThisID() CXF Pipeline JMSAsyncHandler .doHandleResponse() Failure 0 : - the client side (or server side) is not available at the arrival of the request (or the answer) Detail : - there is no consumer for their queues Result expected : - the POM will send the message to the consumer when it is restarted.

  3. CXF Pipeline JMSAsyncHandler .saveContext() x request MDBSenderConduit .sendExchange() CXFMessageDrivenEndpoint .onMessage() CXF Pipeline MDBSenderConduit .onMessage() JMSBackConduit .post() reply JMSAsyncHandler .doYouKnowThisID() CXF Pipeline JMSAsyncHandler .doHandleResponse() Failure 1 : Failure when sending the JMS message Detail : - Failure after the saveContext ‘s call ( before or after sending the JMS message. Global transaction hasn’t committed yet. ) - The context has been saved in database. - The JMS message hasn’t been in request’s queue yet. Result expected: - The global transaction rollback all

  4. CXF Pipeline Dead Message Queue JMSAsyncHandler .saveContext() request MDBSenderConduit .sendExchange() CXFMessageDrivenEndpoint .onMessage() x CXF Pipeline POJO MDBSenderConduit .onMessage() JMSBackConduit .post() JMSAsyncHandler .doYouKnowThisID() reply CXF Pipeline Failure 2 : - failure while processing the message on the server side Detail : - the message was popped from the queue request - failure appeared in POJO’s processing or in CXF pipelines - the answer is not yet delivered Result expected : - the global transaction cancels the unstacking of the message - no action on the server side is taken into account: all transactional resources (JDBC, JMS) will be rollbacked. - we will retry the processing several times. After n times, the message will be sent to the DMQ queue JMSAsyncHandler .doHandleResponse()

  5. Dead Message Queue CXF Pipeline JMSAsyncHandler .saveContext() request MDBSenderConduit .sendExchange() CXFMessageDrivenEndpoint .onMessage() CXF Pipeline reply JMSBackConduit .post() MDBSenderConduit .onMessage() Dead Message Queue JMSAsyncHandler .doYouKnowThisContext() x CXF Pipeline Failure 3 : - failure while processing the message on the client side Detail: - the message is popped from the reply queue - failure appeared in client side: in JMSAsyncHandler’s processing or in CXF pipeline. Result expected: - the global transaction cancels the unstacking of the message from reply queue. - the client will retry the processing several times. After n times, the message will be sent to the DMQ queue JMSAsyncHandler .doHandleResponse()

More Related