Hello,

I try to deploy some Message Driven Bean but I have a very strange problem.
I use jboss 3.2.2 with tomcat
I have used the example provided in the Jboss doc (WorkerBean ListenerBean).
I I follow the example and deploy it as an separate application, it works
fine
I tried to add it in my application and it never deploy (see stack trace) I
really don't know what's going wrong

François

Here is the server trace

[Container factory] Deploying WorkerBean
[Container factory] Container Invoker RMI Port='4444'
[Container factory] Container Invoker Client SocketFactory='Default'
[Container factory] Container Invoker Server SocketFactory='Default'
[Container factory] Container Invoker Optimize='true'
[Container factory] Deploying ListenerBean
[Container factory] Mapped Container method remove HASH -1842617161
[Container factory] Mapped Container method getEJBHome HASH -993218923
[Container factory] Mapped Container method getHandle HASH 1182305581
[Container factory] Mapped Container method getPrimaryKey HASH -131865408
[Container factory] Mapped Container method isIdentical HASH 285457048
[Container factory] Mapped doWork 837015770to public void
hero.event.WorkerBean.
doWork(java.lang.String)
[Container factory] Mapping remove
[Container factory] Mapping remove
[Container factory] Mapping getEJBMetaData
[Container factory] Mapping getHomeHandle
[Container factory] Mapping create
[Container factory] JRMP 1.3 CI initialized
[Container factory] Mapped Container method remove HASH -1842617161
[Container factory] Mapped Container method getEJBHome HASH -993218923
[Container factory] Mapped Container method getHandle HASH 1182305581
[Container factory] Mapped Container method getPrimaryKey HASH -131865408
[Container factory] Mapped Container method isIdentical HASH 285457048
[Container factory] Mapped echo -461908254to public java.lang.String
hero.user.S
tatelessSessionBean.echo(java.lang.String)
[Container factory] Mapped noop -462744667to public void
hero.user.StatelessSess
ionBean.noop() throws java.rmi.RemoteException
[Container factory] Mapping remove
[Container factory] Mapping remove
[Container factory] Mapping getEJBMetaData
[Container factory] Mapping getHomeHandle
[Container factory] Mapping create
[Container factory] JRMP 1.3 CI initialized
[Container factory] JRMP 1.3 CI initialized
[Container factory] Storing sessions for Facade
in:C:\jboss-tomcat\jboss\db\sess
ions\Facade
[Container factory] 0 old sessions removed
[Container factory] JRMP 1.3 CI initialized
[Container factory] Storing sessions for StatefullSession
in:C:\jboss-tomcat\jbo
ss\db\sessions\StatefullSession
[Container factory] 0 old sessions removed
[Container factory] Binding an EJBReference ejb/worker
[Container factory] Binding ejb/worker to internal JNDI source: WorkerBean
[Container factory] Got destination type Topic for ListenerBean
SpyConnectionFactoryObjectFactory->getObjectInstance()
[Container factory] Serious error in init: java.lang.NullPointerException
[Container factory] java.lang.Exception: java.lang.NullPointerException
[Container factory]     at
org.jboss.ejb.MessageDrivenContainer.init(MessageDriv
enContainer.java:156)
[Container factory]     at
org.jboss.ejb.Application.init(Application.java:183)
[Container factory]     at
org.jboss.ejb.ContainerFactory.deploy(ContainerFactor
y.java:337)
[Container factory]     at
org.jboss.ejb.ContainerFactory.deploy(ContainerFactor
y.java:275)
[Container factory]     at java.lang.reflect.Method.invoke(Native Method)
[Container factory]     at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanSe
rverImpl.java:1628)
[Container factory]     at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanSe
rverImpl.java:1523)
[Container factory]     at
org.jboss.deployment.J2eeDeployer.startApplication(J2
eeDeployer.java:415)
[Container factory]     at
org.jboss.deployment.J2eeDeployer.deploy(J2eeDeployer
.java:178)
[Container factory]     at java.lang.reflect.Method.invoke(Native Method)
[Container factory]     at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanSe
rverImpl.java:1628)
[Container factory]     at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanSe
rverImpl.java:1523)
[Container factory]     at
org.jboss.ejb.AutoDeployer.deploy(AutoDeployer.java:3
58)
[Container factory]     at
org.jboss.ejb.AutoDeployer.run(AutoDeployer.java:221)

[Container factory]     at java.lang.Thread.run(Thread.java:484)
[Container factory] Stopping JMSContainerInvoker
[Container factory] Could not stop JMSContainerInvoker
consumer:java.lang.NullPo
interException
[Container factory] Destroying JMSContainerInvoker
[J2EE Deployer Default] Starting hero.jar failed!
org.jboss.ejb.DeploymentException: Could not deploy
file:/C:/jboss-tomcat/jboss/
tmp/deploy/Default/hero.jar/, Cause:java.lang.Exception:
java.lang.NullPointerEx
ception
        at org.jboss.ejb.ContainerFactory.deploy(ContainerFactory.java:365)
        at org.jboss.ejb.ContainerFactory.deploy(ContainerFactory.java:275)
        at java.lang.reflect.Method.invoke(Native Method)
        at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:16
28)
        at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
23)
        at
org.jboss.deployment.J2eeDeployer.startApplication(J2eeDeployer.java:
415)
        at org.jboss.deployment.J2eeDeployer.deploy(J2eeDeployer.java:178)
        at java.lang.reflect.Method.invoke(Native Method)
        at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:16
28)
        at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
23)
        at org.jboss.ejb.AutoDeployer.deploy(AutoDeployer.java:358)
        at org.jboss.ejb.AutoDeployer.run(AutoDeployer.java:221)
        at java.lang.Thread.run(Thread.java:484)
[J2EE Deployer Default] Module hero.jar is not running
[J2EE Deployer Default] Destroying application hero.jar
[Auto deploy] Deployment failed:file:/C:/jboss-tomcat/jboss/deploy/hero.jar
[Auto deploy] org.jboss.deployment.J2eeDeploymentException: Error while
starting
 hero.jar: Could not deploy
file:/C:/jboss-tomcat/jboss/tmp/deploy/Default/hero.
jar/
[Auto deploy]   at
org.jboss.deployment.J2eeDeployer.startApplication(J2eeDeploy
er.java:442)
[Auto deploy]   at
org.jboss.deployment.J2eeDeployer.deploy(J2eeDeployer.java:17
8)
[Auto deploy]   at java.lang.reflect.Method.invoke(Native Method)
[Auto deploy]   at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl
.java:1628)
[Auto deploy]   at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl
.java:1523)
[Auto deploy]   at org.jboss.ejb.AutoDeployer.deploy(AutoDeployer.java:358)
[Auto deploy]   at org.jboss.ejb.AutoDeployer.run(AutoDeployer.java:221)
[Auto deploy]   at java.lang.Thread.run(Thread.java:484)

Here are my ejb-jar and jboss.xml

<?xml version="1.0"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise
JavaBeans 1.1//EN" "http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd";>
<ejb-jar>
  <description> Motu </description>
      <enterprise-beans>
 <entity>
                <display-name>Project</display-name>
                <ejb-name>Project</ejb-name>
                <home>hero.project.ProjectHome</home>
                <remote>hero.project.Project</remote>
                <ejb-class>hero.project.ProjectEJB</ejb-class>
                <persistence-type>Bean</persistence-type>
                <prim-key-class>java.lang.String</prim-key-class>
                <reentrant>False</reentrant>
        </entity>
        <entity>
               <display-name>User</display-name>
               <ejb-name>User</ejb-name>
               <home>hero.user.UserHome</home>
               <remote>hero.user.User</remote>
               <ejb-class>hero.user.UserEJB</ejb-class>
               <persistence-type>Bean</persistence-type>
               <prim-key-class>java.lang.String</prim-key-class>
               <reentrant>False</reentrant>
        </entity>

 <session>
  <display-name>Facade</display-name>
  <ejb-name>Facade</ejb-name>
  <home>hero.project.FacadeHome</home>
  <remote>hero.project.Facade</remote>
  <ejb-class>hero.project.FacadeEJB</ejb-class>
  <session-type>Stateful</session-type>
  <transaction-type>Container</transaction-type>
 </session>

 <session>
         <display-name>UserSession</display-name>
         <ejb-name>UserSession</ejb-name>
         <home>hero.user.UserSessionHome</home>
         <remote>hero.user.UserSession</remote>
         <ejb-class>hero.user.UserSessionBean</ejb-class>
         <session-type>Stateful</session-type>
         <transaction-type>Container</transaction-type>
 </session>

        <session>
            <description>A trival stateless session echo bean</description>
            <ejb-name>StatelessSession</ejb-name>
            <home>hero.user.SessionHome</home>
            <remote>hero.user.Session</remote>
            <ejb-class>hero.user.StatelessSessionBean</ejb-class>
            <session-type>Stateless</session-type>
            <transaction-type>Container</transaction-type>
        </session>

        <session>
            <description>A trival stateful session echo bean</description>
            <ejb-name>StatefullSession</ejb-name>
            <home>hero.user.SessionHome</home>
            <remote>hero.user.Session</remote>
            <ejb-class>hero.user.StatefullSessionBean</ejb-class>
            <session-type>Stateful</session-type>
            <transaction-type>Container</transaction-type>
        </session>


        <message-driven>
   <ejb-name>ListenerBean</ejb-name>
   <ejb-class>hero.event.ListenerBean</ejb-class>
          <message-selector></message-selector>
          <transaction-type>Container</transaction-type>
          <ejb-ref>
     <description>The Workers home</description>
     <ejb-ref-name>ejb/worker</ejb-ref-name>
     <ejb-ref-type>Session</ejb-ref-type>
            <ejb-link>WorkerBean</ejb-link>
     <home>hero.event.WorkerHome</home>
     <remote>hero.event.Worker</remote>
           </ejb-ref>
           <message-driven-destination>
            <destination-type>javax.jms.Topic</destination-type>
            <subscription-durability>NonDurable</subscription-durability>
           </message-driven-destination>
         </message-driven>

         <session>
           <description>Worker bean</description>
           <display-name>Worker</display-name>
           <ejb-name>WorkerBean</ejb-name>
           <home>hero.event.WorkerHome</home>
           <remote>hero.event.Worker</remote>
           <ejb-class>hero.event.WorkerBean</ejb-class>
           <session-type>Stateless</session-type>
           <transaction-type>Container</transaction-type>
         </session>

      </enterprise-beans>


  <assembly-descriptor>


       <container-transaction>
         <method>
           <ejb-name>ListenerBean</ejb-name>
           <method-name>*</method-name>
         </method>
         <trans-attribute>Required</trans-attribute>
       </container-transaction>
       <container-transaction>
         <method>
    <ejb-name>WorkerBean</ejb-name>
    <method-intf>Remote</method-intf>
    <method-name>*</method-name>
         </method>
         <trans-attribute>Required</trans-attribute>
       </container-transaction>

    <security-role>
      <role-name>Echo</role-name>
    </security-role>

    <method-permission>
      <role-name>Admin</role-name>
      <method>
        <ejb-name>Facade</ejb-name>
          <method-name>*</method-name>
      </method>
      <method>
        <ejb-name>Project</ejb-name>
          <method-name>*</method-name>
      </method>
      <method>
        <ejb-name>User</ejb-name>
          <method-name>*</method-name>
      </method>

      <method>
        <ejb-name>UserSession</ejb-name>
          <method-name>*</method-name>
      </method>
    </method-permission>

        <method-permission>
            <role-name>Echo</role-name>
            <method>
                <ejb-name>StatelessSession</ejb-name>
                <method-name>*</method-name>
            </method>
            <method>
                <ejb-name>StatefullSession</ejb-name>
                <method-name>*</method-name>
            </method>
        </method-permission>

        <method-permission>
            <role-name>Coder</role-name>
            <method>
                <ejb-name>StatefullSession</ejb-name>
                <method-name>create</method-name>
            </method>
            <method>
                <ejb-name>StatefullSession</ejb-name>
                <method-name>remove</method-name>
            </method>
            <method>
                <ejb-name>StatefullSession</ejb-name>
                <method-name>noop</method-name>
            </method>
        </method-permission>


    </assembly-descriptor>
</ejb-jar>


-- jboss.xml--

<?xml version="1.0" encoding="Cp1252"?>

<jboss>

<!--    <security-domain>java:/jaas/example2</security-domain> -->

  <container-configurations>
     <!-- Override the role mapping function from that of the
        security-domain setting for stateless session beans -->
     <container-configuration>
         <!-- Use the standardjboss.xml container-name so we only have
            to specify the elements we want to override -->
            <container-name>Standard Stateless SessionBean</container-name>
            <call-logging>true</call-logging>
     </container-configuration>

  </container-configurations>
    <resource-managers>
     <enterprise-beans>
       <entity>
  <ejb-name>Project</ejb-name>
  <jndi-name>Project</jndi-name>
  <configuration-name>Project</configuration-name>
       </entity>
       <entity>
         <ejb-name>User</ejb-name>
         <jndi-name>User</jndi-name>
         <configuration-name>User</configuration-name>
       </entity>


       <session>
  <ejb-name>Facade</ejb-name>
  <jndi-name>Facade</jndi-name>
       </session>

       <session>
         <ejb-name>UserSession</ejb-name>
         <jndi-name>UserSession</jndi-name>
       </session>

       <session>
  <ejb-name>StatelessSession</ejb-name>
  <jndi-name>StatelessSession</jndi-name>
  <configuration-name>Standard Stateless SessionBean</configuration-name>
       </session>

       <session>
  <ejb-name>StatefullSession</ejb-name>
  <jndi-name>StatefullSession</jndi-name>
  <configuration-name>Standard Stateful SessionBean</configuration-name>
       </session>

         <message-driven>
           <ejb-name>ListenerBean</ejb-name>
           <configuration-name>Standard Message Driven
Bean</configuration-name>
           <destination-jndi-name>topic/testTopic</destination-jndi-name>
         </message-driven>
         <secure>false</secure>

     </enterprise-beans>
     </resource-managers>
   </jboss>



_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to