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