[jboss-user] [JBoss Seam] - <transaction:ejb-transaction/> and SeamTest
fernando_jmt
do-not-reply at jboss.com
Sat Jun 30 21:54:55 EDT 2007
I just migrated my application from Seam 1.2 to Seam 2.0.0.BETA1 using Tomcat 6 and Embedded Jboss, it works like a charm.
But, when I tried to execute the test suites I got the following exceptions:
| uildfile: D:\Fer\srcEjemplos\Seam\seam2gen\build.xml
| compiletest:
| copytestclasses:
| buildtest:
| [copy] Copying 1 file to D:\Fer\srcEjemplos\Seam\seam2gen\test-build\META-INF
| [copy] Copying 1 file to D:\Fer\srcEjemplos\Seam\seam2gen\test-build
| test:
| [testng] [Parser] Running:
| [testng] D:\Fer\srcEjemplos\Seam\seam2gen\test-build\seam2Test.xml
| [testng] WARN 30-06 21:28:38,824 (UnifiedLoaderRepository3.java:addClassLoader:675) -Tried to add non-URLClassLoader. Ignored
| [testng] WARN 30-06 21:28:40,590 (TxControl.java:<clinit>:266) -[com.arjuna.ats.arjuna.coordinator.TxControl_1] - Name of XA node not defined. Using -37c5b421:885:46870348:0
| [testng] WARN 30-06 21:28:44,809 (JDBCPersistenceManager.java:start:143) -
| [testng] JBoss Messaging Warning: DataSource connection transaction isolation should be READ_COMMITTED, but it is currently NONE.
| [testng] Using an isolation level less strict than READ_COMMITTED may lead to data consistency problems.
| [testng] Using an isolation level more strict than READ_COMMITTED may lead to deadlock.
| [testng] ERROR 30-06 21:28:56,106 (SeamPhaseListener.java:afterPhase:189) -uncaught exception
| [testng] java.lang.IllegalStateException: Could not commit transaction
| [testng] at org.jboss.seam.jsf.SeamPhaseListener.commitOrRollback(SeamPhaseListener.java:589)
| [testng] at org.jboss.seam.jsf.SeamPhaseListener.handleTransactionsAfterPhase(SeamPhaseListener.java:325)
| [testng] at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:226)
| [testng] at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:184)
| [testng] at org.jboss.seam.mock.BaseSeamTest$Request.applyRequestValuesPhase(BaseSeamTest.java:666)
| [testng] at org.jboss.seam.mock.BaseSeamTest$Request.emulateJsfLifecycle(BaseSeamTest.java:547)
| [testng] at org.jboss.seam.mock.BaseSeamTest$Request.run(BaseSeamTest.java:487)
| [testng] at com.mydomain.sean2gen.test.LoginTest.testLogin(LoginTest.java:77)
| [testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| [testng] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| [testng] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| [testng] at java.lang.reflect.Method.invoke(Unknown Source)
| [testng] at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:604)
| [testng] at org.testng.internal.Invoker.invokeMethod(Invoker.java:470)
| [testng] at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:564)
| [testng] at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:830)
| [testng] at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
| [testng] at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
| [testng] at org.testng.TestRunner.runWorkers(TestRunner.java:678)
| [testng] at org.testng.TestRunner.privateRun(TestRunner.java:624)
| [testng] at org.testng.TestRunner.run(TestRunner.java:495)
| [testng] at org.testng.SuiteRunner.runTest(SuiteRunner.java:300)
| [testng] at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:295)
| [testng] at org.testng.SuiteRunner.privateRun(SuiteRunner.java:275)
| [testng] at org.testng.SuiteRunner.run(SuiteRunner.java:190)
| [testng] at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:792)
| [testng] at org.testng.TestNG.runSuitesLocally(TestNG.java:765)
| [testng] at org.testng.TestNG.run(TestNG.java:699)
| [testng] at org.testng.TestNG.privateMain(TestNG.java:824)
| [testng] at org.testng.TestNG.main(TestNG.java:802)
| [testng] Caused by: org.jboss.seam.InstantiationException: Could not instantiate Seam component: org.jboss.seam.transaction.transaction
| [testng] at org.jboss.seam.Component.newInstance(Component.java:1853)
| [testng] at org.jboss.seam.Component.getInstance(Component.java:1756)
| [testng] at org.jboss.seam.Component.getInstance(Component.java:1735)
| [testng] at org.jboss.seam.Component.getInstance(Component.java:1712)
| [testng] at org.jboss.seam.Component.getInstance(Component.java:1707)
| [testng] at org.jboss.seam.transaction.Transaction.instance(Transaction.java:96)
| [testng] at org.jboss.seam.jsf.SeamPhaseListener.commitOrRollback(SeamPhaseListener.java:576)
| [testng] ... 29 more
| [testng] Caused by: javax.naming.NameNotFoundException: EjbTransaction not bound
| [testng] at org.jnp.server.NamingServer.getBinding(NamingServer.java:542)
| [testng] at org.jnp.server.NamingServer.getBinding(NamingServer.java:550)
| [testng] at org.jnp.server.NamingServer.getObject(NamingServer.java:556)
| [testng] at org.jnp.server.NamingServer.lookup(NamingServer.java:267)
| [testng] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:628)
| [testng] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:590)
| [testng] at javax.naming.InitialContext.lookup(Unknown Source)
| [testng] at org.jboss.seam.Component.instantiateSessionBean(Component.java:1173)
| [testng] at org.jboss.seam.Component.instantiate(Component.java:1159)
| [testng] at org.jboss.seam.Component.newInstance(Component.java:1849)
| [testng] ... 35 more
| [testng] ERROR 30-06 21:28:56,121 (DebugPageHandler.java:handle:23) -redirecting to debug page
| [testng] javax.naming.NameNotFoundException: EjbTransaction not bound
| [testng] at org.jnp.server.NamingServer.getBinding(NamingServer.java:542)
| [testng] at org.jnp.server.NamingServer.getBinding(NamingServer.java:550)
| [testng] at org.jnp.server.NamingServer.getObject(NamingServer.java:556)
| [testng] at org.jnp.server.NamingServer.lookup(NamingServer.java:267)
| [testng] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:628)
| [testng] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:590)
| [testng] at javax.naming.InitialContext.lookup(Unknown Source)
| [testng] at org.jboss.seam.Component.instantiateSessionBean(Component.java:1173)
| [testng] at org.jboss.seam.Component.instantiate(Component.java:1159)
| [testng] at org.jboss.seam.Component.newInstance(Component.java:1849)
| [testng] at org.jboss.seam.Component.getInstance(Component.java:1756)
| [testng] at org.jboss.seam.Component.getInstance(Component.java:1735)
| [testng] at org.jboss.seam.Component.getInstance(Component.java:1712)
| [testng] at org.jboss.seam.Component.getInstance(Component.java:1707)
| [testng] at org.jboss.seam.transaction.Transaction.instance(Transaction.java:96)
| [testng] at org.jboss.seam.jsf.SeamPhaseListener.commitOrRollback(SeamPhaseListener.java:576)
| [testng] at org.jboss.seam.jsf.SeamPhaseListener.handleTransactionsAfterPhase(SeamPhaseListener.java:325)
| [testng] at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:226)
| [testng] at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:184)
| [testng] at org.jboss.seam.mock.BaseSeamTest$Request.applyRequestValuesPhase(BaseSeamTest.java:666)
| [testng] at org.jboss.seam.mock.BaseSeamTest$Request.emulateJsfLifecycle(BaseSeamTest.java:547)
| [testng] at org.jboss.seam.mock.BaseSeamTest$Request.run(BaseSeamTest.java:487)
| [testng] at com.mydomain.sean2gen.test.LoginTest.testLogin(LoginTest.java:77)
| [testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| [testng] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| [testng] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| [testng] at java.lang.reflect.Method.invoke(Unknown Source)
| [testng] at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:604)
| [testng] at org.testng.internal.Invoker.invokeMethod(Invoker.java:470)
| [testng] at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:564)
| [testng] at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:830)
| [testng] at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
| [testng] at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
| [testng] at org.testng.TestRunner.runWorkers(TestRunner.java:678)
| [testng] at org.testng.TestRunner.privateRun(TestRunner.java:624)
| [testng] at org.testng.TestRunner.run(TestRunner.java:495)
| [testng] at org.testng.SuiteRunner.runTest(SuiteRunner.java:300)
| [testng] at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:295)
| [testng] at org.testng.SuiteRunner.privateRun(SuiteRunner.java:275)
| [testng] at org.testng.SuiteRunner.run(SuiteRunner.java:190)
| [testng] at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:792)
| [testng] at org.testng.TestNG.runSuitesLocally(TestNG.java:765)
| [testng] at org.testng.TestNG.run(TestNG.java:699)
| [testng] at org.testng.TestNG.privateMain(TestNG.java:824)
| [testng] at org.testng.TestNG.main(TestNG.java:802)
| [testng] ERROR 30-06 21:28:56,137 (Contexts.java:flushAndDestroyContexts:335) -could not discover transaction status
|
It works fine when I remove <transaction:ejb-transaction/> from components.xml.
I also generated a seam-gen application adding such transaction:ejb-transaction configuration, and I get the same exception.
Any idea, what is wrong?
Thanks in advance.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4059418#4059418
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4059418
More information about the jboss-user
mailing list