Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-1832

Third step of Refactoring JMS Transport

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.1.2
    • Fix Version/s: 2.0.9, 2.1.3
    • Component/s: Transports
    • Labels:
      None

      Description

      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

        Attachments

        1. client-applicationContext.xml
          4 kB
          Christian Schneider

          Issue Links

            Activity

              People

              • Assignee:
                cschneider Christian Schneider
                Reporter:
                cschneider Christian Schneider
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: