Search code examples
javaoraclejpajbossglassfish

GlassFish - IllegalStateException


I'm making a small application. For now it has a couple of entity classes and a index.xhtml which just has the word TEST. It seems that when I try to run it on the server, the application doesn't create a database and the glassfish server gives me the error :

org.jboss.weld.exceptions.IllegalStateException: WELD-000227: Bean identifier index inconsistency detected - the distributed container probably does not work with identical applications
Expected hash: 1888662881
Current index: BeanIdentifierIndex [hash=-1322634367, indexed=12]:
0: WELD%AbstractBuiltInBean%WebProjectManager%HttpSession
1: WELD%AbstractBuiltInBean%com.ibm.jbatch.container.cdi.BatchCDIInjectionExtension%HttpSession
2: WELD%AbstractBuiltInBean%com.sun.faces.flow.FlowDiscoveryCDIExtension%HttpSession
3: WELD%AbstractBuiltInBean%org.glassfish.cdi.transaction.TransactionalExtension%HttpSession
4: WELD%AbstractBuiltInBean%org.glassfish.jersey.ext.cdi1x.internal.CdiComponentProvider%HttpSession
5: WELD%AbstractBuiltInBean%org.glassfish.jersey.ext.cdi1x.servlet.internal.CdiExternalRequestScopeExtension%HttpSession
6: WELD%AbstractBuiltInBean%org.glassfish.jersey.ext.cdi1x.transaction.internal.TransactionalExceptionInterceptorProvider%HttpSession
7: WELD%AbstractBuiltInBean%org.glassfish.jms.injection.JMSCDIExtension%HttpSession
8: WELD%AbstractBuiltInBean%org.glassfish.osgicdi.impl.OSGiServiceExtension%HttpSession
9: WELD%AbstractBuiltInBean%org.glassfish.sse.impl.ServerSentEventCdiExtension%HttpSession
10: WELD%AbstractBuiltInBean%org.hibernate.validator.internal.cdi.ValidationExtension%HttpSession
11: WELD%AbstractBuiltInBean%root_WebProjectManager%HttpSession

persistence.xml

<?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_2_0.xsd"
version="2.0">
<persistence-unit name="WebProjectManager">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
 <exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
  <property name="javax.persistence.jdbc.driver" value="oracle.jdbc.driver.OracleDriver"/>

  <property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
  <property name="javax.persistence.jdbc.user" value="alexander"/>
  <property name="javax.persistence.jdbc.password" value="0898725863"/>

  <property name="eclipselink.ddl-generation" value="create-or-extend-tables"/>
  <property name="eclipselink.create-ddl-jdbc-file-name" value="createDDL_ddlGeneration.jdbc"/>
  <property name="eclipselink.drop-ddl-jdbc-file-name" value="dropDDL_ddlGeneration.jdbc"/>
  <property name="eclipselink.ddl-generation.output-mode" value="both"/>
</properties>
</persistence-unit>
</persistence>

Any ideas how to fix this ?

PS: I only have entity classes at this point so maybe that's the reason it doesn't create the database (maybe it needs, some ejb's and managed beans for example. Note sure.). Don't really know so here is the whole project so far: project


Solution

  • That's a WELD bug.

    Work around the issue by disabling session passivation on shutdown in Tomcat or GlassFish.