[ 
https://issues.apache.org/jira/browse/CXF-1832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12637668#action_12637668
 ] 

Christian Schneider commented on CXF-1832:
------------------------------------------

Hi Freeman,

currently the ClientImpl calls chain.doIntercept(message)  it then expects an 
in message when the chain returns. So I have to make sure it returns one. I do 
not know what needs to be done to make this truly asynchronous.

For the transport code it would be nice if a Conduit would consist of an out 
Channel and an in Channel. Where the out channel simply sends messages out and 
the in channel would simply feed the received message into a chain. The 
correlation should be done in the CXF core code. The problem is that I do not 
know what needs to be done to implement such an architecture and I do not know 
either if the other developers would agree with my viewpoint. Perhaps we should 
start a discussion about this.

Greetings

Christian


> 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
>            Assignee: Christian Schneider
>             Fix For: 2.1.3
>
>         Attachments: client-applicationContext.xml
>
>
> 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.

Reply via email to