[jboss-jira] [JBoss JIRA] (WFLY-8942) Request Scope is not active during Batchlet
James Perkins (JIRA)
issues at jboss.org
Wed Jul 5 18:29:00 EDT 2017
[ https://issues.jboss.org/browse/WFLY-8942?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13431386#comment-13431386 ]
James Perkins commented on WFLY-8942:
-------------------------------------
I think we may need something like:
{code:java}
final RequestContext requestContext = beanManager.instance().select(RequestContext.class).get();
requestContext.activate();
// do stuff
requestContext.deactivate();
{code}
However that may require a {{BatchRequestContext}} type so that it's not ambiguous. I'm not sure where this all should live. It seems like it should be part of the WildFly Weld Maven module, however I didn't see a way to register a context during the Weld container start up. It's possible I'm just missing it though.
> Request Scope is not active during Batchlet
> -------------------------------------------
>
> Key: WFLY-8942
> URL: https://issues.jboss.org/browse/WFLY-8942
> Project: WildFly
> Issue Type: Bug
> Components: Batch, CDI / Weld
> Affects Versions: 10.1.0.Final
> Environment: Wildfly 10.1.0 Final
> Reporter: Cody Lerum
> Assignee: James Perkins
> Attachments: batch-chunk.war
>
>
> When executing a Java EE 7 batchlet if an injection of an @RequestScoped bean is attempted.
> Example
> {noformat}
> 20:57:13,995 WARN [org.jberet] (Batch Thread - 13) JBERET000001: Failed to run batchlet org.jberet.job.model.RefArtifact at b5b6a97: org.jboss.weld.context.ContextNotActiveException: WELD-001303: No active contexts for scope type javax.enterprise.context.RequestScoped
> at org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:689)
> at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.getIfExists(ContextualInstanceStrategy.java:90)
> at org.jboss.weld.bean.ContextualInstanceStrategy$CachingContextualInstanceStrategy.getIfExists(ContextualInstanceStrategy.java:165)
> at org.jboss.weld.bean.ContextualInstance.getIfExists(ContextualInstance.java:63)
> at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:83)
> at org.jboss.weld.bean.proxy.ProxyMethodHandler.getInstance(ProxyMethodHandler.java:125)
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
More information about the jboss-jira
mailing list