cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Willem Jiang <>
Subject Re: How to generate the CorrelationID in the client in jms transport?
Date Sat, 25 Jul 2009 07:28:24 GMT

You can choice what you want to generate the correlationID, and you
just need to make sure the CorrelationID is unique.

In you proposal, you give the user a choice to set the correlationID
from the JMSMessageHeader which he set, it's OK for me.
For the useConduitIdSelector, it's just for the client side to choice if
it uses the MessageID pattern or CorrelationID pattern.

There is not a clear definition on the server side, such as if server
side is set to use MessageID pattern , it will ignore the
CorrelationID which is already set on the request JMS message header to
generation the response message CorrelationID.
So I think we need add this server side definition as while.

BTW,  we need to add some documents for use about it CorrelationID
generation rule on the wiki to make sure every body
knows what is going on there :)

Any other thoughts?


liucong wrote:
> Hi,
> I'm very confused with the CorrelationID which is generated by the
> jms-transport.
> The configuration piece as follows:
> <service name="HelloWorldServiceRuntimeCorrelationIDStaticPrefix">
> <port binding="tns:HelloWorldPortBinding"
> name="HelloWorldPortRuntimeCorrelationIDStaticPrefixEng">
> <jms:clientConfig conduitSelectorPrefix="com.mycompany.eng:"
> useConduitIdSelector="true"/>
> <jms:server messageSelector="JMSCorrelationID LIKE 'com.mycompany.eng:%'"/>
> <jms:address
> ...
> </jms:address>
> </port>
> </service>
> I think the rules generating the CorrelationID should be as follows:
> userCID -> userCID
> userCID + conduitSelectorPrefix -> userCID
> userCID + conduitSelectorPrefix + useConduitIdSelector(true) -> userCID
> userCID + conduitSelectorPrefix + useConduitIdSelector(false) -> userCID
> conduitSelectorPrefix + useConduitIdSelector(true) ->
> conduitSelectorPrefix + conduitId + index
> conduitSelectorPrefix + useConduitIdSelector(false) ->
> conduitSelectorPrefix + index
> useConduitIdSelector(true) -> conduitId + index
> useConduitIdSelector(false) -> the request message's messageID
> ->'s left side is the condition.
> ->'s right side is rule for generation of CorrelationID.
> userCID means that the client gives a CorrelationID.
> conduitSelectorPrefix means that the client configures in the wsdl.
> useConduitIdSelector means that the client configures in the wsdl.
> conduitId means that the string generated by the jms-tranport's JMSConduit.
> index is a autoincreasing number which indicates the uniqueness of the
> CorrelationID.
> Is it right?
> I want to use this rules for the generation of CorrelationID.
> best regards

View raw message