10 Replies Latest reply on Aug 10, 2012 4:11 AM by lschoelens

    Unable to set JBoss 5.1.0-GA consuming IBM MQ in annotated MDB

    zecas

      Hi,

       

       

      I'm searching for some help on setting up JBoss to work out with a remote WebSphere MQ.

       

       

      I've read some info around, but still I'm missing something, and I have some specific needs that I must conform to.

       

       

      Versions:

      JBoss 5.1.0 GA

      Java JDK 1.6.0

      WebSphere MQ 7.0.1 (on remote machine, 192.168.1.30:1414)

       

       

      I've copied the "wmq.jmsra.rar" file into c:\...\jboss-5.1.0.GA\server\default\deploy folder. In that same location, I've created the file "wmq.jmsra-ds.xml", for the queue settings.

       

       

      File "wmq.jmsra-ds.xml" contents:

       

      <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      <connection-factories>
                <mbean code="org.jboss.resource.deployment.AdminObject" name="jboss.jca:service=WASDestination,name=TestQ">
                          <depends optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='wmq.jmsra.rar'</depends>
                          <attribute name="JNDIName">queue/TestQ</attribute>
                          <attribute name="Type">javax.jms.Queue</attribute>
                          <attribute name="Properties">
                                    baseQueueManagerName=QM_server01
                                    baseQueueName=TestQ
                          </attribute>
                </mbean>
                <tx-connection-factory>
                          <jndi-name>queue/TestQ</jndi-name>
                          <xa-transaction></xa-transaction>
                          <rar-name>wmq.jmsra.rar</rar-name>
                          <connection-definition>javax.jms.ConnectionFactory</connection-definition>
                          <config-property name="channel" type="java.lang.String">SYSTEM.DEF.SVRCONN</config-property>
                          <config-property name="hostName" type="java.lang.String">192.168.1.30</config-property>
                          <config-property name="port" type="java.lang.String">1414</config-property>
                          <config-property name="queueManager" type="java.lang.String">QM_server01</config-property>
                          <config-property name="transportType" type="java.lang.String">CLIENT</config-property>
                          <!--<max-pool-size>20</max-pool-size>-->
                </tx-connection-factory>
      </connection-factories>
      
      

       

      In WebSphere MQ server, I have the queue manager instance named "QM_server01" and I've created a queue "TestQ" with default values applied. It was a fresh MQ install, I've just entered "IBM MQ Explorer" and created the "TestQ" queue.

       

       

      Now from my project, I have the following Message Driven Bean:

       

       

      package com.queue;
      
      
      import javax.ejb.ActivationConfigProperty;
      import javax.ejb.MessageDriven;
      import javax.ejb.TransactionManagement;
      import javax.ejb.TransactionManagementType;
      import javax.jms.Message;
      import javax.jms.MessageListener;
      
      
      @MessageDriven(
                          activationConfig = {
                                              @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"),
                                              @ActivationConfigProperty(propertyName="destination", propertyValue="queue/TestQ")
                          })
      @TransactionManagement(TransactionManagementType.CONTAINER)
      public class TestMQ implements MessageListener {
      
      
                public void onMessage(Message message) {
                          System.out.println(message.toString());
                }
      
      
      }
      
      

       

      This class was working fine, when not using MQ, but just JBoss Messaging with the following definition file "MyQIn-service.xml":

       

      <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      <server>
          <mbean xmbean-dd="xmdesc/Queue-xmbean.xml" name="jboss.messaging.destination:service=Queue,name=MyQIncoming" code="org.jboss.jms.server.destination.QueueService">
              <attribute name="JNDIName">queue/TestQ</attribute>
              <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
              <depends>jboss.messaging:service=PostOffice</depends>
          </mbean>
      </server>
      
      

       

      Now when moving to MQ, replacing "MyQIn-service.xml" for "wmq.jmsra-ds.xml" it doesn't work anymore, throwing the following exception during server startup:

       

      2011-07-25 14:52:13,313 INFO  [org.jboss.ejb3.EJBContainer] (main) STARTED EJB: com.queue.TestMQ ejbName: TestMQ
      2011-07-25 14:52:13,532 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/mq-web
      2011-07-25 14:52:13,954 INFO  [org.apache.coyote.http11.Http11Protocol] (main) Starting Coyote HTTP/1.1 on http-127.0.0.1-8080
      2011-07-25 14:52:13,969 INFO  [org.apache.coyote.ajp.AjpProtocol] (main) Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
      2011-07-25 14:52:13,969 INFO  [org.jboss.bootstrap.microcontainer.ServerImpl] (main) JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 30s:937ms
      2011-07-25 14:52:14,063 WARN  [org.jboss.resource.adapter.jms.inflow.JmsActivation] (WorkManager(2)-4) Failure in jms activation org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@10fab68(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@1157757 destination=queue/TestQ destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true DLQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)
      java.lang.ClassCastException: com.ibm.mq.jms.MQQueue cannot be cast to org.jboss.jms.destination.JBossDestination
                at org.jboss.jms.client.container.SessionAspect.handleCreateConnectionConsumer(SessionAspect.java:766)
                at org.jboss.aop.advice.org.jboss.jms.client.container.SessionAspect_z_handleCreateConnectionConsumer_14919969.invoke(SessionAspect_z_handleCreateConnectionConsumer_14919969.java)
                at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
                at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
                at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
                at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
                at org.jboss.jms.client.delegate.ClientConnectionDelegate.createConnectionConsumer(ClientConnectionDelegate.java)
                at org.jboss.jms.client.JBossConnection.createConnectionConsumer(JBossConnection.java:140)
                at org.jboss.resource.adapter.jms.inflow.JmsServerSessionPool.setupConsumer(JmsServerSessionPool.java:289)
                at org.jboss.resource.adapter.jms.inflow.JmsServerSessionPool.start(JmsServerSessionPool.java:89)
                at org.jboss.resource.adapter.jms.inflow.JmsActivation.setupSessionPool(JmsActivation.java:656)
                at org.jboss.resource.adapter.jms.inflow.JmsActivation.setup(JmsActivation.java:359)
                at org.jboss.resource.adapter.jms.inflow.JmsActivation$SetupActivation.run(JmsActivation.java:729)
                at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:205)
                at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
                at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
                at java.lang.Thread.run(Thread.java:619)
      
      

       

      I've searched around a bit, and found some people with similar problem, and the solution seems to be a bit complicated for my setup, because it appears that some JBoss specific classes/configurations to be used.

       

       

      The main problem is that we have 2 different application servers, "JBoss 5.1.0GA" and "WebSphere AS 7.5", and the code must execute correctly in both environments. We start implementing this solution in JMS, because it would feel like a safer way not to be dependent on a specific application server.

       

       

      At first glance, it appears the ClassCastException should be a problem in JBoss code? Or most probably there is something else in my config settings.

       

       

      So can anyone please point me what I'm missing? Or what should I be looking for?

       

       

      I was thinking about using "destination" property in MDB for a JNDI search and, in the config file "wmq.jmsra-ds.xml" (to be more exact), I would config all settings to connect to the MQ machine and the existing queue name.

       

      Some examples contain "@ResourceAdapter(value = "wmq.jmsra.rar")" annotation on the MDB, that should be available in "...\jboss-5.1.0.GA\common\lib\jboss-ejb3-ext-api.jar", still it fells that I'll have to change code if I wanna deploy to the other environment, WebSphere. And I need it to run on both environments.

       

      I've already invested some time with this situation, and I'm starting to feel the time pressure to solve this situation, so ANY help would be very welcome.

       

       

      Thank You.

        • 1. Re: Unable to set JBoss 5.1.0-GA consuming IBM MQ in annotated MDB
          zecas

          I gave another attempt, adding the annotation

           

          @ResourceAdapter("wmq.jmsra.rar")
          

           

          to the MDB, and the result was diferent:

           

          2011-07-27 18:05:30,939 INFO [org.jboss.ejb3.EJBContainer] (main) STARTED EJB: com.queue.TestMQ ejbName: TestMQ
          2011-07-27 18:05:30,985 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (main) Error installing to Start: name=jboss.j2ee:ear=mq-1.0.0.ear,jar=mq-ejb-1.0.0.jar,name=TestMQ,service=EJB3 state=Create
          org.jboss.deployers.spi.DeploymentException: Endpoint activation failed ra=jboss.jca:service=RARDeployment,name='wmq.jmsra.rar' activationSpec=javax.jms.Queue:queue/TestQ@@localhost <2372147>
           at org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49)
           at org.jboss.ejb3.mdb.inflow.JBossMessageEndpointFactory.activate(JBossMessageEndpointFactory.java:346)
           at org.jboss.ejb3.mdb.inflow.JBossMessageEndpointFactory.start(JBossMessageEndpointFactory.java:212)
           ...
          Caused by: com.ibm.mq.connector.DetailedResourceException: MQJCA1004: Distributed transactions are unavailable., error code: MQJCA1004 An attempt was made to use distributed transactions in an environment where they are not available. Make sure that the WebSphere MQ extended transactional client is installed if required, or use a bindings connection.
           at com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:124)
           ... 64 more
          
          

           

          Fine, this problem is known, I then added the annotation

           

          @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
          

           

          to the MDB, and the result was again, diferent:

           

          2011-07-27 18:36:07,459 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (main) Error installing to Start: name=jboss.j2ee:ear=mq-1.0.0.ear,jar=mq-ejb-1.0.0.jar,name=TestMQ,service=EJB3 state=Create
          org.jboss.deployers.spi.DeploymentException: Endpoint activation failed ra=jboss.jca:service=RARDeployment,name='wmq.jmsra.rar' activationSpec=javax.jms.Queue:queue/TestQ@@localhost <3042451>
           at org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49)
           at org.jboss.ejb3.mdb.inflow.JBossMessageEndpointFactory.activate(JBossMessageEndpointFactory.java:346)
           ...
          Caused by: javax.resource.spi.ResourceAdapterInternalException: com.ibm.msg.client.jms.DetailedIllegalStateException: JMSWMQ0018: Failed to connect to queue manager '' with connection mode 'Client' and host name 'localhost'. Check the queue manager is started and if running in client mode, check there is a listener running. Please see the linked exception for more information.
           at com.ibm.mq.connector.ResourceAdapterConnectionPool.createNewPoolEntry(ResourceAdapterConnectionPool.java:483)
           at com.ibm.mq.connector.ResourceAdapterConnectionPool.allocateConnection(ResourceAdapterConnectionPool.java:302)
           ...
          Caused by: com.ibm.msg.client.jms.DetailedIllegalStateException: JMSWMQ0018: Failed to connect to queue manager '' with connection mode 'Client' and host name 'localhost'. Check the queue manager is started and if running in client mode, check there is a listener running. Please see the linked exception for more information.
           at com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:496)
           at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:236)
           at com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:421)
           ...
          Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2059' ('MQRC_Q_MGR_NOT_AVAILABLE').
           at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:223)
           ...
          Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2059;AMQ9204: Connection to host 'localhost(1414)' rejected. [1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2059;AMQ9213: Comunication error at . [1=java.net.ConnectException[Connection refused: connect],3=localhost]],3=localhost(1414),5=RemoteTCPConnection.connnectUsingLocalAddress]
           at com.ibm.mq.jmqi.remote.internal.RemoteFAP.jmqiConnect(RemoteFAP.java:1809)
           at com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:336)
           ...
          Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2059;AMQ9213: Comunication error at . [1=java.net.ConnectException[Connection refused: connect],3=localhost]
           at com.ibm.mq.jmqi.remote.internal.RemoteTCPConnection.connnectUsingLocalAddress(RemoteTCPConnection.java:607)
           at com.ibm.mq.jmqi.remote.internal.RemoteTCPConnection.protocolConnect(RemoteTCPConnection.java:935)
           ...
          Caused by: java.net.ConnectException: Connection refused: connect
           at java.net.PlainSocketImpl.socketConnect(Native Method)
           at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
           ...
          
          

           

          (Some messages, for example "Comunication error at" were given in my language, I translated to english, but all codes were left untouched)

           

          With the added annotations, my MDB now looks like:

           

          package com.queue;
           
           
          import javax.ejb.ActivationConfigProperty;
          import javax.ejb.MessageDriven;
          import javax.ejb.TransactionManagement;
          import javax.ejb.TransactionManagementType;
          import javax.jms.Message;
          import javax.jms.MessageListener;
           
           
          @MessageDriven(
                              activationConfig = {
                                                  @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"),
                                                  @ActivationConfigProperty(propertyName="destination", propertyValue="queue/TestQ")
                              })
          @ResourceAdapter("wmq.jmsra.rar")
          
          @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
          public class TestMQ implements MessageListener {
           
           
                    public void onMessage(Message message) {
                              System.out.println(message.toString());
                    }
           
           
          }
          
          

           

          It seems I'm almost there, just need the JBoss to connect to IP and PORT specified, and not the "localhost". Also I would prefer to just connect using JNDI, and leave everything JBoss related out of the project, as that part would be specific to JBoss configuration, and would be diferent for every application server the client would choose to install on, and not something I need to change in the project code.


           

          So I'm stuck here! Starting try-and-fail technique will be a hard work without some light from the community.

           

          Any ideas?

           

           

          Thanks

          • 2. Re: Unable to set JBoss 5.1.0-GA consuming IBM MQ in annotated MDB
            zecas

            Finally I see some light!

             

            I've changed my MDB to:

             

            package com.queue;
            
            import javax.ejb.ActivationConfigProperty;
            import javax.ejb.MessageDriven;
            import javax.ejb.TransactionAttribute;
            import javax.ejb.TransactionAttributeType;
            import javax.ejb.TransactionManagement;
            import javax.ejb.TransactionManagementType;
            import javax.jms.Message;
            import javax.jms.MessageListener;
            import javax.jms.TextMessage;
            
            import org.jboss.ejb3.annotation.ResourceAdapter;
            
            @MessageDriven(
                    activationConfig = {
                            @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"),
                            @ActivationConfigProperty(propertyName="destination", propertyValue="queue/TestQ"),
                            @ActivationConfigProperty(propertyName="useJNDI", propertyValue="true"),
                            @ActivationConfigProperty(propertyName="hostName", propertyValue="172.21.129.201"),
                            @ActivationConfigProperty(propertyName="port", propertyValue="1414"),
                            @ActivationConfigProperty(propertyName="queueManager", propertyValue="QM_gestaosw_dds02")
                    })
            @ResourceAdapter("wmq.jmsra.rar")
            @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
            public class TestMQ implements MessageListener {
            
                public void onMessage(Message message) {
                    System.out.println(message.toString());
                }
            
            }
            

             

            And now I successfully receive any messages that are inserted into the MQ.

             

            But I'm now trying to figure out a way of not having this IP, PORT, MQManager info hard coded.

             

            I'm interested in creating a project that does not depend on MQ, nor JBoss.

             

            About JBoss, I'm worried about the "@ResourceAdapter" annotation, that makes an unwanted dependency for the project.

             

            The other info (IP, PORT, etc) gives me a hardcoded metadata that I must change if I need to rebuild if I need to change MQ endpoint, for example if I want to move from Development to Test and latter to a Production environment, I need to rebuild it, and so ending with a diferent EAR for each environment. I was hoping that JMS would use JNDI to get the information from server definitions.

             

            Any way to resolve these issues?

             

            Thanks.

            • 3. Re: Unable to set JBoss 5.1.0-GA consuming IBM MQ in annotated MDB
              bensonfungjava

              Hi,

               

              Would you tell me how you can make it work in terms of the setup procedure?  I always got tthe 2035 error.  And complained that the username and password are not valid.

               

              Please help

               

              Thanks

              • 4. Re: Unable to set JBoss 5.1.0-GA consuming IBM MQ in annotated MDB
                dgrove_redhat.com

                You can externalize your configuration using JBoss AOP.  So, as you have seen, a basic WebSphere MQ MDB looks like:

                 

                @MessageDriven(name="WebSphereMDB", activationConfig =

                {

                          @ActivationConfigProperty(propertyName = "messagingType", propertyValue="javax.jms.MessageListener"),

                          @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),

                          @ActivationConfigProperty(propertyName = "destination", propertyValue = "GSS.SSL.QUEUE")

                })

                @ResourceAdapter(value = "wmq.jmsra.rar")

                @AspectDomain("IBMMQ Message Driven Bean")

                @Pool(value=PoolDefaults.POOL_IMPLEMENTATION_STRICTMAX, maxSize=30, timeout=1800000)

                @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)

                public class WebSphereMDB implements MessageListener {

                 

                          @Resource

                          MessageDrivenContext sessionContext;

                 

                           /* (non-Javadoc)

                           * @see javax.jms.MessageListener#onMessage(javax.jms.Message)

                           */

                          public void onMessage(Message message) {

                                    try {

                                              logger.debug("Received message: " + message.getJMSMessageID() + " : " + ((TextMessage)message).getText());

                                    } catch (JMSException e) {

                                              logger.error(e.getMessage());

                                    }

                          }

                }

                 

                Note the use of the AspectDomain.  The domain can be configured by placing a *-aop.xml file (my-mq-mdb-aop.xml) in the deploy/messging directory.  Sample contents:

                 

                <?xml version="1.0" encoding="UTF-8"?>

                <aop xmlns="urn:jboss:aop-beans:1.0">

                   <!-- TODO: Jaikiran - These interceptor declarations need not be here since they

                   are already declared through the ejb3-interceptors-aop.xml. Duplicating them leads to

                   deployment errors. However, if this custom-ejb3-interceptors-aop.xml needs to be

                   independent, then we must find a better way of declaring these. Right now, commenting these

                   out, can be looked at later. -->

                   <!--   

                   <interceptor class="org.jboss.ejb3.AllowedOperationsInterceptor" scope="PER_VM"/>

                   <interceptor class="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor" scope="PER_VM"/>

                   <interceptor factory="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory" scope="PER_CLASS"/>

                   <interceptor class="org.jboss.ejb3.stateless.StatelessInstanceInterceptor" scope="PER_VM"/>

                 

                 

                   <interceptor factory="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory" scope="PER_CLASS_JOINPOINT"/>

                   <interceptor factory="org.jboss.aspects.tx.TxInterceptorFactory" scope="PER_CLASS_JOINPOINT"/>

                   -->

                   <domain name="IBMMQ Message Driven Bean" extends="Message Driven Bean" inheritBindings="true">

                      <annotation expr="!class(@org.jboss.ejb3.annotation.DefaultActivationSpecs)">

                         @org.jboss.ejb3.annotation.DefaultActivationSpecs (value={@javax.ejb.ActivationConfigProperty(propertyName = "channel", propertyValue = "SSL.CLIENTS"), @javax.ejb.ActivationConfigProperty(propertyName = "queueManager", propertyValue = "SSLQM"), @javax.ejb.ActivationConfigProperty(propertyName = "hostName", propertyValue = "10.0.0.124"), @javax.ejb.ActivationConfigProperty(propertyName = "port", propertyValue = "1415"), @javax.ejb.ActivationConfigProperty(propertyName = "transportType", propertyValue = "CLIENT"), @javax.ejb.ActivationConfigProperty(propertyName = "sslCipherSuite", propertyValue = "SSL_RSA_WITH_3DES_EDE_CBC_SHA")})

                      </annotation>

                   </domain>

                </aop>

                 

                 

                This will allow you to externalise your MDB configuration.

                • 5. Re: Unable to set JBoss 5.1.0-GA consuming IBM MQ in annotated MDB
                  onzyone

                  Great thanks Doug, please can you share your imports for your WebSphereMDB class??

                   


                  • 6. Re: Unable to set JBoss 5.1.0-GA consuming IBM MQ in annotated MDB
                    dgrove_redhat.com

                    FWIW:

                     

                    import javax.annotation.PostConstruct;

                    import javax.annotation.PreDestroy;

                    import javax.annotation.Resource;

                    import javax.ejb.ActivationConfigProperty;

                    import javax.ejb.CreateException;

                    import javax.ejb.EJBException;

                    import javax.ejb.MessageDriven;

                    import javax.ejb.MessageDrivenContext;

                    import javax.ejb.TransactionAttribute;

                    import javax.ejb.TransactionAttributeType;

                    import javax.jms.JMSException;

                    import javax.jms.Message;

                    import javax.jms.MessageListener;

                    import javax.jms.TextMessage;

                     

                    import org.apache.commons.logging.Log;

                    import org.apache.commons.logging.LogFactory;

                    import org.jboss.ejb3.annotation.AspectDomain;

                    import org.jboss.ejb3.annotation.Pool;

                    import org.jboss.ejb3.annotation.ResourceAdapter;

                    import org.jboss.ejb3.annotation.defaults.PoolDefaults;

                     

                    The JBoss annotations can be found in jboss-ejb3-ext-api-1.0.0.jar or jboss-ejb3-ext-api.jar.

                    • 7. Re: Unable to set JBoss 5.1.0-GA consuming IBM MQ in annotated MDB
                      onzyone

                      Hello Doug,

                       

                      I am likely doing something wrong, but I can't seem to get the aop to run. 

                       

                      I have a standard version of jboss5.1.0.ga and when I pop (even the wmq-ssl-aop.xml you provided) file into deploy/messging nothing shows up in the jboss logs.

                       

                      I have also tried to build it into my project via

                          - META-INF

                              - jboss-aop.xml

                      This time it fails

                       

                      {code}

                      state=ClassLoader mode=Manual requiredState=PostClassLoader

                      org.jboss.deployers.spi.DeploymentException: org.jboss.deployers.spi.DeploymentException: Error deploying: IBMMQ Message Driven Bean

                      {code}

                       

                      Is there a "hello" world aop app zipped up some place that I can push into my jboss evn to make sure that it is working?

                       

                      Thanks in advance

                      • 8. Re: Unable to set JBoss 5.1.0-GA consuming IBM MQ in annotated MDB
                        randz

                        zecas zecas wrote:

                         

                        
                                activationConfig = {
                                        @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"),
                                        @ActivationConfigProperty(propertyName="destination", propertyValue="queue/TestQ"),
                                        @ActivationConfigProperty(propertyName="useJNDI", propertyValue="true"),
                                        @ActivationConfigProperty(propertyName="hostName", propertyValue="172.21.129.201"),
                                        @ActivationConfigProperty(propertyName="port", propertyValue="1414"),
                                        @ActivationConfigProperty(propertyName="queueManager", propertyValue="QM_gestaosw_dds02")
                                })
                        

                         

                        Hi zecas,

                         

                        I m using EJB 2 so i couldnt put "port" and "hostName" in jboss.xml. I m using jboss 5 and also i couldnt find any clue in jboss_5_0.xsd.

                        Could you share your jboss.xml at this point?

                        • 9. Re: Unable to set JBoss 5.1.0-GA consuming IBM MQ in annotated MDB
                          randz

                          Ok.. at last i succesfully received a MQ message with JBOSS. i had to use jboss 5 / EJB 2 (although this is much easier with EJB 3).

                          I must say that these posts (specially  from Zecas) helped me a lot.

                          Thanks guys..

                          • 10. Re: Unable to set JBoss 5.1.0-GA consuming IBM MQ in annotated MDB
                            lschoelens

                            Hello randz.

                             

                            I'm in the same situation as you (EJB 2 MDB deployement in Jboss 5 and WMQ).


                            How did you succeed your deployment ?

                             

                            Thanks in advance.