problem
daviddev Jun 26, 2009 4:12 AMHi guys,
I do have an error when i deploy my j2ee application on a jboss server.
08:53:02,986 [ScannerThread] ERROR [URLDeploymentScanner] Incomplete Deployment listing:
--- MBeans waiting for other MBeans ---
ObjectName: jboss.j2ee:ear=MyMMClient1EJB.ear,jar=MessageStoreManagerEJB.jar,name=MessageStoreManagerBean,service=EJB3
State: NOTYETINSTALLED
I Depend On:
persistence.units:unitName=messagemanager
ObjectName: jboss.j2ee:ear=MyMMClient1EJB.ear,jar=MessageStoreManagerEJB.jar,name=MessageTargetManagerBean,service=EJB3
State: NOTYETINSTALLED
I Depend On:
persistence.units:unitName=messagemanager
--- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
ObjectName: persistence.units:unitName=messagemanager
State: NOTYETINSTALLED
Depends On Me:
jboss.j2ee:ear=MyMMClient1EJB.ear,jar=MessageStoreManagerEJB.jar,name=MessageStoreManagerBean,service=EJB3
jboss.j2ee:ear=MyMMClient1EJB.ear,jar=MessageStoreManagerEJB.jar,name=MessageTargetManagerBean,service=EJB3
My application is depoyed through a EAR file which has the following structure:
MyApplicationEJB.ear |--lib (my libraries) |--META-INF | |--Application.xml |--MessageManagerEJB.jar (a set of class and message driven bean) |--MessageManagerTest (a set of mock class for my test) |--MessageStoreManagerEJB.jar ( a set of entity classs and entity bean) |--MessageManagerWeb.war (servlet) |--MyMMClient1EJB.jar (my application that use the message manager beans) |--ejb-jar.xml |--persistence.xml
the application.xml is defined as:
<?xml version="1.0" encoding="UTF-8"?> <application version="5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd"> <display-name>MessageManager</display-name> <module> <ejb>MyMMClient1EJB.jar</ejb> </module> <module> <ejb>MessageManagerWeb.war</ejb> </module> <module> <ejb>MessageManagerEJB.jar</ejb> </module> <module> <ejb>MessageStoreManagerEJB.jar</ejb> </module> <module> <ejb>lib/LoggingSubsystem.jar</ejb> </module> </application>
the ejb-jar file in MyMMClient1EJB is defined as
<?xml version="1.0" encoding="UTF-8"?> <ejb-jar version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"> <display-name>MyMMClient1</display-name> <enterprise-beans> <message-driven > <display-name>MessagerReceiver</display-name> <ejb-name>MessageReceiver</ejb-name> <ejb-class>com.ecebs.multefile.messaging.messagemanager.receiving.MessageReceiver</ejb-class> <transaction-type>Container</transaction-type> <activation-config> <activation-config-property> <activation-config-property-name>destinationType</activation-config-property-name> <activation-config-property-value>javax.jms.Queue</activation-config-property-value> </activation-config-property> <activation-config-property> <activation-config-property-name>destination</activation-config-property-name> <activation-config-property-value>queue/MyMMClient1</activation-config-property-value> </activation-config-property> </activation-config> </message-driven> <message-driven > <display-name>IncomingMessageReceiver</display-name> <ejb-name>IncomingMessageReceiver</ejb-name> <ejb-class>com.ecebs.multefile.messaging.messagemanager.receiving.IncomingMessageReceiver</ejb-class> <transaction-type>Container</transaction-type> <activation-config> <activation-config-property> <activation-config-property-name>destinationType</activation-config-property-name> <activation-config-property-value>javax.jms.Queue</activation-config-property-value> </activation-config-property> <activation-config-property> <activation-config-property-name>destination</activation-config-property-name> <activation-config-property-value>queue/MyMMClient1EJBInMsg</activation-config-property-value> </activation-config-property> </activation-config> </message-driven> <message-driven > <display-name>MessageDeliverer</display-name> <ejb-name>MessageDeliverer</ejb-name> <ejb-class>com.ecebs.multefile.messaging.messagemanager.sending.MessageDeliverer</ejb-class> <transaction-type>Container</transaction-type> <activation-config> <activation-config-property> <activation-config-property-name>destinationType</activation-config-property-name> <activation-config-property-value>javax.jms.Queue</activation-config-property-value> </activation-config-property> <activation-config-property> <activation-config-property-name>destination</activation-config-property-name> <activation-config-property-value>queue/MyMMClient1EJBOutMsg</activation-config-property-value> </activation-config-property> </activation-config> </message-driven> </enterprise-beans> </ejb-jar>
the persistence.xml file is defined as
<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> <persistence-unit name="messagemanager" transaction-type="JTA"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <jta-data-source>java:MESSAGEMANAGER_C1_DS</jta-data-source> <jar-file>../MessageStoreManagerEJB.jar</jar-file> <!-- <exclude-unlisted-classes >false</exclude-unlisted-classes> --> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle9iDialect"/> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> <property name="hibernate.hbm2ddl.auto" value="create"/> </properties> </persistence-unit> </persistence>
the bean in the MessageStoreManagerEJB.jar include the annotation for the persistency and session bean
@Stateless @PersistenceContext( name = MessageManagerConstants.PERSIST_NAME, unitName = MessageManagerConstants.PERSIST_JNDI ) public class MessageStoreManagerBean implements MessageStoreManager, MessageStoreManagerLocal{ ... }
I could not figure out what is wrong with my code. Does somebody can help me.
Thanks