JBoss Community

Using multiple kSessions

created by Richard Evans in jBPM - View the full discussion

I have not been able to get multiple sessions working properly:

 

  • I declare multiple sessions in the spring context (see below).
  • I start a pool of threads. As each thread is executed I grab session and save it in a ThreadLocal.
  • I despatch calls to kSession.startProcess in each thread.

 

Is this a reasonable approach?

 

I find that this will run OK for a while but ultimately will fail either with an NPE in ProcessInstanceImpl getProcess because kruntime is null OR will fail to commit a transaction because it has already been committed.


Regards,

Richard

 

 

 

 

 

<drools:ksession id="kSession1" type="stateful" kbase="kBase">

    <drools:configuration>

        <drools:work-item-handlers>

            <!-- Process : ServiceNowCMDB CreateCI -->

            <drools:work-item-handler name="ServiceNowCmdbMapperST" ref="ServiceNowCmdbMapperHandler"/>

            ...etc

       

        </drools:work-item-handlers>

        <!-- jBPM Persistence -->

        <drools:jpa-persistence>

            <drools:transaction-manager ref="transactionManager" />

            <drools:entity-manager-factory ref="entityManagerFactory" />  

        </drools:jpa-persistence>

    </drools:configuration>

</drools:ksession>

 

<drools:ksession id="kSession2" type="stateful" kbase="kBase">

    <drools:configuration>

        <drools:work-item-handlers>

            <!-- Process : ServiceNowCMDB CreateCI -->

            <drools:work-item-handler name="ServiceNowCmdbMapperST" ref="ServiceNowCmdbMapperHandler"/>

            ...etc

       

        </drools:work-item-handlers>

        <!-- jBPM Persistence -->

        <drools:jpa-persistence>

            <drools:transaction-manager ref="transactionManager" />

            <drools:entity-manager-factory ref="entityManagerFactory" />  

        </drools:jpa-persistence>

    </drools:configuration>

</drools:ksession>

Reply to this message by going to Community

Start a new discussion in jBPM at Community