I am trying out persistence and EJB 3, but I got this error when the jar is deployed:
10:06:55,887 ERROR [URLDeploymentScanner] Incomplete Deployment listing: --- MBeans waiting for other MBeans --- ObjectName: jboss.j2ee:jar=order.jar,name=ShoppingCartBean,service=EJB3 State: NOTYETINSTALLED I Depend On: persistence.units:unitName=sample --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM --- ObjectName: persistence.units:unitName=sample State: NOTYETINSTALLED Depends On Me: jboss.j2ee:jar=order.jar,name=ShoppingCartBean,service=EJB3
<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="sample"> <jta-data-source>java:/DefaultDS</jta-data-source> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/> <property name="hibernate.hbm2ddl.auto" value="create-drop"/> </properties> </persistence-unit> </persistence>
package org.jboss.tutorial.entity.bean; import javax.ejb.Remote; import javax.ejb.Remove; import javax.ejb.Stateful; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.PersistenceContext; @Stateful @Remote(ShoppingCart.class) public class ShoppingCartBean implements ShoppingCart, java.io.Serializable { @PersistenceContext(unitName="sample") private EntityManager manager; private Order order; public void buy(String product, int quantity, double price) { if (order == null) order = new Order(); order.addPurchase(product, quantity, price); } public Order getOrder() { return order; } @Remove public void checkout() { manager.persist(order); } }
figured out, the persistence.xml was not put under META-INF in the jar file.