JBoss Community

Re: jBPM5.3 and EJB3

created by ous2k in jBPM - View the full discussion

i've a sample code which invokes drools/jbpm using which is working correctly using static main method

i've made a sample jsf page which invokes a hello EJB it is working correctly

now i'd like to invoke the EJB which runs the same code(invoke drools rules )

when i made the change in EJB i'm getting this msg , first i  thougth it is not possible to use drools/jbpm with EJB,now i've the answer

-Drools Libraries i'm using drools-distribution-5.3.0.Final binaries

 

code:

package com.himilco.ocana.workflow.core.bo;

 

 

import java.util.Date;

 

 

import javax.ejb.EJB;

import javax.ejb.Stateful;

import javax.ejb.Stateless;

 

 

import org.drools.KnowledgeBase;

import org.drools.builder.KnowledgeBuilder;

import org.drools.builder.KnowledgeBuilderError;

import org.drools.builder.KnowledgeBuilderFactory;

import org.drools.builder.ResourceType;

import org.drools.io.ResourceFactory;

import org.drools.logger.KnowledgeRuntimeLoggerFactory;

import org.drools.runtime.StatefulKnowledgeSession;

 

 

import com.himilco.ocana.workflow.core.bo.model.OperatorInterventionStateBean;

import com.himilco.ocana.workflow.core.dao.entities.Ticket;

 

@Stateful

public class OperatorBO {

          private static  String DLRFileAssociated = "OperatorIntervention.drl";

 

 

          public void processOperatorInterventionChoice(String choice) {

                    System.out.println("processing operator choice...");

                    System.out.println("operator choice is: " + choice);

                    invokeOperatorChoiceRules();

          }

 

 

          public static void invokeOperatorChoiceRules() {

                    try {

 

 

                              StatefulKnowledgeSession ksession = createKnowledgeSession();

                              KnowledgeRuntimeLoggerFactory.newConsoleLogger(ksession);

                              // Fireing DISPATCH rule

                              Ticket ticket = new Ticket();

                              ticket.setStatus("NCPCOM");

                              ticket.setContent("testing content");

                              ticket.setStartTime(new Date());

                              ticket.setIdTicket(1);

                              ksession.insert(ticket);

 

 

                              MailManager mailManager = new MailManager();

                              ksession.insert(mailManager);

                              OperatorInterventionStateBean oi = new OperatorInterventionStateBean();

                              oi.setCheckCashTask(true);

                              oi.setRestartTask(true);

                              ksession.insert(oi);

                              ksession.fireAllRules();

                    } catch (Throwable t) {

                              t.printStackTrace();

                    }

          }

 

 

          private  static StatefulKnowledgeSession createKnowledgeSession() {

                    KnowledgeBuilder kbuilder = KnowledgeBuilderFactory

                                        .newKnowledgeBuilder();

                    kbuilder.add(

                                        ResourceFactory.newClassPathResource(getDLRFileAssociated()),

                                        ResourceType.DRL);

                    if (kbuilder.hasErrors()) {

                              if (kbuilder.getErrors().size() > 0) {

                                        for (KnowledgeBuilderError kerror : kbuilder.getErrors()) {

                                                  System.err.println(kerror);

                                        }

                              }

                    }

 

 

                    KnowledgeBase kbase = ((KnowledgeBuilder) kbuilder).newKnowledgeBase();   

                    StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();

                    return ksession;

          }

 

 

          public static  String getDLRFileAssociated() {

                    return DLRFileAssociated;

          }

 

 

          public void setDLRFileAssociated(String dLRFileAssociated) {

                    DLRFileAssociated = dLRFileAssociated;

          }

 

 

}

 

error Msg:

13:00:11,197 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015876: Starting deployment of "earExt2.ear"

13:00:11,383 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015876: Starting deployment of "ocanaExt2.war"

13:00:11,384 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) JBAS015876: Starting deployment of "ocana-coreExt2.jar"

13:00:11,729 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-7) JBAS015893: Encountered invalid class name 'com.sun.faces.vendor.Tomcat6InjectionProvider:org.apache.catalina.util.DefaultAnnotationProcessor' for service type 'com.sun.faces.spi.injectionprovider'

