Can't find a persistence unit named
mtshpandey Aug 7, 2011 5:49 AMHi All,
I am a newbie to ejb3. For my learning , i created a ejb application with a stateless session bean , a pojo class , a persistence.xml file with hibernate as persistence provider , postgresql as DB and jboss server 5.0.0 CR2.
The external jar added are ejb3-persistence.jar , hibernate-core and hibernate-entitymanager.jar
When i start jboss server , the following error is displayed
ERROR [AbstractKernelController] Error installing to Real: name=vfszip:/E:/software%20download/jboss-5.0.0.CR2-jdk6/jboss-5.0.0.CR2/server/default/deploy/Chapter3.jar state=PreReal mode=Manual requiredState=Real
org.jboss.deployers.spi.DeploymentException: Error deploying Chapter3.jar: Can't find a persistence unit named 'titan' in AbstractVFSDeploymentContext@25979158{vfszip:/E:/software%20download/jboss-5.0.0.CR2-jdk6/jboss-5.0.0.CR2/server/default/deploy/Chapter3.jar}
at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:209)
at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:108)
at org.jboss.deployers.vfs.spi.deployer.AbstractVFSRealDeployer.internalDeploy(AbstractVFSRealDeployer.java:45)
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:169)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1285)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1003)
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:944)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:627)
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:541)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:265)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:143)
at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:409)
at org.jboss.Main.boot(Main.java:209)
at org.jboss.Main$1.run(Main.java:544)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: Can't find a persistence unit named 'titan' in AbstractVFSDeploymentContext@25979158{vfszip:/E:/software%20download/jboss-5.0.0.CR2-jdk6/jboss-5.0.0.CR2/server/default/deploy/Chapter3.jar}
at org.jboss.jpa.resolvers.DefaultPersistenceUnitDependencyResolver.resolvePersistenceUnitSupplier(DefaultPersistenceUnitDependencyResolver.java:141)
at org.jboss.ejb3.Ejb3Deployment.resolvePersistenceUnitSupplier(Ejb3Deployment.java:841)
at org.jboss.ejb3.EJBContainer.resolvePersistenceUnitSupplier(EJBContainer.java:1399)
at org.jboss.injection.PersistenceUnitHandler.addPUDependency(PersistenceUnitHandler.java:124)
at org.jboss.injection.PersistenceContextHandler.loadXml(PersistenceContextHandler.java:76)
at org.jboss.ejb3.EJBContainer.processMetadata(EJBContainer.java:570)
at org.jboss.ejb3.Ejb3Deployment.processEJBContainerMetadata(Ejb3Deployment.java:439)
at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:552)
at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:202)
... 22 more
14:13:32,343 ERROR [ProfileServiceBootstrap] Failed to load profile: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):
*** CONTEXTS IN ERROR: Name -> Error
vfszip:/E:/software%20download/jboss-5.0.0.CR2-jdk6/jboss-5.0.0.CR2/server/default/deploy/Chapter3.jar -> java.lang.IllegalArgumentException: Can't find a persistence unit named 'titan' in AbstractVFSDeploymentContext@25979158{vfszip:/E:/software%20download/jboss-5.0.0.CR2-jdk6/jboss-5.0.0.CR2/server/default/deploy/Chapter3.jar}
The persistence.xml file is as below
<?xml version="1.0" encoding="UTF-8" ?>
<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="titan" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:PostgresDS</jta-data-source>
<class>com.domain.Cabin</class>
<properties>
<property name="hibernate.dialect" value= "org.hibernate.dialect.PostgreSqlDialect" />
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="false" />
<property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
<property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/Entity"/>
<property name="hibernate.connection.username" value="*****"/>
<property name="hibernate.connection.password" value="*****"/>
</properties>
</persistence-unit>
</persistence>
I have tried other solution like removing the class-path from manifest file but same result is displayed.
Any help is appreciated