CXF Pipeline
-
Upload
tana-guerra -
Category
Documents
-
view
16 -
download
0
description
Transcript of CXF Pipeline
![Page 1: CXF Pipeline](https://reader035.fdocuments.in/reader035/viewer/2022072016/5681334e550346895d9a564d/html5/thumbnails/1.jpg)
CXF Pipeline
JMSAsyncHandler.doHandleResponse()
CXF Pipeline
MDBSenderConduit.onMessage()
JMSAsyncHandler.doYouKnowThisID()
CXFMessageDrivenEndpoint.onMessage()
CXF Pipeline
JMSBackConduit.post()
MDBSenderConduit.sendExchange()
JMSAsyncHandler.saveContext()
request
reply
Global schema with transaction
Dead Message Queue
Dead Message Queue
![Page 2: CXF Pipeline](https://reader035.fdocuments.in/reader035/viewer/2022072016/5681334e550346895d9a564d/html5/thumbnails/2.jpg)
CXF Pipeline
JMSAsyncHandler.doHandleResponse()
CXF Pipeline
MDBSenderConduit.onMessage()
JMSAsyncHandler.doYouKnowThisID()
CXFMessageDrivenEndpoint.onMessage()
CXF Pipeline
JMSBackConduit.post()
MDBSenderConduit.sendExchange()
JMSAsyncHandler.saveContext()
request
reply
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.
![Page 3: CXF Pipeline](https://reader035.fdocuments.in/reader035/viewer/2022072016/5681334e550346895d9a564d/html5/thumbnails/3.jpg)
CXF Pipeline
JMSAsyncHandler.doHandleResponse()
CXF Pipeline
MDBSenderConduit.onMessage()
JMSAsyncHandler.doYouKnowThisID()
CXFMessageDrivenEndpoint.onMessage()
CXF Pipeline
JMSBackConduit.post()
MDBSenderConduit.sendExchange()
JMSAsyncHandler.saveContext()
request
reply
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
x
![Page 4: CXF Pipeline](https://reader035.fdocuments.in/reader035/viewer/2022072016/5681334e550346895d9a564d/html5/thumbnails/4.jpg)
CXF Pipeline
JMSAsyncHandler.doHandleResponse()
CXF Pipeline
MDBSenderConduit.onMessage()
JMSAsyncHandler.doYouKnowThisID()
CXFMessageDrivenEndpoint.onMessage()
CXF Pipeline
JMSBackConduit.post()
MDBSenderConduit.sendExchange()
JMSAsyncHandler.saveContext()
request
reply
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
x POJO
Dead Message Queue
![Page 5: CXF Pipeline](https://reader035.fdocuments.in/reader035/viewer/2022072016/5681334e550346895d9a564d/html5/thumbnails/5.jpg)
CXF Pipeline
JMSAsyncHandler.doHandleResponse()
CXF Pipeline
MDBSenderConduit.onMessage()
JMSAsyncHandler.doYouKnowThisContext()
CXFMessageDrivenEndpoint.onMessage()
CXF Pipeline
JMSBackConduit.post()
MDBSenderConduit.sendExchange()
JMSAsyncHandler.saveContext()
request
reply
Dead Message Queue
Dead
Message
Queue
x 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