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.