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