10 Replies Latest reply on Apr 8, 2014 3:56 AM by jaikiran

    Troubles deploying ejb3 app with MDB.

    whitingjr

      Hi,

      I have seen forum posts [1] for a problem that is similar to the one I am having now. The recommendations in the post are already configured in my runtime.

      The exercise I am going through is to bump the version of EAP from 6.2.0.Final to 6.3.0.Alpha2 to check for perf regressions. So, my configuration has been merged in and now deploying the same applications that have run using 6.2. Again using the standalone full xml configuration file.

       

      When deploying the same application to 6.3 with some ejb3 MDBs bundled in the archive I am seeing this error messaged.

       

      11:24:13,085 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Failed to start service jboss.deployment.subunit."acme.ear"."acme.jar".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."

      acme.ear"."acme.jar".PARSE: JBAS018733: Failed to process phase PARSE of subdeployment "acme.jar" of deployment "acme.ear"

              at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166) [jboss-as-server-7.4.0.Final-redhat-6.jar:7.4.0.Final-redhat-6]

              at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1980) [jboss-msc-1.1.5.Final.jar:1.1.5.Final]

              at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1913) [jboss-msc-1.1.5.Final.jar:1.1.5.Final]

              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]

              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]

              at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]

      Caused by: org.jboss.msc.service.ServiceNotFoundException: Service service jboss.ejb.default-resource-adapter-name-service not found

              at org.jboss.msc.service.ServiceContainerImpl.getRequiredService(ServiceContainerImpl.java:625) [jboss-msc-1.1.5.Final.jar:1.1.5.Final]

              at org.jboss.as.ejb3.deployment.processors.MessageDrivenComponentDescriptionFactory.getDefaultResourceAdapterName(MessageDrivenComponentDescriptionFactory.java:278)

              at org.jboss.as.ejb3.deployment.processors.MessageDrivenComponentDescriptionFactory.processMessageBeans(MessageDrivenComponentDescriptionFactory.java:155)

              at org.jboss.as.ejb3.deployment.processors.MessageDrivenComponentDescriptionFactory.processAnnotations(MessageDrivenComponentDescriptionFactory.java:82)

              at org.jboss.as.ejb3.deployment.processors.AnnotatedEJBComponentDescriptionDeploymentUnitProcessor.processAnnotations(AnnotatedEJBComponentDescriptionDeploymentUnitProcessor.java:58)

              at org.jboss.as.ejb3.deployment.processors.AbstractDeploymentUnitProcessor.deploy(AbstractDeploymentUnitProcessor.java:81)

              at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [jboss-as-server-7.4.0.Final-redhat-6.jar:7.4.0.Final-redhat-6]

              ... 5 more

       

      It's as though the msc has not loaded the required service in time for the MBD to get it. Is there anything else I can check ?

       

      Regards,

      Jeremy

       

      OpenJDK 1.7

      JBoss EAP 6.3.0.Alpha2 (AS 7.4.0.Final-redhat-6)

       

      [1] Re: Can not deploy MDB because of service jboss.ejb.default-resource-adapter-name-service not found

        • 1. Re: Troubles deploying ejb3 app with MDB.
          jaikiran

          Can you post the standalone-full.xml that you are using?

          • 2. Re: Troubles deploying ejb3 app with MDB.
            whitingjr

            Not all of it really. I prefer to not make it public.

            Are there certain sub-systems you are particularly interested in seeing ?

            • 3. Re: Troubles deploying ejb3 app with MDB.
              jaikiran

              The EJB3 subsystem and the messaging subsystem is what I am interested in.

              1 of 1 people found this helpful
              • 4. Re: Troubles deploying ejb3 app with MDB.
                jaikiran

                Also, what command do you use to start the server?

                • 5. Re: Troubles deploying ejb3 app with MDB.
                  whitingjr

                  I've removed some details but not the important parts I hope.

                   

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

                     <session-bean>

                         <stateless>

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

                         </stateless>

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

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

                     </session-bean>

                     <mdb>

                         <resource-adapter-ref resource-adapter-name="${ejb.resource-adapter-name:hornetq-ra}"/>

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

                     </mdb>

                     <pools>

                         <bean-instance-pools>

                             <strict-max-pool name="slsb-strict-max-pool" max-pool-size="8" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="SECONDS"/>

                             <strict-max-pool name="mdb-strict-max-pool" max-pool-size="8" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="SECONDS"/>

                         </bean-instance-pools>

                     </pools>

                     <caches>

                         <cache name="simple" aliases="NoPassivationCache"/>

                         <cache name="passivating" passivation-store-ref="file" aliases="SimpleStatefulCache"/>

                     </caches>

                     <passivation-stores>

                         <file-passivation-store name="file"/>

                     </passivation-stores>

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

                     <timer-service thread-pool-name="default">

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

                     </timer-service>

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

                         <channel-creation-options>

                             <option name="TCP_NODELAY" value="false" type="xnio"/>

                             <option name="WORKER_READ_THREADS" value="2" type="xnio"/>

                             <option name="WORKER_WRITE_THREADS" value="2" type="xnio"/>

                             <option name="MAX_INBOUND_MESSAGES" value="85" type="remoting"/>

                             <option name="MAX_OUTBOUND_MESSAGES" value="85" type="remoting"/>

                         </channel-creation-options>

                     </remote>

                     <thread-pools>

                         <thread-pool name="default">

                             <max-threads count="10"/>

                             <keepalive-time time="75" unit="minutes"/>

                         </thread-pool>

                     </thread-pools>

                     <iiop enable-by-default="false" use-qualified-name="false"/>

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

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

                     <statistics enabled="false"/>

                  </subsystem>

                   

                  <subsystem xmlns="urn:jboss:domain:messaging:1.4">

                     <hornetq-server>

                         <persistence-enabled>true</persistence-enabled>

                         .......

                   

                         <connectors>

                             <netty-connector name="netty" socket-binding="messaging"/>

                             <netty-connector name="netty-throughput" socket-binding="messaging-throughput">

                                 <param key="batch-delay" value="50"/>

                             </netty-connector>

                             <in-vm-connector name="in-vm" server-id="0"/>

                         </connectors>

                   

                         <acceptors>

                             <netty-acceptor name="netty" socket-binding="messaging"/>

                             <netty-acceptor name="netty-throughput" socket-binding="messaging-throughput">

                                 <param key="batch-delay" value="50"/>

                                 <param key="direct-deliver" value="false"/>

                             </netty-acceptor>

                             <in-vm-acceptor name="in-vm" server-id="0"/>

                         </acceptors>

                   

                         <security-settings>

                             <security-setting match="#">

                                 <permission type="send" roles="guest"/>

                                 <permission type="consume" roles="guest"/>

                                 <permission type="createNonDurableQueue" roles="guest"/>

                                 <permission type="deleteNonDurableQueue" roles="guest"/>

                             </security-setting>

                         </security-settings>

                   

                         <address-settings>

                             <address-setting match="#">

                                 <dead-letter-address>jms.queue.DLQ</dead-letter-address>

                                 <expiry-address>jms.queue.ExpiryQueue</expiry-address>

                                 <redelivery-delay>0</redelivery-delay>

                                 .....

                                 <message-counter-history-day-limit>10</message-counter-history-day-limit>

                             </address-setting>

                         </address-settings>

                   

                         <jms-connection-factories>

                             <connection-factory name="InVmConnectionFactory">

                                 <connectors>

                                     <connector-ref connector-name="in-vm"/>

                                 </connectors>

                                 <entries>

                                     <entry name="java:/ConnectionFactory"/>

                                 </entries>

                             </connection-factory>

                             <connection-factory name="RemoteConnectionFactory">

                                 <connectors>

                                     <connector-ref connector-name="netty"/>

                                 </connectors>

                                 <entries>

                                     <entry name="java:jboss/exported/jms/RemoteConnectionFactory"/>

                                 </entries>

                             </connection-factory>

                             <pooled-connection-factory name="hornetq-ra">

                                 <transaction mode="xa"/>

                                 <connectors>

                                     <connector-ref connector-name="in-vm"/>

                                 </connectors>

                                 <entries>

                                     <entry name="java:jboss/jms/JmsXA"/>

                                 </entries>

                             </pooled-connection-factory>

                         </jms-connection-factories>

                   

                         <jms-destinations>

                             ......

                         </jms-destinations>

                     </hornetq-server>

                  </subsystem>

                  • 6. Re: Troubles deploying ejb3 app with MDB.
                    whitingjr

                    Also, what command do you use to start the server?

                     

                    $ nohup ./bin/standalone.sh &

                     

                    in standalone.conf the -Djboss.server.default.config=standalone-full.xml switches to the full config.

                    • 7. Re: Troubles deploying ejb3 app with MDB.
                      whitingjr

                      Hi Jikiran,

                      Thank you for responding. I've started the upgrade again and noticed some configuration changes were not merged properly. I was missing this in the min and max pool size settings.

                      <pooled-connection-factory name="hornetq-ra">
                         <transaction mode="xa"/>
                         <min-pool-size>4</min-pool-size>
                         <max-pool-size>4</max-pool-size>
                         <connectors>
                             <connector-ref connector-name="in-vm"/>
                         </connectors>
                         <entries>
                             <entry name="java:jboss/jms/JmsXA"/>
                         </entries>
                      </pooled-connection-factory>

                      • 8. Re: Troubles deploying ejb3 app with MDB.
                        jaikiran

                        Does that mean, it boots up fine now?

                        • 9. Re: Troubles deploying ejb3 app with MDB.
                          whitingjr

                          Yes it does.

                          • 10. Re: Troubles deploying ejb3 app with MDB.
                            jaikiran

                            Thank you. I've now marked this question as answered.