I'd like to summarize the problems.
1. It looks like instead of mbeans in JBOSS 6 to define Queues we should use admin-objects in JBOSS 7 in the following way:
<admin-object class-name="com.ibm.mq.connector.outbound.MQQueueProxy" jndi-name="java:jboss/TEST.PETER2" pool-name="SOME_UNIQUE_POOLNAME_HERE">
2. In Jboss 6 it was possible to configure MDBs with annotations, using JNDI admin Objects (mbeans) in *-ds.xml file. Additionally, to avoid hardcoded server config parameters, it was possible to use "AspectDomain" option, to inject necessary properties into MDB using Interceptors. At the moment I did not find any information about how to configure such an "AspectDomains" under JBOSS 7/7.1
Jesper, can you give me any hint in this direction.
Good summary Mattae Ts. You're running into the same question I am.
Actually I've successfully configured WebsphereMQ with JBOSS 7.1, it works. The whole configuration goes in standalone.xml file and annotations inside MDB.
Should I write an artice about it, gathering all the information from this thread together?
P.S. with AspectDomain looks like it will not work in Jboss 7 as it does not support AOP, so we have to use annotations or find a possibility to configure the MDBs inside a deployment descriptor, otherwise every MDB contains MQ connection parameters.
That would be great, Matteo
"The whole configuration goes in standalone.xml file and annotations inside MDB."
Did you actually manage to avoid having all the MQ connection parameters as annotations, and instead refer to standalone.xml in some way? Would you mind listing the MDB annotations you used, if that's the case?
To my knowledge, there is no way to force the MDB to use activation configuration parameters which are somehow populated from standalone.xml. Remember, the MDB uses the IBM WebSphereMQ JCA RA which knows nothing about JBoss AS implementation details. It simply uses JCA, and the only standard ways to set activation configuration properties for an MDB are with annotations or ejb-jar.xml.
There has historically been confusion about why this is the case when you can still set up connections in the configuration files (e.g. standalone.xml for AS7, wsmq-ds.xml for AS4/5/6, etc.). To be clear, the connection factories set up in the configuration files are outflow and the MDB uses inflow. The two are separate on purpose.
Do you know of an example where the configuration is done in the ejb-jar.xml? At least for the hostname of the message broker and the queue (or topic) name which are really deployment time decisions and does not belong in annotations because the same software artifact have to be deployable into multiple environments (people do run a QA environment that is separate from Production!) If this level of integration is not possible, then it is not ready for prime time. I hope somebody from Red Hat (especially those working on their EAP) pays some attention to verifying and documenting this use case.
Like I said in my previous post anything that you configure via annotations is possible to be configured via ejb-jar.xml. The ejb-jar xsd is here http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd. Look for the message-driven-bean element and the nested elements it supports.
Did you document this? That would be great if we had some documentation on this!