[jboss-user] [jBPM] - Error while starting the process

VinothKumar Srinivasan do-not-reply at jboss.com
Mon Dec 24 02:20:29 EST 2012


VinothKumar Srinivasan [https://community.jboss.org/people/svinothmca] created the discussion

"Error while starting the process"

To view the discussion, visit: https://community.jboss.org/message/784815#784815

--------------------------------------------------------------
I am facing the following errors when i start the process 

Exception in thread "main" javax.persistence.PersistenceException: [PersistenceUnit: org.jbpm.persistence.jpa] Unable to build EntityManagerFactory
          at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:677)
          at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126)
          at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
          at org.jbpm.test.JBPMHelper.loadStatefulKnowledgeSession(JBPMHelper.java:147)
          at org.jbpm.test.JBPMHelper.newStatefulKnowledgeSession(JBPMHelper.java:136)
          at com.sample.ProcessMain.main(ProcessMain.java:20)
Caused by: org.hibernate.HibernateException: Could not obtain BTM transaction manager instance
          at org.hibernate.transaction.BTMTransactionManagerLookup.getTransactionManager(BTMTransactionManagerLookup.java:50)
          at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:367)
          at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1341)
          at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
          at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
          ... 5 more
Caused by: java.lang.reflect.InvocationTargetException
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:597)
          at org.hibernate.transaction.BTMTransactionManagerLookup.getTransactionManager(BTMTransactionManagerLookup.java:47)
          ... 9 more
Caused by: bitronix.tm.utils.InitializationException: cannot open disk journal
          at bitronix.tm.BitronixTransactionManager.<init>(BitronixTransactionManager.java:75)
          at bitronix.tm.TransactionManagerServices.getTransactionManager(TransactionManagerServices.java:62)
          ... 14 more
Caused by: java.io.IOException: The process cannot access the file because another process has locked a portion of the file
          at java.io.RandomAccessFile.read(Native Method)
          at java.io.RandomAccessFile.readInt(RandomAccessFile.java:720)
          at bitronix.tm.journal.TransactionLogHeader.<init>(TransactionLogHeader.java:96)
          at bitronix.tm.journal.TransactionLogAppender.<init>(TransactionLogAppender.java:69)
          at bitronix.tm.journal.DiskJournal.open(DiskJournal.java:151)
          at bitronix.tm.BitronixTransactionManager.<init>(BitronixTransactionManager.java:62)
          ... 15 more


The source code for this process is 
*Processmain.java ---* 


package com.sample;


import org.drools.KnowledgeBase;
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderFactory;
import org.drools.builder.ResourceType;
import org.drools.io.ResourceFactory;
import org.drools.runtime.StatefulKnowledgeSession;
import org.jbpm.test.JBPMHelper;


/**
 * This is a sample file to launch a process.
 */
public class ProcessMain {


          public static final void main(String[] args) throws Exception {
                    startUp();
                    // load up the knowledge base
                    KnowledgeBase kbase = readKnowledgeBase();
                    StatefulKnowledgeSession ksession = JBPMHelper.newStatefulKnowledgeSession(kbase);
                    // start a new process instance
                    ksession.startProcess("com.sample.bpmn.hello");
                    System.out.println("Process started ...");
          }


          private static KnowledgeBase readKnowledgeBase() throws Exception {
                    KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
                    kbuilder.add(ResourceFactory.newClassPathResource("sample.bpmn"), ResourceType.BPMN2);
                    return kbuilder.newKnowledgeBase();
          }

          private static void startUp() {
                    JBPMHelper.startH2Server();
                    JBPMHelper.setupDataSource();
                    // please comment this line if you already have the task service running,
                    // for example when running the jbpm-installer
                    //JBPMHelper.startTaskService();
          }

}


*ProcessTest.java -------*

package com.sample;


import java.util.List;


import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.runtime.process.ProcessInstance;
import org.jbpm.task.TaskService;
import org.jbpm.task.query.TaskSummary;
import org.jbpm.test.JbpmJUnitTestCase;
import org.junit.Test;


/**
 * This is a sample file to launch a process.
 */
public class ProcessTest extends JbpmJUnitTestCase {


          public ProcessTest() {
                    super(true);
                    setPersistence(true);
          }


          @Test
          public void testProcess() {
                    StatefulKnowledgeSession ksession = createKnowledgeSession("sample.bpmn");
                    TaskService taskService = getTaskService(ksession);

                    ProcessInstance processInstance = ksession.startProcess("com.sample.bpmn.hello");


                    assertProcessInstanceActive(processInstance.getId(), ksession);
                    assertNodeTriggered(processInstance.getId(), "Start", "Task 1");

                    // let john execute Task 1
                    List<TaskSummary> list = taskService.getTasksAssignedAsPotentialOwner("john", "en-UK");
                    TaskSummary task = list.get(0);
                    System.out.println("John is executing task " + task.getName());
                    taskService.start(task.getId(), "john");
                    taskService.complete(task.getId(), "john", null);


                    assertNodeTriggered(processInstance.getId(), "Task 2");

                    // let mary execute Task 2
                    list = taskService.getTasksAssignedAsPotentialOwner("mary", "en-UK");
                    task = list.get(0);
                    System.out.println("Mary is executing task " + task.getName());
                    taskService.start(task.getId(), "mary");
                    taskService.complete(task.getId(), "mary", null);


                    assertNodeTriggered(processInstance.getId(), "End");
                    assertProcessInstanceCompleted(processInstance.getId(), ksession);

                    ksession.dispose();
          }

}
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/784815#784815]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20121224/9c06af42/attachment-0001.html 


More information about the jboss-user mailing list