Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-4747

SessionBean with javax.jmsConnectionFactory resource-ref caused java.lang.ClassNotFoundException: javax.jms.ConnnectionFactory

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Major Major
    • None
    • JBoss AS7 7.1.1.Final
    • EJB
    • None
    • Windows

    • Hide

      1] create an ear with a session bean

      <enterprise-beans>
      
          <session>
            <description>Executes commands in a separate context.</description>
            <display-name>jBPM Command Executor</display-name>
            <ejb-name>CommandExecutor</ejb-name>
            <home>org.jbpm.enterprise.internal.ejb.RemoteCommandExecutorHome</home>
            <remote>org.jbpm.enterprise.internal.ejb.RemoteCommandExecutor</remote>
            <local-home>org.jbpm.enterprise.internal.ejb.LocalCommandExecutorHome</local-home>
            <local>org.jbpm.enterprise.internal.ejb.LocalCommandExecutor</local>
            <ejb-class&gt;org.jbpm.enterprise.internal.ejb.CommandExecutorSLSB</ejb-class&gt;
            <session-type>Stateless</session-type>
            <transaction-type>Bean</transaction-type>
      
      <resource-ref>
              <description>
                Logical name of the factory that provides JMS connections to the message session.
                Required for processes that contain asynchronous continuations.
              </description>
              <res-ref-name>jms/JbpmConnectionFactory</res-ref-name>
              <res-type>javax.jms.ConnnectionFactory</res-type>
              <res-auth>Container</res-auth>
            </resource-ref>
      ....
      

      Put it into deploy/ directory and when start up gives this exception

      Show
      1] create an ear with a session bean <enterprise-beans> <session> <description>Executes commands in a separate context.</description> <display-name>jBPM Command Executor</display-name> <ejb-name>CommandExecutor</ejb-name> <home>org.jbpm.enterprise.internal.ejb.RemoteCommandExecutorHome</home> <remote>org.jbpm.enterprise.internal.ejb.RemoteCommandExecutor</remote> <local-home>org.jbpm.enterprise.internal.ejb.LocalCommandExecutorHome</local-home> <local>org.jbpm.enterprise.internal.ejb.LocalCommandExecutor</local> <ejb- class& gt;org.jbpm.enterprise.internal.ejb.CommandExecutorSLSB</ejb- class& gt; <session-type>Stateless</session-type> <transaction-type>Bean</transaction-type> <resource-ref> <description> Logical name of the factory that provides JMS connections to the message session. Required for processes that contain asynchronous continuations. </description> <res-ref-name>jms/JbpmConnectionFactory</res-ref-name> <res-type>javax.jms.ConnnectionFactory</res-type> <res-auth>Container</res-auth> </resource-ref> .... Put it into deploy/ directory and when start up gives this exception

      Deploying a simple ear with a session bean with a reference to javax.jms.ConnectionFactory eg. as follows

      <resource-ref>
              <res-ref-name>jms/JbpmConnectionFactory</res-ref-name>
              <res-type>javax.jms.ConnnectionFactory</res-type>
              <res-auth>Container</res-auth>
      </resource-ref>
      

      will caused ClassNotFoundException

      16:48:17,252 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-4) JNDI bindings for session bean named Timer in deployment unit subdeployment "jbpm-enterprise.jar" of deployment "jbpm.ear" are as follows:
      
      	java:global/jbpm/jbpm-enterprise/Timer!org.jbpm.enterprise.internal.ejb.LocalTimer
      	java:app/jbpm-enterprise/Timer!org.jbpm.enterprise.internal.ejb.LocalTimer
      	java:module/Timer!org.jbpm.enterprise.internal.ejb.LocalTimer
      	java:global/jbpm/jbpm-enterprise/Timer!org.jbpm.enterprise.internal.ejb.LocalTimerHome
      	java:app/jbpm-enterprise/Timer!org.jbpm.enterprise.internal.ejb.LocalTimerHome
      	java:module/Timer!org.jbpm.enterprise.internal.ejb.LocalTimerHome
      
      16:48:17,278 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC00001: Failed to start service jboss.deployment.subunit."jbpm.ear"."jbpm-enterprise.jar".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."jbpm.ear"."jbpm-enterprise.jar".POST_MODULE: Failed to process phase POST_MODULE of subdeployment "jbpm-enterprise.jar" of deployment "jbpm.ear"
      	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
      	at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
      	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_25]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_25]
      	at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_25]
      Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011033: Could not load javax.jms.ConnnectionFactory referenced in env-entry
      	at org.jboss.as.ee.component.deployers.ResourceReferenceProcessor.getResourceRefEntries(ResourceReferenceProcessor.java:159)
      	at org.jboss.as.ee.component.deployers.ResourceReferenceProcessor.processDescriptorEntries(ResourceReferenceProcessor.java:73)
      	at org.jboss.as.ee.component.deployers.AbstractDeploymentDescriptorBindingsProcessor.deploy(AbstractDeploymentDescriptorBindingsProcessor.java:105)
      	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
      	... 5 more
      Caused by: java.lang.ClassNotFoundException: javax.jms.ConnnectionFactory from [Module "deployment.jbpm.ear.jbpm-enterprise.jar:main" from Service Module Loader]
      	at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
      	at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
      	at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
      	at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
      	at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
      	at org.jboss.as.ee.component.deployers.ResourceReferenceProcessor.getResourceRefEntries(ResourceReferenceProcessor.java:157)
      	... 8 more
      

              sdouglas1@redhat.com Stuart Douglas (Inactive)
              tmjee tmjee tmjee (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: