[
https://issues.apache.org/jira/browse/CXF-180?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12657006#action_12657006
]
Willem Jiang commented on CXF-180:
----------------------------------
Hi Ron,
The Artix C++ 5 and Aritx 4's JMS transport support are not leverage the Spring
JMS support, but current CXF JMS transport is based on Spring JMS support.
For the <jms:server transactional="true">, I think old JMS transport just set
the JMS session to be transacted, there are still lots of work need to do for
making the implementor involved the whole transaction.
If we just create the default connection factory and transaction manager for
the wsdl-based configuration, I don't think it is good solution here.
Willem
> JMS Transport support for transaction
> -------------------------------------
>
> Key: CXF-180
> URL: https://issues.apache.org/jira/browse/CXF-180
> Project: CXF
> Issue Type: New Feature
> Components: Transports
> Affects Versions: 2.1
> Reporter: Willem Jiang
> Assignee: Willem Jiang
> Fix For: 2.0.10, 2.1.4, 2.2
>
>
> Here are some points on the JMS Transport stuff:
> [ulhas]
> Currently JMS Session pool in Artix uses different Message Receiver
> acknowledgement mechanism than Celtix to provide Transaction support.
> (Celtix uses AUTO_ACKNOWLEDGEMENT) whereas Artix uses CLIENT_ACKNOWLEDGE
> for server side.
> [Willem]
> AUTO_ACKNOWLEDGMENT just make sure JMS broker client
> received the message, but not sure about the client had processed the message.
> If we want to support the Transaction in CXF, I think we need to change to
> CLIENT_ACKNOWLEDGE to make sure the message had been processed in
> message level.
> [ulhas]
> Second part of the transaction support is in current JMSServerTransport
> postDispatch code. This is the place where the server make sure that the
> message received can be processed and it is safe to send the
> Acknowledgement to JMS broker to remove the message from topic/queue and
> commit.
> [Willem]
> In current CXF JMS Transport implementation the transport just provide an
> channel
> to send and receive messages. All the message handling stuff need to play
> with the
> Stream. I think it is a good place in the OutputStream close method to send
> acknowledgment to JMS broker.
> So if we want to support local transaction in CXF JMS, we just need change
> the Session
> acknowledgment and the OutputStream close method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.