[arquillian-issues] [JBoss JIRA] (ARQ-1150) @Transactional javax.persistence.TransactionRequiredException: EntityManager must be access within a transaction

Matti Linnanvuori (JIRA) jira-events at lists.jboss.org
Thu Oct 11 09:41:09 EDT 2012


    [ https://issues.jboss.org/browse/ARQ-1150?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12725588#comment-12725588 ] 

Matti Linnanvuori commented on ARQ-1150:
----------------------------------------

@Transactional was indeed imported from org.jboss.arquillian.transaction.api.annotation. That was the problem and it went away by replacing the import.
                
> @Transactional javax.persistence.TransactionRequiredException: EntityManager must be access within a transaction 
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: ARQ-1150
>                 URL: https://issues.jboss.org/browse/ARQ-1150
>             Project: Arquillian
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Extension - Persistence
>    Affects Versions: persistence_1.0.0.Alpha5
>         Environment: Linux Ubuntu 12.04.1 LTS jdk64/jdk1.6.0_29 JBossAS 6.1.0.Final managed Ant Ivy JUnit
>            Reporter: Matti Linnanvuori
>            Assignee: Bartosz Majsak
>
> Using @Transactional does not avoid getting an error at em.persist.
>     [junit] EntityManager must be access within a transaction
>     [junit] javax.persistence.TransactionRequiredException: EntityManager must be access within a transaction
>     [junit] 	at org.jboss.jpa.deployment.ManagedEntityManagerFactory.verifyInTx(ManagedEntityManagerFactory.java:157)
>     [junit] 	at org.jboss.jpa.deployment.PersistenceUnitDeployment.verifyInTx(PersistenceUnitDeployment.java:318)
>     [junit] 	at org.jboss.jpa.impl.tx.TransactionScopedEntityManager.verifyInTx(TransactionScopedEntityManager.java:105)
>     [junit] 	at org.jboss.jpa.impl.tx.TransactionScopedEntityManager.persist(TransactionScopedEntityManager.java:205)
>     [junit] 	at com.ecolane.test.unit.TripRestTest.testLockRunsForTrips(TripRestTest.java:132)
>     [junit] 	at org.jboss.arquillian.junit.Arquillian$6$1.invoke(Arquillian.java:270)
>     [junit] 	at org.jboss.arquillian.container.test.impl.execution.LocalTestExecuter.execute(LocalTestExecuter.java:60)
>     [junit] 	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>     [junit] 	at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
>     [junit] 	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
>     [junit] 	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
>     [junit] 	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
>     [junit] 	at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
>     [junit] 	at org.jboss.arquillian.container.test.impl.execution.ContainerTestExecuter.execute(ContainerTestExecuter.java:38)
>     [junit] 	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>     [junit] 	at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
>     [junit] 	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
>     [junit] 	at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:89)
>     [junit] 	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>     [junit] 	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
>     [junit] 	at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)
>     [junit] 	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>     [junit] 	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
>     [junit] 	at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
>     [junit] 	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>     [junit] 	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
>     [junit] 	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
>     [junit] 	at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.test(EventTestRunnerAdaptor.java:111)
>     [junit] 	at org.jboss.arquillian.junit.Arquillian$6.evaluate(Arquillian.java:263)
>     [junit] 	at org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:226)
>     [junit] 	at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
>     [junit] 	at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
>     [junit] 	at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:240)
>     [junit] 	at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:185)
>     [junit] 	at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
>     [junit] 	at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
>     [junit] 	at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199)
>     [junit] 	at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147)
>     [junit] 	at org.jboss.arquillian.junit.container.JUnitTestRunner.execute(JUnitTestRunner.java:65)
>     [junit] 	at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.executeTest(ServletTestRunner.java:160)
>     [junit] 	at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.execute(ServletTestRunner.java:126)
>     [junit] 	at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.doGet(ServletTestRunner.java:90)
>     [junit] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
>     [junit] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>     [junit] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324)
>     [junit] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
>     [junit] 	at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:67)
>     [junit] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)
>     [junit] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
>     [junit] 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
>     [junit] 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
>     [junit] 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181)
>     [junit] 	at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285)
>     [junit] 	at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261)
>     [junit] 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88)
>     [junit] 	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100)
>     [junit] 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159)
>     [junit] 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>     [junit] 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
>     [junit] 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>     [junit] 	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53)
>     [junit] 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)
>     [junit] 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
>     [junit] 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654)
>     [junit] 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)
>     [junit] 	at java.lang.Thread.run(Thread.java:662)
>     @Test
>     @Transactional
>     public void testLockRunsForTrips() throws java.text.ParseException,
>             java.io.IOException, org.xml.sax.SAXException {
>         final Trip trip = new Trip(0);
>         final MetaRoute metaRoute = new MetaRoute(0);
>         trip.setMetaRoute(metaRoute);
>         final Run run = new RealRun(new RunPK(0));
>         metaRoute.setRun(run);
>         final Route route = new Route(0);
>         route.setMetaRoute(metaRoute);
>         final Stop stop = new Stop();
>         stop.setStopType(DatabaseConstants.STOP_TYPE_AVAILABILITY_START);
>         stop.setRoute(route);
>         final String DATE = "2012-09-27";
>         final Calendar time = DatatypeConverter.parseDate(DATE);
>         final Calendar startTime = (Calendar) time.clone();
>         startTime.add(Calendar.HOUR, 8);
>         metaRoute.setStartTime(startTime.getTime());
>         startTime.add(Calendar.MINUTE, 15);
>         trip.setPromisedPickup(startTime.getTime());
>         em.persist(trip);
>         <dependency org="org.jboss.arquillian.container" name="arquillian-jbossas-managed-6" rev="1.0.0.Final-SNAPSHOT" />
>         <dependency org="org.jboss.arquillian.extension" name="arquillian-persistence-impl" rev="1.0.0.Alpha5"/>
>         <dependency org="org.jboss.arquillian.extension" name="arquillian-transaction-api" rev="1.0.0.Final-SNAPSHOT"/>

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the arquillian-issues mailing list