I am working on a versioning strategy for our SOAP services. After looking at 
various approaches, I decided to use multiplex endpoints similar to the 
MediatorInInterceptor in the versioning systest. My only concern was that I saw 
where this isn't a "normal usecase". I guess I'm not normal, so I went ahead 
and started hacking away.

I have this working fine for HTTP requests. Unfortunately, this does not work 
for JMS requests due to the way endpoints are created in the getDestination 
method of JMSTransportFactory. The HTTPTransportFactory maintains a registry of 
destinations based on the endpoint address. If I have multiplex enabled 
endpoints using the same address it does not create a new destination. When 
using a JMS endpoint, the transport factory always creates a new destination 
when the getDestination method is called. I was able to work around this by 
creating a custom transport that mirrors the functionality of the 
JMSTransportFactory. The only difference is that it maintains a map of 
destinations similar to the HTTPTransportFactory. Using this approach I am able 
to get multiplexed JMS endpoints working as well.

Does anyone see any issues with this approach? Would this be a useful 
enhancement to the JMSTransportFactory?

Thanks!

Reply via email to