CDI Request Scope does not work in Job Executor Threads on WLS

XMLWordPrintable

    • Type: Bug Report
    • Resolution: Unresolved
    • Priority: L3 - Default
    • None
    • Affects Version/s: None
    • Component/s: engine

      Problem Description
      ===============

      @RequestScoped CDI Beans cannot be used from Job Executor Threads. This affects

      • @RequestScoped CDI Beans invoked from service tasks or Listeners after Timers
      • @RequestScoped CDI Beans invoked from service tasks or Listeners after asynchronous continuations

      The following engine-integration tests are affected and excluded form CI at the moment:

      • `JobExecutorRequestContextTest`
      • `JobExecutorRequestContextLocalInvocationTest`
      • `JobExecutorRequestContextSFSBDelegateTest`

      The testcase `JobExecutorRequestContextRemoteInvocationTest` works since in that case we invoke a Remote Business interface of an EJB in which case the weblogic seems to correctly open and scope the Request Context.

      Suspected Reason
      ==============

      The reason is that Weblogic does not associate a RequestScope with the current thread upon the invocation of an MDB. The Java EE 6 Spec mandates this but Weblogic does not seem to implement this correctly

      Proposed Workaround(s)
      ==================

      • Wait / push for bugfix in Weblogic
      • use JBoss Weld API directly to control the request scope oursselves

        This is the controller panel for Smart Panels app

              Assignee:
              Unassigned
              Reporter:
              Daniel Meyer
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: