cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christian Schneider (JIRA)" <>
Subject [jira] Commented: (CXF-1774) JMS Transport: Remove JNDI lookups for ConnectionFactory, targetDestination and replyDestination
Date Sat, 30 Aug 2008 10:09:44 GMT


Christian Schneider commented on CXF-1774:

What I don´t like about the current code is that for example he JMSConduit initializes its
own configs in the init method. I think this should be done via dependency injection. What
I would imagine is a JMSConduit and JMSDestination that does not actively load configurations
or do JNDI lookups. If we need these things inside the JMS transport code for WSDL support
and non Spring configs we should externalize it into a factory class. 

So I would for example only leave the resolved targetDestination and replyDestination inside
JMSConduit. Then these could be flexibly injected by different factory mechanismns. For example
the JMSTransportFactory could initialize the conduit based on URL parameters (like in Camel)
or via a Conduit configuration or from the WSDL.

I think the Spring config could also be improved. I don´t like that the Conduit is configured
separately from the Client or Endpoint. I would define things like the  ConnectionFactory
in the Client config element perhaps in a jms subelement. So it would be much easier for users
to understand how to do it.

> JMS Transport: Remove JNDI lookups for ConnectionFactory, targetDestination and replyDestination
> ------------------------------------------------------------------------------------------------
>                 Key: CXF-1774
>                 URL:
>             Project: CXF
>          Issue Type: Improvement
>          Components: Transports
>    Affects Versions: 2.1.2
>            Reporter: Christian Schneider
>             Fix For: 2.2
> Currently you have to configure all jms settings via JNDI. targetDestination is the only
config property that already can additionally be configured as a string.
> I think the JNDI stuff does not belong into the JMS transport. 
> ConnectionFactory should simply be configured as a refrence to a bean of type jms ConnectionFactory.
So the user of cxf is free to either setup the ConnectionFactory locally or look it up via
Spring´s great JNDI support.
> The same is true for targetDestination and replyDestination. They should simply be injected.
The JNDI logic should be deleted from JMS transport. Additionally it should be possible for
targetDestination and replyDestination to set them as simple strings as this is the most common
way they will be used by people. 
> Fixing this will make the JMS Transport code simpler and at the same time the CXF users
will get greater flexibility in the configuration.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message