title: Unable to resolve org.eclipse.persistence.exceptions.EntityManagerSetupException
body: <p>I am trying to run the maven project, i am able to deploy the project but after deploying the project when i click any function to perform an operation it shows following exception:</p>
  
  <pre><code>root cause:
  Exception [EclipseLink-28013] (Eclipse Persistence Services - 2.0.1.v20100213-r6600): org.eclipse.persistence.exceptions.EntityManagerSetupException
  Exception Description: Attempted to deploy PersistenceUnit [DBUnit] while being in the wrong state [DeployFailed]. Close all factories for this PersistenceUnit.
  </code></pre>
  
  <p>I have tried by redeploying and restarting glassfish but i could not resolve this issue. for more information i am also posting my <code>persistence.xml</code> file and <code>server log</code></p>
  
  <pre><code>persistence.xml
  
  &lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;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"&gt;
  
      &lt;persistence-unit name="EC-Assignment" transaction-type="JTA"&gt;
          &lt;provider&gt;org.eclipse.persistence.jpa.PersistenceProvider&lt;/provider&gt;
          &lt;jta-data-source&gt;jdbc/Assignment2&lt;/jta-data-source&gt;
  
          &lt;class&gt;org.beginningee6.book.Book&lt;/class&gt;
          &lt;class&gt;org.beginningee6.book.CD&lt;/class&gt;
          &lt;class&gt;org.beginningee6.book.Item&lt;/class&gt;
          &lt;class&gt;org.beginningee6.book.customer.Customer&lt;/class&gt;
  
  
          &lt;properties&gt;
              &lt;property name="eclipselink.ddl-generation" value="drop-and-create-tables"/&gt;
              &lt;property name="eclipselink.logging.level" value="INFO"/&gt;
  
  
  
  
          &lt;/properties&gt;
      &lt;/persistence-unit&gt;
  &lt;/persistence&gt;
  </code></pre>
  
  <p>and following is my <code>server log</code> file</p>
  
  <pre><code>[#|2013-05-19T13:53:58.855+1000|WARNING|glassfish3.0.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=129;_ThreadName=Thread-1;|StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception
  javax.ejb.EJBException
      at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:5119)
      at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:5017)
      at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4805)
      at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2004)
      at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1955)
      at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:198)
      at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:84)
      at com.sun.proxy.$Proxy157.findBookItems(Unknown Source)
      at org.beginningee6.book.__EJB31_Generated__ItemEJB__Intf____Bean__.findBookItems(Unknown Source)
      at org.beginningee6.book.ItemController.getBookItemList(ItemController.java:148)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:601)
      at javax.el.BeanELResolver.getValue(BeanELResolver.java:302)
      at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:175)
      at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72)
      at com.sun.el.parser.AstValue.getValue(AstValue.java:116)
      at com.sun.el.parser.AstValue.getValue(AstValue.java:163)
      at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:219)
      at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:102)
      at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:190)
      at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:178)
      at javax.faces.component.UIData.getValue(UIData.java:554)
      at javax.faces.component.UIData.getDataModel(UIData.java:1248)
      at javax.faces.component.UIData.setRowIndex(UIData.java:447)
      at com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:81)
      at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:823)
      at javax.faces.component.UIData.encodeBegin(UIData.java:937)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1611)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616)
      at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:380)
      at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:126)
      at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:127)
      at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
      at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
      at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
      at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
      at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
      at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
      at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
      at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
      at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
      at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
      at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
      at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
      at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
      at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
      at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
      at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
      at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
      at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
      at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
      at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
      at java.lang.Thread.run(Thread.java:722)
  Caused by: javax.persistence.PersistenceException: Exception [EclipseLink-28013] (Eclipse Persistence Services - 2.0.1.v20100213-r6600): org.eclipse.persistence.exceptions.EntityManagerSetupException
  Exception Description: Attempted to deploy PersistenceUnit [EC-Assignment] while being in the wrong state [DeployFailed]. Close all factories for this PersistenceUnit.
      at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:307)
      at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:151)
      at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:207)
      at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:202)
      at com.sun.enterprise.container.common.impl.EntityManagerWrapper._getDelegate(EntityManagerWrapper.java:197)
      at com.sun.enterprise.container.common.impl.EntityManagerWrapper.createNamedQuery(EntityManagerWrapper.java:521)
      at org.beginningee6.book.ItemEJB.findBookItems(ItemEJB.java:31)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:601)
      at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1056)
      at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1128)
      at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:5292)
      at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:615)
      at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:797)
      at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:567)
      at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:157)
      at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:139)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:601)
      at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:858)
      at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:797)
      at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:367)
      at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5264)
      at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5252)
      at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:190)
      ... 56 more
  Caused by: Exception [EclipseLink-28013] (Eclipse Persistence Services - 2.0.1.v20100213-r6600): org.eclipse.persistence.exceptions.EntityManagerSetupException
  Exception Description: Attempted to deploy PersistenceUnit [EC-Assignment] while being in the wrong state [DeployFailed]. Close all factories for this PersistenceUnit.
      at org.eclipse.persistence.exceptions.EntityManagerSetupException.cannotDeployWithoutPredeploy(EntityManagerSetupException.java:170)
      ... 85 more
  |#]
  </code></pre>
  
  <p>any help will be appreciated.</p>