13:00:11,731 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-7) JBAS015893: Encountered invalid class name 'com.sun.faces.vendor.Jetty6InjectionProvider:org.mortbay.jetty.plus.annotation.InjectionCollection' for service type 'com.sun.faces.spi.injectionprovider'

13:00:11,890 INFO  [org.jboss.as.jpa] (MSC service thread 1-8) JBAS011401: Read persistence.xml for PU_OCANA

13:00:11,920 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC00001: Failed to start service jboss.deployment.subunit."earExt2.ear"."ocana-coreExt2.jar".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."earExt2.ear"."ocana-coreExt2.jar".POST_MODULE: Failed to process phase POST_MODULE of subdeployment "ocana-coreExt2.jar" of deployment "earExt2.ear"

          at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.0.Final.jar:7.1.0.Final]

          at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]

          at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]

          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0]

          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0]

          at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0]

Caused by: java.lang.RuntimeException: Error getting reflective information for class com.himilco.ocana.workflow.core.bo.OperatorBO with ClassLoader ModuleClassLoader for Module "deployment.earExt2.ear.ocana-coreExt2.jar:main" from Service Module Loader

          at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70) [jboss-as-server-7.1.0.Final.jar:7.1.0.Final]

          at org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:58)

          at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:70)

          at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:117)

          at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:54)

          at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.0.Final.jar:7.1.0.Final]

          ... 5 more

Caused by: java.lang.NoClassDefFoundError: org/drools/event/KnowledgeRuntimeEventManager

          at java.lang.Class.getDeclaredFields0(Native Method) [rt.jar:1.7.0]

          at java.lang.Class.privateGetDeclaredFields(Class.java:2308) [rt.jar:1.7.0]

          at java.lang.Class.getDeclaredFields(Class.java:1760) [rt.jar:1.7.0]

          at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:57) [jboss-as-server-7.1.0.Final.jar:7.1.0.Final]

          at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66) [jboss-as-server-7.1.0.Final.jar:7.1.0.Final]

          ... 10 more

Caused by: java.lang.ClassNotFoundException: org.drools.event.KnowledgeRuntimeEventManager from [Module "deployment.earExt2.ear.ocana-coreExt2.jar:main" from Service Module Loader]

          at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) [jboss-modules.jar:1.1.1.GA]

          at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.1.1.GA]

          at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.1.1.GA]

          at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.1.1.GA]

          at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.1.1.GA]

          ... 15 more

 

 

13:00:12,210 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015870: Deploy of deployment "earExt2.ear" was rolled back with failure message {"JBAS014671: Failed services" => {"jboss.deployment.subunit.\"earExt2.ear\".\"ocana-coreExt2.jar\".POST_MODULE" => "org.jboss.msc.service.StartException in service jboss.deployment.subunit.\"earExt2.ear\".\"ocana-coreExt2.jar\".POST_MODULE: Failed to process phase POST_MODULE of subdeployment \"ocana-coreExt2.jar\" of deployment \"earExt2.ear\""}}

13:00:12,210 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015877: Stopped deployment ocana-coreExt2.jar in 3ms

13:00:12,230 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-5) JBAS015877: Stopped deployment ocanaExt2.war in 19ms

13:00:12,231 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-5) JBAS015877: Stopped deployment earExt2.ear in 21ms

13:00:12,231 INFO  [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report

JBAS014777:   Services which failed to start:      service jboss.deployment.subunit."earExt2.ear"."ocana-coreExt2.jar".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."earExt2.ear"."ocana-coreExt2.jar".POST_MODULE: Failed to process phase POST_MODULE of subdeployment "ocana-coreExt2.jar" of deployment "earExt2.ear"

 

 

13:00:12,231 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014671: Failed services" => {"jboss.deployment.subunit.\"earExt2.ear\".\"ocana-coreExt2.jar\".POST_MODULE" => "org.jboss.msc.service.StartException in service jboss.deployment.subunit.\"earExt2.ear\".\"ocana-coreExt2.jar\".POST_MODULE: Failed to process phase POST_MODULE of subdeployment \"ocana-coreExt2.jar\" of deployment \"earExt2.ear\""}}}}

 

 

 

 


I'm using:

ide:eclipse 3.7 Indigo

AS:Jboss7

db:mysql 5

gui:JSF/PrimeFaces

bo:EJB3.1

    Drools/jbpm 5.3

Reply to this message by going to Community

Start a new discussion in jBPM at Community