Also, as we all know, the old JMSContainerInvoker allowed for creating destinations when a listener was being deployed without one. EJB3 carries this tradition over for EJB3, but for EJB 2.x the JMS/JCA adapter will not.
Its turned off by default in JBoss5 since it is JBossMQ specific.
There is a feature request somewhere to allow JCA admin objects
to be defined in jboss.xml which would replace this bad feature with
something more portable.
Technically, it would be nice to eliminate the JMSProviderAdapter all together and just extend the JmsActivationSpec to include the necessary information to acquire the connection factory, destination etc. This would eliminate another semi non-portable mechanism.
Again, this doesn't solve the auto create destination thing (which again, I think is just a bad idea to begin with), but it would go a long way to making the JMS/JCA adapter more relevant in other environments.
Yes, the modern approach should be to bind connection factories into jndi
as admin objects. You could then just reference the jndi name from
the activation config.
The JCA/JMS adatper is *ready* to move from the experimental stage at this point. I wanted this for 4.2. The only real issue at this point is the lack of a management API for the JCA/JMS adapter. It would be easy to dummy something up in the manner of the JMSContainerInvoker allowing for JMX management that simply delegates to the underlying JMSActivation. The only problem I see with this is how to uniquely identify a listener deployment. Current the JMSContainerInvoker uses the listener/jndi name combination. Obviously we don't have this with the adapter and I am not all that sure that this is the right approach. Of course the JBossMessageEndpointFactory could pass this info along in the ActivationSpec, but something just seems wrong with this.
Adding fuel to the fire is that there are two JBossMessageEndpointFactories: one for EJB3 and one for EJB2(X) deployments. We should probably combine these two and go with one approach. This is independent of the above issue.