[ 
https://issues.apache.org/jira/browse/TOMEE-1013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13733200#comment-13733200
 ] 

Romain Manni-Bucau commented on TOMEE-1013:
-------------------------------------------

Ok

in fact there are some issues in your test:
1) you inject a stateful with @EJB which doesn't make sense since this way it 
doesn't have a lifecycle (using @Inject make it linked to the scope you used = 
@SessionScoped)
2) you stateful is bound to session so it needs a request and with tomee 
embedded you don't have it. The easier way to get it working it do execute the 
test as a client using a "test servlet" or whatever you want which forces you 
to do a http request to let the server create a session

It works in standalone tomee because you do a request and in tomee-remote 
because a request is done implicitely to execute the test
                
> ContextNotActiveException using TomEE embedded into Arquillian
> --------------------------------------------------------------
>
>                 Key: TOMEE-1013
>                 URL: https://issues.apache.org/jira/browse/TOMEE-1013
>             Project: TomEE
>          Issue Type: Bug
>          Components: TomEE Arquillian Adapters
>    Affects Versions: 1.5.2
>         Environment: Mac OS, Java 1.7.0_10
>            Reporter: Luca Masini
>         Attachments: testcase-cdi-stateful.zip
>
>
> You cannot use a transactional event listener from a Stateful EJB to a 
> business method of the same bean:
> @Stateful
> public class MySFEJB {
> ....
>     public void sender() {
>         transactionListener.fire(new Payload());
>     }
>     public void receiver(@Observes(during = TransactionPhase.AFTER_SUCCESS) 
> Payload payload) {
> // code omitted
>     }
> into the log you can read:
> INFO: Cannot send event to bean in non-active context : 
> [ExtendedEntityManagerService, Name:null, WebBeans Type:ENTERPRISE, API 
> Types:[java.io.Serializable,java.lang.Object,net.lucamasini.synch.mobile.boundary.ExtendedEntityManagerService],
>  Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default]]
> then inside the container this Exception is raised (BeanManagerImpl.java:351):
>             throw new ContextNotActiveException("WebBeans context with scope 
> type annotation @"
>                                                 + scopeType.getSimpleName() + 
> " does not exist within current thread");
> Everything works fine using the same code inside TomEE as a normal container 
> and not for Integration Tests.

--
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

Reply via email to