7 Replies Latest reply on Dec 1, 2017 12:44 AM by jbertram

    eap 7 MDB error upon startup

    swarsa

      After implementing a working QueueConnectionFactory and Queue in a resource adapter, I'm now trying to get my MDB working to listen for asynchronous messages on a Topic.  I have this working in WebSphere, this is just porting over to JBoss EAP7.  I have an MDB class created by the wizard in JBoss Developer studio with the following annotations:

       

      @MessageDriven(

        activationConfig = {

        @ActivationConfigProperty(propertyName = "destination", propertyValue = "java:/jms/XxxxxxxTopic"),

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

        @ActivationConfigProperty(propertyName = "clientID", propertyValue = "XXXXXXXXX"),

        @ActivationConfigProperty(propertyName = "subscriptionDurability", propertyValue = "Durable"),

        @ActivationConfigProperty(propertyName = "messageSelector", propertyValue = "responderProcessId = 'XXXX'")

        },

        mappedName = "XxxxxxxTopic"

      )

      @TransactionManagement(TransactionManagementType.BEAN)

      public class XXXXXXXXXXXXX implements MessageListener {

       

      Then I have the following resource adapter configuration in the standalone.xml:

       

              <subsystem xmlns="urn:jboss:domain:resource-adapters:4.0">

                  <resource-adapters>

                      <resource-adapter id="webmjmsrarar">

                          <module slot="main" id="com.softwareag.webMethods.broker"/>

                          <config-property name="JndiProperties">

                              java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory,java.naming.provider.url=ldap://xxxxxxxxxxxxxxx:nnn

                          </config-property>

                          <connection-definitions>

                              <connection-definition class-name="com.sun.genericra.outbound.ManagedTopicConnectionFactory" jndi-name="java:/XXXXXXXX" pool-name="XXXXXXXXXXX">

                                  <config-property name="ProviderIntegrationMode">

                                      jndi

                                  </config-property>

                                  <config-property name="ConnectionFactoryJndiName">

                                      cn=XXXXXXXXXXXXXXou=xxxxxxx,ou=xxxxxxxx,ou=xxxxx,dc=xxxxx,dc=xxx

                                  </config-property>

                                  <config-property name="UserName">

                                      cn=xxxxxx,ou=xxxxxxx,ou=xxxxxx,dc=xxxxxx,dc=xxxx

                                  </config-property>

                                  <config-property name="JndiProperties">

                                      java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory,java.naming.provider.url=ldap://xxxxxxxxxxxxxxxxxx:nnn

                                  </config-property>

                                  <config-property name="Password">

                                      xxxxxxxxxxx

                                  </config-property>

                                  <pool>

                                      <initial-pool-size>0</initial-pool-size>

                                  </pool>

                              </connection-definition>

                              <connection-definition class-name="com.sun.genericra.outbound.ManagedQueueConnectionFactory" jndi-name="java:/.....

                                  ......

                              </connection-definition>

                          </connection-definitions>

                          <admin-objects>

                              <admin-object class-name="com.sun.genericra.outbound.QueueProxy" jndi-name="java:/jms/.............

                                 .............

                              </admin-object>

                             <admin-object class-name="com.sun.genericra.outbound.TopicProxy" jndi-name="java:/jms/XXXXXXXXXXXXXXTopic" use-java-context="true" pool-name="XXXXXXXXXXXXXXTopic">

                                  <config-property name="DestinationJndiName">

                                      cn=XXXXXXXXXXXXXXTopic,ou=xxxxxxxx,ou=xxxxxxxxxxx,ou=xxxxxxx,dc=xxxxxxxx,dc=xxxx

                                  </config-property>

                              </admin-object>

                          </admin-objects>

                      </resource-adapter>

                  </resource-adapters>

              </subsystem>

              <subsystem xmlns="urn:jboss:domain:ejb3:4.0">

                  <session-bean>

                      <stateless>

                          <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>

                      </stateless>

                      <stateful default-access-timeout="5000" cache-ref="simple" passivation-disabled-cache-ref="simple"/>

                      <singleton default-access-timeout="5000"/>

                  </session-bean>

                  <mdb>

                      <resource-adapter-ref resource-adapter-name="webmjmsrarar"/>

                      <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>

                  </mdb>

                  <pools>

                      <bean-instance-pools>

                          <strict-max-pool name="slsb-strict-max-pool" derive-size="from-worker-pools" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>

                          <strict-max-pool name="mdb-strict-max-pool" derive-size="from-cpu-count" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>

                      </bean-instance-pools>

                  </pools>

                  <caches>

                      <cache name="simple"/>

                      <cache name="distributable" passivation-store-ref="infinispan" aliases="passivating clustered"/>

                  </caches>

                  <passivation-stores>

                      <passivation-store name="infinispan" cache-container="ejb" max-size="10000"/>

                  </passivation-stores>

                  <async thread-pool-name="default"/>

                  <timer-service thread-pool-name="default" default-data-store="default-file-store">

                      <data-stores>

                          <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>

                      </data-stores>

                  </timer-service>

                  <remote connector-ref="http-remoting-connector" thread-pool-name="default"/>

                  <thread-pools>

                      <thread-pool name="default">

                          <max-threads count="10"/>

                          <keepalive-time time="100" unit="milliseconds"/>

                      </thread-pool>

                  </thread-pools>

                  <default-security-domain value="other"/>

                  <default-missing-method-permissions-deny-access value="true"/>

                  <log-system-exceptions value="true"/>

              </subsystem>

       

      Then, additionally, I have the following jboss-ejb3.xml:

       

      <jboss xmlns="http://www.jboss.com/xml/ns/javaee" xmlns:jee="http://java.sun.com/xml/ns/javaee"

        xmlns:mdb="urn:resource-adapter-binding">

        <jee:assembly-descriptor>

        <mdb:resource-adapter-binding>

        <jee:ejb-name>xxxxxxxxxxxx</jee:ejb-name>

        <mdb:resource-adapter-name>webmjmsrarar</mdb:resource-adapter-name>

        </mdb:resource-adapter-binding>

        </jee:assembly-descriptor>

      </jboss>

       

      With all this configuration, I'm getting the following errors upon server startup:

       

      14:22:41,042 WARN  [org.jboss.as.ejb3] (MSC service thread 1-7) WFLYEJB0006: ActivationConfigProperty destination will be ignored since it is not allowed by resource adapter: webmjmsrarar

      14:22:41,062 INFO  [org.jboss.as.ejb3] (MSC service thread 1-7) WFLYEJB0042: Started message driven bean 'XXXXXXXXXX' with 'webmjmsrarar' resource adapter

      2017-02-17 14:52:08,247 FINE  [com.sun.genericjmsra] (ServerService Thread Pool -- 58) com.sun.genericra.inbound.ActivationSpec@4ee37470{ConnectionFactoryClassName = com.webmethods.jms.impl.WmConnectionFactoryImpl},{QueueConnectionFactoryClassName = com.webmethods.jms.impl.WmQueueConnectionFactoryImpl},{TopicConnectionFactoryClassName = com.webmethods.jms.impl.WmTopicConnectionFactoryImpl},{XAConnectionFactoryClassName = null},{XAQueueConnectionFactoryClassName = null},{XATopicConnectionFactoryClassName = null},{QueueClassName = com.webmethods.jms.impl.WmQueueImpl},{TopicClassName = com.webmethods.jms.impl.WmTopicImpl},{UnifiedDestinationClassName = null},{ConnectionFactoryProperties = null},{JndiProperties = java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory,java.naming.provider.url=ldap://xxxxxxxxxxx:nnnn},{ProviderIntegrationMode = jndi},{CommonSetterMethodName = null},{SupportsXA = false},{ForceDelayedTxn = true},{DeliveryType = null},{RedeliveryInterval = 0},{RedeliveryAttempts = 0},{ClientID = XXXXXXXXXX},{MessageSelector = responderProcessId = 'XXXXXX'},{SubscriptionDurability = Durable},{ConnectionFactoryJNDIName = null},{SubscriptionName = null},{DestinationJNDIName = null},{DestinationType = javax.jms.Topic},{DeadMessageDestinationType = javax.jms.Destination},{MaxPoolSize = 8},{DestinationProperties = null},{DeadMessageDestinationJndiName = null},{DeadMessageConnectionFactoryJndiName = null},{DeadMessageConnectionFactoryProperties = null},{DeadMessageDestinationClassName = null},{DeadMessageDestinationProperties = null},{SendBadMessagesToDMD = false},{EndpointReleaseTimeOut = 180},{InstanceCount = 1},{LoadBalancingRequired = true},{Instance ID = 0},{CustomLoadBalancingMessageSelector = },{ShareClientID = false}{DeliveryType = null}

       

      2017-02-17 14:52:08,250 FINE  [com.sun.genericjmsra] (ServerService Thread Pool -- 58) com.sun.genericra.inbound.ActivationSpec@4ee37470{ConnectionFactoryClassName = com.webmethods.jms.impl.WmConnectionFactoryImpl},{QueueConnectionFactoryClassName = com.webmethods.jms.impl.WmQueueConnectionFactoryImpl},{TopicConnectionFactoryClassName = com.webmethods.jms.impl.WmTopicConnectionFactoryImpl},{XAConnectionFactoryClassName = null},{XAQueueConnectionFactoryClassName = null},{XATopicConnectionFactoryClassName = null},{QueueClassName = com.webmethods.jms.impl.WmQueueImpl},{TopicClassName = com.webmethods.jms.impl.WmTopicImpl},{UnifiedDestinationClassName = null},{ConnectionFactoryProperties = null},{JndiProperties = java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory,java.naming.provider.url=ldap://xxxxxxxxxxxxxxxxx:nnn},{ProviderIntegrationMode = jndi},{CommonSetterMethodName = null},{SupportsXA = false},{ForceDelayedTxn = true},{DeliveryType = null},{RedeliveryInterval = 0},{RedeliveryAttempts = 0},{ClientID = XXXXXXXXXXXXXXXXX},{MessageSelector = responderProcessId = 'XXXXX'},{SubscriptionDurability = Durable},{ConnectionFactoryJNDIName = null},{SubscriptionName = null},{DestinationJNDIName = null},{DestinationType = javax.jms.Topic},{DeadMessageDestinationType = javax.jms.Destination},{MaxPoolSize = 8},{DestinationProperties = null},{DeadMessageDestinationJndiName = null},{DeadMessageConnectionFactoryJndiName = null},{DeadMessageConnectionFactoryProperties = null},{DeadMessageDestinationClassName = null},{DeadMessageDestinationProperties = null},{SendBadMessagesToDMD = false},{EndpointReleaseTimeOut = 180},{InstanceCount = 1},{LoadBalancingRequired = true},{Instance ID = 0},{CustomLoadBalancingMessageSelector = },{ShareClientID = false}{DeliveryType = null}

      2017-02-17 14:52:08,250 INFO  [stdout] (ServerService Thread Pool -- 58) com.sun.genericjmsra Enter validate

       

      2017-02-17 14:52:08,250 FINE  [com.sun.genericjmsra] (ServerService Thread Pool -- 58) parseToProperties:java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory,java.naming.provider.url=ldap://xxxxxxxxxxxxxx:nnnnn delimited:, seperator:=

       

       

      14:22:41,070 INFO  [stdout] (ServerService Thread Pool -- 62) com.sun.genericjmsra Enter validate

       

      14:22:41,071 INFO  [stdout] (ServerService Thread Pool -- 62) com.sun.genericjmsra getConnectionFactoryJndiName=null

       

      14:22:41,088 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 62) MSC000001: Failed to start service jboss.deployment.subunit."XXXXXXXXXXX.ear"."XXXXXXXXXMDB.jar".componentXXXXXXXXX.START: org.jboss.msc.service.StartException in service jboss.deployment.subunit."XXXXXXXXXXX.ear"."XXXXXXXXXXMDB.jar".component.XXXXXXXXXX.START: java.lang.RuntimeException: javax.resource.spi.InvalidPropertyException

        at org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:57)

        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

        at java.util.concurrent.FutureTask.run(FutureTask.java:266)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

        at java.lang.Thread.run(Thread.java:745)

        at org.jboss.threads.JBossThread.run(JBossThread.java:320)

      Caused by: java.lang.RuntimeException: javax.resource.spi.InvalidPropertyException

        at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:268)

        at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.start(MessageDrivenComponent.java:233)

        at org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:54)

        ... 6 more

      Caused by: javax.resource.spi.InvalidPropertyException

        at com.sun.genericra.util.ExceptionUtils.newInvalidPropertyException(ExceptionUtils.java:42)

        at com.sun.genericra.util.ObjectBuilderFactory$JndiObjectBuilder.createObject(ObjectBuilderFactory.java:99)

        at com.sun.genericra.util.ObjectBuilder.build(ObjectBuilder.java:99)

        at com.sun.genericra.inbound.AbstractConsumer.initializeAdministeredObjects(AbstractConsumer.java:91)

        at com.sun.genericra.inbound.AbstractConsumer.<init>(AbstractConsumer.java:56)

        at com.sun.genericra.inbound.async.EndpointConsumer.<init>(EndpointConsumer.java:57)

        at com.sun.genericra.inbound.EndpointConsumerFactory.createEndpointConsumer(EndpointConsumerFactory.java:38)

        at com.sun.genericra.GenericJMSRA.endpointActivation(GenericJMSRA.java:215)

        at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:194)

        at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:266)

        ... 8 more

      Caused by: java.lang.NullPointerException

        at org.jboss.as.naming.InitialContext.getURLScheme(InitialContext.java:160)

        at org.jboss.as.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:128)

        at javax.naming.InitialContext.lookup(InitialContext.java:417)

        at javax.naming.InitialContext.lookup(InitialContext.java:417)

        at com.sun.genericra.util.ObjectBuilderFactory$JndiObjectBuilder.createObject(ObjectBuilderFactory.java:97)

        ... 16 more

       

      Any clue what I have configured wrong?

       

      Thanks,

      Steve

        • 1. Re: eap 7 MDB error upon startup
          jbertram

          You're asking about Sun's generic JMS JCA RA on a JBoss forum.  I recommend you pose your question to the community that supports the RA that you're using.  It appears they use mailing lists - https://java.net/projects/genericjmsra/lists.

           

          If you were using the Generic JMS JCA Resource Adapter for JBoss AS that I recommended to your in another thread then the situation would be different.

          • 2. Re: eap 7 MDB error upon startup
            swarsa

            Unfortunately, the Generic JMS JCA Resource Adapter for JBoss AS that you recommended in the other thread did not work for me.  I'm sure you're curious why it didn't work, but I can't remember and did not keep good notes.  This forced me to go back to using the adapter provided by webMethods which includes the Sun jars.

            • 3. Re: eap 7 MDB error upon startup
              jbertram

              I could help you get the Generic JMS JCA Resource Adapter for JBoss AS working, but I'm not familiar enough with Sun's RAR to provide reliable guidance.  Interestingly, both resource adapters take a similar approach so if one works I'd expect the other to work as well.

              • 4. Re: eap 7 MDB error upon startup
                swarsa

                I was finally able to get this to work.  The approach I took was to debug the app and put a java exception breakpoint in JBoss developer studio for NullPointerException.  Then, when the breakpoint stopped, I inspected the 'ActivationSpec' object and looked for all the fields that were null.  I tried to find out which fields I could populate to eliminate the null pointer.  I ended up having the following in my jboss-ejb3.xml:

                 

                <activation-config>
                <activation-config-property>
                <activation-config-property-name>destinationJndiName</activation-config-property-name>
                <activation-config-property-value>cn=XXXXXXXXXXXXX,ou=xxxxxxx,ou=xxxxxxx,ou=xxxx,dc=xxxxxx,dc=xxxxxx</activation-config-property-value>
                </activation-config-property>
                <activation-config-property>
                <activation-config-property-name>providerIntegrationMode</activation-config-property-name>
                <activation-config-property-value>jndi</activation-config-property-value>
                </activation-config-property>
                <activation-config-property>
                <activation-config-property-name>jndiProperties</activation-config-property-name>
                <activation-config-property-value>java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory,java.naming.provider.url=ldap://xxxxxxxxxxxxx:nnn</activation-config-property-value>
                </activation-config-property>
                <activation-config-property>
                <activation-config-property-name>connectionFactoryJndiName</activation-config-property-name>
                <activation-config-property-value>cn=XXXXXXXXXXXXXX,ou=xxxxxxxxxx,ou=xxxxxxxxx,ou=xxxxxx,dc=xxxxxx,dc=xxx</activation-config-property-value>
                </activation-config-property>
                <activation-config-property>
                <activation-config-property-name>destinationType</activation-config-property-name>
                <activation-config-property-value>javax.jms.Topic</activation-config-property-value>
                </activation-config-property>
                <activation-config-property>
                <activation-config-property-name>subscriptionDurability</activation-config-property-name>
                <activation-config-property-value>Durable</activation-config-property-value>
                </activation-config-property>
                <activation-config-property>
                <activation-config-property-name>subscriptionName</activation-config-property-name>
                <activation-config-property-value>XXXXXXXXXXXXXXX</activation-config-property-value>
                </activation-config-property>
                <activation-config-property>
                <activation-config-property-name>topicClassName</activation-config-property-name>
                <activation-config-property-value>com.webmethods.jms.impl.WmTopicImpl</activation-config-property-value>
                </activation-config-property>
                <activation-config-property>
                <activation-config-property-name>messageSelector</activation-config-property-name>
                <activation-config-property-value>responderProcessId = 'XXXXXX'</activation-config-property-value>
                </activation-config-property>
                </activation-config>

                 

                Once I did that, the nullpointer went away revealing a number of other errors:

                1. I was passing in the userName and password, which was LDAP, on the connection to the Topic - so once I stopped doing that, then...
                2. I got "clientID is already set" so I removed that, then...
                3. I got [BRM.10.1201] JMS: Subscription name is null, so I passed in the name of the topic which resolve that

                 

                After all that, I was finally able to consume a message from that Topic! Now, I'm on to other errors.

                • 5. Re: eap 7 MDB error upon startup
                  jbertram

                  If you're interested, you should be able to use this equivalent configuration with the Generic JMS JCA Resource Adapter for JBoss AS:

                   

                  <activation-config>
                    <activation-config-property>
                        <activation-config-property-name>destination</activation-config-property-name>
                        <activation-config-property-value>cn=XXXXXXXXXXXXX,ou=xxxxxxx,ou=xxxxxxx,ou=xxxx,dc=xxxxxx,dc=xxxxxx</activation-config-property-value>
                    </activation-config-property>
                    <activation-config-property>
                        <activation-config-property-name>jndiParameters</activation-config-property-name>
                        <activation-config-property-value>java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory;java.naming.provider.url=ldap://xxxxxxxxxxxxx:nnn</activation-config-property-value>
                    </activation-config-property>
                    <activation-config-property>
                        <activation-config-property-name>connectionFactory</activation-config-property-name>
                        <activation-config-property-value>cn=XXXXXXXXXXXXXX,ou=xxxxxxxxxx,ou=xxxxxxxxx,ou=xxxxxx,dc=xxxxxx,dc=xxx</activation-config-property-value>
                    </activation-config-property>
                    <activation-config-property>
                        <activation-config-property-name>destinationType</activation-config-property-name>
                        <activation-config-property-value>javax.jms.Topic</activation-config-property-value>
                    </activation-config-property>
                    <activation-config-property>
                        <activation-config-property-name>subscriptionDurability</activation-config-property-name>
                        <activation-config-property-value>Durable</activation-config-property-value>
                    </activation-config-property>
                    <activation-config-property>
                        <activation-config-property-name>subscriptionName</activation-config-property-name>
                        <activation-config-property-value>XXXXXXXXXXXXXXX</activation-config-property-value>
                    </activation-config-property>
                    <activation-config-property>
                        <activation-config-property-name>messageSelector</activation-config-property-name>
                        <activation-config-property-value>responderProcessId = 'XXXXXX'</activation-config-property-value>
                    </activation-config-property>
                  </activation-config>
                  
                  • 6. Re: eap 7 MDB error upon startup
                    jackspa

                    Hi,

                     

                    Thanks for your info.

                     

                    i am getting an error while starting jboss EAP 7 instance with below Error. I followed the approach you adviced. Please let me what could be the issue.

                     

                     

                    2017-11-24 00:03:34,297 INFO  [stdout] (ServerService Thread Pool -- 69) *** End of refresh ldap ***

                    2017-11-24 00:03:34,317 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "AE_APP_EAR.ear")]) - failure description: {"WFLYCTL0080: Failed services" => {

                        "jboss.deployment.subunit.\"AE_APP_EAR.ear\".\"ApplicationServices_CHNLMDB.jar\".component.ChannelsRequestMessageBean.START" => "org.jboss.msc.service.StartException in service jboss.deployment.subunit.\"AE_APP_EAR.ear\".\"ApplicationServices_CHNLMDB.jar\".component.ChannelsRequestMessageBean.START: java.lang.RuntimeException: javax.resource.spi.InvalidPropertyException

                        Caused by: java.lang.RuntimeException: javax.resource.spi.InvalidPropertyException

                        Caused by: javax.resource.spi.InvalidPropertyException

                        Caused by: java.lang.NullPointerException",

                        "jboss.deployment.subunit.\"AE_APP_EAR.ear\".\"ApplicationServices_CHNLMDB.jar\".component.AEICM_ACK_TOPIC.START" => "org.jboss.msc.service.StartException in service jboss.deployment.subunit.\"AE_APP_EAR.ear\".\"ApplicationServices_CHNLMDB.jar\".component.AEICM_ACK_TOPIC.START: java.lang.ClassCastException: com.webmethods.jms.impl.WmXAConnectionFactoryImpl cannot be cast to javax.jms.XATopicConnectionFactory

                        Caused by: java.lang.ClassCastException: com.webmethods.jms.impl.WmXAConnectionFactoryImpl cannot be cast to javax.jms.XATopicConnectionFactory"

                    }}

                     

                    WFLYCTL0186:   Services which failed to start:      service jboss.deployment.subunit."AE_APP_EAR.ear"."ApplicationServices_CHNLMDB.jar".component.ChannelsRequestMessageBean.START: org.jboss.msc.service.StartException in service jboss.deployment.subunit."AE_APP_EAR.ear"."ApplicationServices_CHNLMDB.jar".component.ChannelsRequestMessageBean.START: java.lang.RuntimeException: javax.resource.spi.InvalidPropertyException

                          service jboss.deployment.subunit."AE_APP_EAR.ear"."ApplicationServices_CHNLMDB.jar".component.AEICM_ACK_TOPIC.START: org.jboss.msc.service.StartException in service jboss.deployment.subunit."AE_APP_EAR.ear"."ApplicationServices_CHNLMDB.jar".component.AEICM_ACK_TOPIC.START: java.lang.ClassCastException: com.webmethods.jms.impl.WmXAConnectionFactoryImpl cannot be cast to javax.jms.XATopicConnectionFactory.

                     

                    jboss-ejb3.xml

                     

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

                    <jboss:ejb-jar xmlns:jboss="http://www.jboss.com/xml/ns/javaee"

                    xmlns:jee="http://java.sun.com/xml/ns/javaee"

                    xmlns:mdb="urn:resource-adapter-binding"

                    xmlns="http://java.sun.com/xml/ns/javaee"

                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

                    xmlns:c="urn:clustering:1.0"

                    xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-ejb3-2_0.xsd http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"

                    version="3.1"

                    impl-version="2.0">

                    <enterprise-beans>

                    <message-driven>

                    <ejb-name>AEICM_ACK_TOPIC</ejb-name>

                    <ejb-class>scb.technical.application.service.ChannelsRequestMessageBean</ejb-class>

                    <activation-config>

                    <activation-config-property>

                    <activation-config-property-name>destinationJndiName</activation-config-property-name>

                    <activation-config-property-value>actual External JNDI name</activation-config-property-value>

                    </activation-config-property>

                    <activation-config-property>

                    <activation-config-property-name>providerIntegrationMode</activation-config-property-name>

                    <activation-config-property-value>jndi</activation-config-property-value>

                    </activation-config-property>

                    <activation-config-property>

                    <activation-config-property-name>jndiProperties</activation-config-property-name>

                    <activation-config-property-value>java.naming.factory.initial=com.webmethods.jms.naming.WmJmsNamingCtxFactory,java.naming.provider.url=wmjmsnaming://SIT_JNDI04@10.10.10.10:000/EDMIFramework</activation-config-property-value>

                    </activation-config-property>

                    <activation-config-property>

                    <activation-config-property-name>connectionFactoryJndiName</activation-config-property-name>

                    <activation-config-property-value>Rdm_ConnectionFactory</activation-config-property-value>

                    </activation-config-property>

                    <activation-config-property>

                    <activation-config-property-name>destinationType</activation-config-property-name>

                    <activation-config-property-value>javax.jms.Topic</activation-config-property-value>

                    </activation-config-property>

                    <activation-config-property>

                    <activation-config-property-name>subscriptionDurability</activation-config-property-name>

                    <activation-config-property-value>Durable</activation-config-property-value>

                    </activation-config-property>

                    <activation-config-property>

                    <activation-config-property-name>subscriptionName</activation-config-property-name>

                    <activation-config-property-value>AEICM_ACK_TOPIC</activation-config-property-value>

                    </activation-config-property>

                    <activation-config-property>

                    <activation-config-property-name>topicClassName</activation-config-property-name>

                    <activation-config-property-value>com.webmethods.jms.impl.WmTopicImpl</activation-config-property-value>

                    </activation-config-property>

                    <activation-config-property>

                    <activation-config-property-name>acknowledgeMode</activation-config-property-name>

                    <activation-config-property-value>Auto-acknowledge</activation-config-property-value>

                    </activation-config-property>

                    <activation-config-property>

                    <activation-config-property-name>messageSelector</activation-config-property-name>

                    <activation-config-property-value>countryCode = 'AE' and captureSystem = 'XYZ'</activation-config-property-value>

                    </activation-config-property>

                    </activation-config>

                    </message-driven>

                    </enterprise-beans>

                    <jee:assembly-descriptor> 

                    <mdb:resource-adapter-binding> 

                    <jee:ejb-name>AEICM_ACK_TOPIC</jee:ejb-name> 

                    <mdb:resource-adapter-name>webm-jmsra</mdb:resource-adapter-name> 

                    </mdb:resource-adapter-binding> 

                    </jee:assembly-descriptor>

                    </jboss:ejb-jar>

                     

                    MDB : ChannelsRequestMessageBean.java

                     

                    @MessageDriven(activationConfig = {

                    @ActivationConfigProperty(propertyName = "useJNDI", propertyValue = "true"),

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

                    })

                    @ResourceAdapter("webm-jmsra")

                    @TransactionManagement(TransactionManagementType.BEAN)

                    public class ChannelsRequestMessageBean implements MessageListener {

                     

                    Thanks & regards

                    Viswa..

                    • 7. Re: eap 7 MDB error upon startup
                      jbertram

                      Couple of things...

                      1. You're commenting on a really old thread which isn't the best way to get help.
                      2. You appear to be using Sun's generic JMS JCA RA, but asking for help on a JBoss forum.  All indications are that your problem is isolated to the RA and not the application server.  Please see my first response on this thread.