use of org.jboss.weld.context.bound.BoundRequestContext in project wildfly by wildfly.
the class WeldContextSetup method setup.
@SuppressWarnings("unchecked")
public void setup(Map<String, Object> properties) {
try {
final BeanManager manager = (BeanManager) new InitialContext().lookup(STANDARD_BEAN_MANAGER_JNDI_NAME);
if (manager != null && Container.available()) {
final Bean<BoundSessionContext> sessionContextBean = (Bean<BoundSessionContext>) manager.resolve(manager.getBeans(BoundSessionContext.class, BoundLiteral.INSTANCE));
CreationalContext<?> ctx = manager.createCreationalContext(sessionContextBean);
final BoundSessionContext sessionContext = (BoundSessionContext) manager.getReference(sessionContextBean, BoundSessionContext.class, ctx);
sessionContext.associate(sessionContexts.get());
sessionContext.activate();
final Bean<BoundRequestContext> requestContextBean = (Bean<BoundRequestContext>) manager.resolve(manager.getBeans(BoundRequestContext.class, BoundLiteral.INSTANCE));
ctx = manager.createCreationalContext(requestContextBean);
final BoundRequestContext requestContext = (BoundRequestContext) manager.getReference(requestContextBean, BoundRequestContext.class, ctx);
requestContext.associate(requestContexts.get());
requestContext.activate();
final Bean<BoundConversationContext> conversationContextBean = (Bean<BoundConversationContext>) manager.resolve(manager.getBeans(BoundConversationContext.class, BoundLiteral.INSTANCE));
ctx = manager.createCreationalContext(conversationContextBean);
final BoundConversationContext conversationContext = (BoundConversationContext) manager.getReference(conversationContextBean, BoundConversationContext.class, ctx);
BoundRequest request = new MutableBoundRequest(requestContexts.get(), sessionContexts.get());
boundRequests.set(request);
conversationContext.associate(request);
conversationContext.activate();
}
} catch (NamingException e) {
WeldLogger.ROOT_LOGGER.failedToSetupWeldContexts(e);
}
}
use of org.jboss.weld.context.bound.BoundRequestContext in project indy by Commonjava.
the class RequestScopeListener method requestInitialized.
@Override
public void requestInitialized(final ServletRequestEvent evt) {
final BoundRequestContext ctx = CDI.current().select(BoundRequestContext.class).get();
final Map<String, Object> instanceMap = new HashMap<>();
final ServletRequest req = evt.getServletRequest();
req.setAttribute(CDI_CONTEXT, ctx);
req.setAttribute(CDI_INSTANCE_MAP, instanceMap);
ctx.associate(instanceMap);
ctx.activate();
}
use of org.jboss.weld.context.bound.BoundRequestContext in project indy by Commonjava.
the class RequestScopeListener method requestDestroyed.
@Override
public void requestDestroyed(final ServletRequestEvent evt) {
final ServletRequest req = evt.getServletRequest();
@SuppressWarnings("unchecked") final Map<String, Object> instanceMap = (Map<String, Object>) req.getAttribute(CDI_INSTANCE_MAP);
final BoundRequestContext ctx = (BoundRequestContext) req.getAttribute(CDI_CONTEXT);
ctx.invalidate();
ctx.deactivate();
ctx.dissociate(instanceMap);
req.removeAttribute(CDI_CONTEXT);
req.removeAttribute(CDI_INSTANCE_MAP);
}
use of org.jboss.weld.context.bound.BoundRequestContext in project Payara by payara.
the class JavaEEContextUtilImpl method pushRequestContext.
/**
* pushes invocation context onto the stack
* Also creates Request scope
*
* @return new context that was created
*/
@Override
public Context pushRequestContext() {
Context rootCtx = pushContext();
BoundRequestContext brc = CDI.current().select(BoundRequestContext.class).get();
ContextImpl.RequestContext context = new ContextImpl.RequestContext(rootCtx, brc.isActive() ? null : brc, new HashMap<String, Object>());
if (context.ctx != null) {
context.ctx.associate(context.storage);
context.ctx.activate();
}
return context;
}
use of org.jboss.weld.context.bound.BoundRequestContext in project wildfly by wildfly.
the class WeldContextSetup method teardown.
@SuppressWarnings("unchecked")
public void teardown(Map<String, Object> properties) {
try {
final BeanManager manager = (BeanManager) new InitialContext().lookup("java:comp/BeanManager");
if (manager != null && Container.available()) {
final Bean<BoundSessionContext> sessionContextBean = (Bean<BoundSessionContext>) manager.resolve(manager.getBeans(BoundSessionContext.class, BoundLiteral.INSTANCE));
CreationalContext<?> ctx = manager.createCreationalContext(sessionContextBean);
final BoundSessionContext sessionContext = (BoundSessionContext) manager.getReference(sessionContextBean, BoundSessionContext.class, ctx);
sessionContext.invalidate();
sessionContext.deactivate();
sessionContext.dissociate(sessionContexts.get());
final Bean<BoundRequestContext> requestContextBean = (Bean<BoundRequestContext>) manager.resolve(manager.getBeans(BoundRequestContext.class, BoundLiteral.INSTANCE));
ctx = manager.createCreationalContext(requestContextBean);
final BoundRequestContext requestContext = (BoundRequestContext) manager.getReference(requestContextBean, BoundRequestContext.class, ctx);
requestContext.invalidate();
requestContext.deactivate();
requestContext.dissociate(requestContexts.get());
final Bean<BoundConversationContext> conversationContextBean = (Bean<BoundConversationContext>) manager.resolve(manager.getBeans(BoundConversationContext.class, BoundLiteral.INSTANCE));
ctx = manager.createCreationalContext(conversationContextBean);
final BoundConversationContext conversationContext = (BoundConversationContext) manager.getReference(conversationContextBean, BoundConversationContext.class, ctx);
conversationContext.invalidate();
conversationContext.deactivate();
conversationContext.dissociate(boundRequests.get());
}
} catch (NamingException e) {
WeldLogger.ROOT_LOGGER.failedToTearDownWeldContexts(e);
} finally {
sessionContexts.remove();
requestContexts.remove();
boundRequests.remove();
}
}
Aggregations