Third step of Refactoring JMS Transport
---------------------------------------
Key: CXF-1832
URL: https://issues.apache.org/jira/browse/CXF-1832
Project: CXF
Issue Type: Improvement
Components: Transports
Affects Versions: 2.1.2
Reporter: Christian Schneider
Fix For: 2.1.3
I have completed the third step in the refactoring. This I have done the
following things:
- Rewritten JMSConfiguration. Removed JmsTemplate and MesssageListener. Added
their config settings instead. I did this because I want the config to be
reuseable over several services
- Made JMSConduit asynchronous. Instead of doing a receive on the JmsTemplate I
open one Spring DefaultMessageListenerContainer that waits for all replies. The
sending threads then waits for the listener to receive the message. the
communication happens over a synchronized map
- Rewrite of JMSDestination to use JmsTemplate and DefaultMessageLIstener
- First start of transactions. Support sessionTransacted and transactionManager
- Removed JMSListenerThread, SessionFactory and PooledSession
- Added documentation to most classes and methods
Some things are not finished:
- QoS settings do not work completely. I have implemented Qos that can be
statically set using the config. Do we need different QoS settings per message?
- QoS on the server is not thread safe. JmsTemplate does not support setting
QoS when sending the message. You have to set things like priority in the
properties. I think this should be improved in JmsTemplate
- Several settings will probably not yet work
- I have added TODO tasks to the code where I think some more work has to be
done
- Transactions will probably not yet work as we need to throw an exception when
something happens. I guess when an exception occurs in the server code of the
service we will not throw it up till the listener. Any ideas how to achieve
this?
I will try to do my first commit with my new account for this one
Please feel free to give some feedback about the changes
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.