У меня следующая проблема. Когда я в первый раз развертываю файл ear в папке server \ default \ deploy JBOSS, кажется, что все работает нормально. Но затем, когда JBOSS все еще работает, если я снова удаляю и перезаписываю файл ear, мои модульные тесты не пройдут, за исключением перечисленного ниже. Это похоже на потерю отображений Hibernate для сущностей во время горячего развертывания. Затем, если я остановлюсь и перезапущу JBOSS снова без единого изменения, все снова будет работать. Так что горячее развертывание не работает правильно.
Кто-нибудь из вас сталкивался с этой проблемой или знает об обходном пути?
Спасибо за любую помощь.
Enviroment:
Windows XP SP3
JBoss 4.2.3GA
Hibernate 3.3.1
Hibernate Entity Manager 3.4.0
javax.ejb.EJBException: java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: TestEntity не отображается [FROM TestEntity]
в org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx (Ejb3TxPolicy.java:63)
в org.jboss.aspects.tx.TxPolicy.invokeInOurTx (TxPolicy.java:83)
в org.jboss.aspects.tx.TxInterceptor $ Required.invoke (TxInterceptor.java:191)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
на org.jboss.aspects.tx.TxPropagationInterceptor.invoke (TxPropagationInterceptor.java:95)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke (StatelessInstanceInterceptor.java:62)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.aspects.security.AuthenticationInterceptor.invoke (AuthenticationInterceptor.java:77)
в org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke (Ejb3AuthenticationInterceptor.java:110)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.ejb3.ENCPropagationInterceptor.invoke (ENCPropagationInterceptor.java:46)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke (AsynchronousInterceptor.java:106)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke (StatelessContainer.java:304)
в org.jboss.aop.Dispatcher.invoke (Dispatcher.java:106)
в org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke (AOPRemotingInvocationHandler.java:82)
на org.jboss.remoting.ServerInvoker.invoke (ServerInvoker.java:809)
в org.jboss.remoting.transport.socket.ServerThread.processInvocation (ServerThread.java:608)
в org.jboss.remoting.transport.socket.ServerThread.dorun (ServerThread.java:406)
в org.jboss.remoting.transport.socket.ServerThread.run (ServerThread.java:173)
Вызывается: java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: TestEntity не отображается [FROM TestEntity]
в org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException (AbstractEntityManagerImpl.java:617)
в org.hibernate.ejb.AbstractEntityManagerImpl.createQuery (AbstractEntityManagerImpl.java:96)
в org.jboss.ejb3.entity.TransactionScopedEntityManager.createQuery (TransactionScopedEntityManager.java:134)
на com.topcoder.test.TestBean.retrieveAll (TestBean.java:62)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод)
at sun.reflect.NativeMethodAccessorImpl.invoke (неизвестный источник)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (неизвестный источник)
в java.lang.reflect.Method.invoke (Неизвестный источник)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:112)
в org.jboss.ejb3.interceptor.InvocationContextImpl.proceed (InvocationContextImpl.java:166)
в org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke (EJB3InterceptorsInterceptor.java:63)в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke (TransactionScopedEntityManagerInterceptor.java:54)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
at org.jboss.ejb3.AllowedOperationsInterceptor.invoke (AllowedOperationsInterceptor.java:47)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
на org.jboss.aspects.tx.TxPolicy.invokeInOurTx (TxPolicy.java:79)
в org.jboss.aspects.tx.TxInterceptor $ Required.invoke (TxInterceptor.java:191)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
на org.jboss.aspects.tx.TxPropagationInterceptor.invoke (TxPropagationInterceptor.java:95)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke (StatelessInstanceInterceptor.java:62)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.aspects.security.AuthenticationInterceptor.invoke (AuthenticationInterceptor.java:77)
в org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke (Ejb3AuthenticationInterceptor.java:110)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.ejb3.ENCPropagationInterceptor.invoke (ENCPropagationInterceptor.java:46)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke (AsynchronousInterceptor.java:106)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke (StatelessContainer.java:304)
в org.jboss.aop.Dispatcher.invoke (Dispatcher.java:106)
в org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke (AOPRemotingInvocationHandler.java:82)
на org.jboss.remoting.ServerInvoker.invoke (ServerInvoker.java:809)
в org.jboss.remoting.transport.socket.ServerThread.processInvocation (ServerThread.java:608)
в org.jboss.remoting.transport.socket.ServerThread.dorun (ServerThread.java:406)
в org.jboss.remoting.transport.socket.ServerThread.run (ServerThread.java:173)
в org.jboss.remoting.MicroRemoteClientInvoker.invoke (MicroRemoteClientInvoker.java:163)
на org.jboss.remoting.Client.invoke (Client.java:1634)
на org.jboss.remoting.Client.invoke (Client.java:548)
на org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke (InvokeRemoteInterceptor.java:62)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
на org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke (ClientTxPropagationInterceptor.java:67)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.aspects.security.SecurityClientInterceptor.invoke (SecurityClientInterceptor.java:53)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.ejb3.remoting.IsLocalInterceptor.invoke (IsLocalInterceptor.java:74)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke (StatelessRemoteProxy.java:107)
на $ Proxy0.retrieveAll (неизвестный источник)
в com.topcoder.test.TestEntityTestCase.testFake (TestEntityTestCase.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод)
at sun.reflect.NativeMethodAccessorImpl.invoke (неизвестный источник)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (неизвестный источник)
в java.lang.reflect.Method.invoke (Неизвестный источник)
at junit.framework.TestCase.runTest (TestCase.java:164)
at junit.framework.TestCase.runBare (TestCase.java:130)
на junit.framework.TestResult $ 1.protect (TestResult.java:106)в junit.framework.TestResult.runProtected (TestResult.java:124)
на junit.framework.TestResult.run (TestResult.java:109)
at junit.framework.TestCase.run (TestCase.java:120)
на junit.framework.TestSuite.runTest (TestSuite.java:230)
на junit.framework.TestSuite.run (TestSuite.java:225)
в org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run (JUnit3TestReference.java:130)
в org.eclipse.jdt.internal.junit.runner.TestExecution.run (TestExecution.java:38)
в org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:460)
в org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:673)
в org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run (RemoteTestRunner.java:386)
в org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (RemoteTestRunner.java:196)
на org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke (InvokeRemoteInterceptor.java:74)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
на org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke (ClientTxPropagationInterceptor.java:67)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.aspects.security.SecurityClientInterceptor.invoke (SecurityClientInterceptor.java:53)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.ejb3.remoting.IsLocalInterceptor.invoke (IsLocalInterceptor.java:74)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke (StatelessRemoteProxy.java:107)
на $ Proxy0.retrieveAll (неизвестный источник)
в com.topcoder.test.TestEntityTestCase.testFake (TestEntityTestCase.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод)
at sun.reflect.NativeMethodAccessorImpl.invoke (неизвестный источник)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (неизвестный источник)
в java.lang.reflect.Method.invoke (Неизвестный источник)
at junit.framework.TestCase.runTest (TestCase.java:164)
at junit.framework.TestCase.runBare (TestCase.java:130)
на junit.framework.TestResult $ 1.protect (TestResult.java:106)
в junit.framework.TestResult.runProtected (TestResult.java:124)
на junit.framework.TestResult.run (TestResult.java:109)
at junit.framework.TestCase.run (TestCase.java:120)
на junit.framework.TestSuite.runTest (TestSuite.java:230)
на junit.framework.TestSuite.run (TestSuite.java:225)
в org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run (JUnit3TestReference.java:130)
в org.eclipse.jdt.internal.junit.runner.TestExecution.run (TestExecution.java:38)
в org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:460)
в org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:673)
в org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run (RemoteTestRunner.java:386)
в org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (RemoteTestRunner.java:196)
Вызывается: org.hibernate.hql.ast.QuerySyntaxException: TestEntity не отображается [FROM TestEntity]
в org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister (SessionFactoryHelper.java:158)
в org.hibernate.hql.ast.tree.FromElementFactory.addFromElement (FromElementFactory.java:87)
в org.hibernate.hql.ast.tree.FromClause.addFromElement (FromClause.java:70)
в org.hibernate.hql.ast.HqlSqlWalker.createFromElement (HqlSqlWalker.java:255)
в org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement (HqlSqlBaseWalker.java:3056)
в org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList (HqlSqlBaseWalker.java:2945)
в org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause (HqlSqlBaseWalker.java:688)
в org.hibernate.hql.antlr.HqlSqlBaseWalker.query (HqlSqlBaseWalker.java:544)в org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement (HqlSqlBaseWalker.java:281)
в org.hibernate.hql.antlr.HqlSqlBaseWalker.statement (HqlSqlBaseWalker.java:229)
в org.hibernate.hql.ast.QueryTranslatorImpl.analyze (QueryTranslatorImpl.java:228)
в org.hibernate.hql.ast.QueryTranslatorImpl.doCompile (QueryTranslatorImpl.java:160)
в org.hibernate.hql.ast.QueryTranslatorImpl.compile (QueryTranslatorImpl.java:111)
в org.hibernate.engine.query.HQLQueryPlan. (HQLQueryPlan.java:77)
в org.hibernate.engine.query.HQLQueryPlan. (HQLQueryPlan.java:56)
в org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan (QueryPlanCache.java:72)
в org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan (AbstractSessionImpl.java:133)
в org.hibernate.impl.AbstractSessionImpl.createQuery (AbstractSessionImpl.java:112)
в org.hibernate.impl.SessionImpl.createQuery (SessionImpl.java:1623)
в org.hibernate.ejb.AbstractEntityManagerImpl.createQuery (AbstractEntityManagerImpl.java:93)
в org.jboss.ejb3.entity.TransactionScopedEntityManager.createQuery (TransactionScopedEntityManager.java:134)
на com.topcoder.test.TestBean.retrieveAll (TestBean.java:62)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод)
at sun.reflect.NativeMethodAccessorImpl.invoke (неизвестный источник)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (неизвестный источник)
в java.lang.reflect.Method.invoke (Неизвестный источник)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:112)
в org.jboss.ejb3.interceptor.InvocationContextImpl.proceed (InvocationContextImpl.java:166)
в org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke (EJB3InterceptorsInterceptor.java:63)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke (TransactionScopedEntityManagerInterceptor.java:54)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
at org.jboss.ejb3.AllowedOperationsInterceptor.invoke (AllowedOperationsInterceptor.java:47)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
на org.jboss.aspects.tx.TxPolicy.invokeInOurTx (TxPolicy.java:79)
в org.jboss.aspects.tx.TxInterceptor $ Required.invoke (TxInterceptor.java:191)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
на org.jboss.aspects.tx.TxPropagationInterceptor.invoke (TxPropagationInterceptor.java:95)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke (StatelessInstanceInterceptor.java:62)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.aspects.security.AuthenticationInterceptor.invoke (AuthenticationInterceptor.java:77)
в org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke (Ejb3AuthenticationInterceptor.java:110)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.ejb3.ENCPropagationInterceptor.invoke (ENCPropagationInterceptor.java:46)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke (AsynchronousInterceptor.java:106)
в org.jboss.aop.joinpoint.MethodInvocation.invokeNext (MethodInvocation.java:101)
в org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke (StatelessContainer.java:304)
в org.jboss.aop.Dispatcher.invoke (Dispatcher.java:106)
в org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke (AOPRemotingInvocationHandler.java:82)
на org.jboss.remoting.ServerInvoker.invoke (ServerInvoker.java:809)
в org.jboss.remoting.transport.socket.ServerThread.processInvocation (ServerThread.java:608)в org.jboss.remoting.transport.socket.ServerThread.dorun (ServerThread.java:406)
в org.jboss.remoting.transport.socket.ServerThread.run (ServerThread.java:173)