Uploaded image for project: 'JBRULES'
  1. JBRULES
  2. JBRULES-3378

ClassCastException when retrieving AgendaEventListener collection

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 5.3.2.Final, 5.4.0.CR1
    • None
    • None
    • None

    Description

      Following part of Spring configuration:

      <bean id="debug-agenda-listener"
      class="org.drools.event.DebugAgendaEventListener" />
      <drools:ksession id="statefulSession" type="stateful" kbase="kbase1">
      <drools:agendaEventListener ref="debug-agenda-listener"/>
      </drools:ksession>

      when trying to find out AgendaEventListener count registered in knowledge
      stateful session, got this exception:

      org.springframework.web.util.NestedServletException: Request processing failed;
      nested exception is java.lang.ClassCastException:
      org.jbpm.process.instance.ProcessRuntimeImpl$3 cannot be cast to
      org.drools.event.rule.AgendaEventListener

      org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:656)

      org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

      org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)

      root cause

      java.lang.ClassCastException: org.jbpm.process.instance.ProcessRuntimeImpl$3
      cannot be cast to org.drools.event.rule.AgendaEventListener

      org.drools.impl.StatefulKnowledgeSessionImpl.getAgendaEventListeners(StatefulKnowledgeSessionImpl.java:182)

      com.redhat.droolsspring.controllers.DroolsIntegrationStatefulTest.testAgendaListener(DroolsIntegrationStatefulTest.java:28)
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      java.lang.reflect.Method.invoke(Method.java:616)

      org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:174)

      org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:421)

      org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:409)

      org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771)

      org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)

      org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)

      org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

      org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)

      See attachment 542456 [details]:
      build as maven project, then deploy to tomcat, open webapp in browser and click
      on the first link.

      Attachments

        Activity

          People

            mfusco@redhat.com Mario Fusco
            mfusco@redhat.com Mario Fusco
            Archiver:
            rhn-support-ceverson Clark Everson

            Dates

              Created:
              Updated:
              Resolved:
              Archived:

              PagerDuty