[jboss-user] [jBPM] - Re: jBPM persistence configuration

Florent GUERIN do-not-reply at jboss.com
Mon Jun 4 10:59:05 EDT 2012


Florent GUERIN [https://community.jboss.org/people/fguerin] created the discussion

"Re: jBPM persistence configuration"

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

--------------------------------------------------------------
Thanks  https://community.jboss.org/people/gardellajp gardellajp,

I do some modification this afternoon and modify a little my code to integrate Bitronix.

This is my persistence.xml file:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<persistence version="1.0"
          xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
                                 http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd
                                 http://java.sun.com/xml/ns/persistence/orm 
                                 http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
          xmlns:orm="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns="http://java.sun.com/xml/ns/persistence">


          <persistence-unit name="org.jbpm.persistence" transaction-type="RESOURCE_LOCAL">
                    <provider>org.hibernate.ejb.HibernatePersistence</provider>
  
                    <jta-data-source>jdbc/jbpm</jta-data-source>


                    <mapping-file>META-INF/JBPMorm.xml</mapping-file>
                    <mapping-file>META-INF/Taskorm.xml</mapping-file>
                    <mapping-file>META-INF/ProcessInstanceInfo.hbm.xml</mapping-file>


                    <class>org.jbpm.persistence.processinstance.ProcessInstanceInfo</class>
                    <class>org.drools.persistence.info.SessionInfo</class>
                    <class>org.drools.persistence.info.WorkItemInfo</class>


                    <class>org.jbpm.process.audit.ProcessInstanceLog</class>
                    <class>org.jbpm.process.audit.NodeInstanceLog</class>
                    <class>org.jbpm.process.audit.VariableInstanceLog</class>


                    <class>org.jbpm.task.Attachment</class>
                    <class>org.jbpm.task.Content</class>
                    <class>org.jbpm.task.BooleanExpression</class>
                    <class>org.jbpm.task.Comment</class>
                    <class>org.jbpm.task.Deadline</class>
                    <class>org.jbpm.task.Comment</class>
                    <class>org.jbpm.task.Deadline</class>
                    <class>org.jbpm.task.Delegation</class>
                    <class>org.jbpm.task.Escalation</class>
                    <class>org.jbpm.task.Group</class>
                    <class>org.jbpm.task.I18NText</class>
                    <class>org.jbpm.task.Notification</class>
                    <class>org.jbpm.task.EmailNotification</class>
                    <class>org.jbpm.task.EmailNotificationHeader</class>
                    <class>org.jbpm.task.PeopleAssignments</class>
                    <class>org.jbpm.task.Reassignment</class>
                    <class>org.jbpm.task.Status</class>
                    <class>org.jbpm.task.Task</class>
                    <class>org.jbpm.task.TaskData</class>
                    <class>org.jbpm.task.SubTasksStrategy</class>
                    <class>org.jbpm.task.OnParentAbortAllSubTasksEndStrategy</class>
                    <class>org.jbpm.task.OnAllSubTasksEndParentEndStrategy</class>
                    <class>org.jbpm.task.User</class>


                    <properties>
                              <!-- SQL Logs -->
                              <property name="hibernate.show_sql" value="true" />
                              <property name="hibernate.format_sql" value="true"/>
                              <property name="use_sql_comments" value="true"/>
                              <!-- Transaction manager -->
                              <property name="transaction.manager_lookup_class" value="org.hibernate.transaction.BTMTransactionManagerLookup" />
                              <!-- Automatic creation of the schema -->
                              <property name="hibernate.hbm2ddl.auto" value="create" />
                              <!-- Hibernate dialect -->
                               <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /> 
                    </properties>
          </persistence-unit>


</persistence>


On the code to create the PoolingDataSource:
                                PoolingDataSource poolingDataSource = new PoolingDataSource();
                              poolingDataSource.setClassName("com.mysql.jdbc.jdbc2.optional.MysqlXADataSource");
                              poolingDataSource.setUniqueName("jdbc/jbpm");
                              poolingDataSource.setMaxPoolSize(3);
                              poolingDataSource.setAllowLocalTransactions(true);
                              poolingDataSource.setTestQuery("SELECT 1 FROM DUAL");
                              poolingDataSource.getDriverProperties().setProperty("user", "****");
                              poolingDataSource.getDriverProperties().setProperty("password", "****");
                              poolingDataSource.getDriverProperties().setProperty("URL", "jdbc:mysql://localhost:3306/****");
                              poolingDataSource.init();


The table are now created, no exception exept this :
ATTENTION: cannot get this JVM unique ID. Make sure it is configured and you only use ASCII characters. Will use IP address instead (unsafe for production usage!).

Now i try to activate the history log like i say in my first post. But i don't know how to do this. i try with this :

JbpmHelper.getKnowledgeBase().addKnowledgePackages(knowledgePackages);
                                                            JPAWorkingMemoryDbLogger logger = new JPAWorkingMemoryDbLogger(JbpmHelper.getKnowledgeSession());
                                                            JbpmHelper.getKnowledgeSession().startProcess("com.sample.bpmn.hello");
                                                            logger.dispose();


But i have this exception:
java.lang.NullPointerException
          at org.jbpm.process.audit.JPAWorkingMemoryDbLogger.addProcessLog(JPAWorkingMemoryDbLogger.java:90)
          at org.jbpm.process.audit.JPAWorkingMemoryDbLogger.logEventCreated(JPAWorkingMemoryDbLogger.java:65)
          at org.drools.audit.WorkingMemoryLogger.filterLogEvent(WorkingMemoryLogger.java:196)
          at org.drools.audit.WorkingMemoryLogger.beforeProcessStarted(WorkingMemoryLogger.java:421)
          at org.drools.event.ProcessEventSupport.fireBeforeProcessStarted(ProcessEventSupport.java:40)
          at org.jbpm.process.instance.ProcessRuntimeImpl.startProcessInstance(ProcessRuntimeImpl.java:167)
          at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:138)
          at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:130)
          at org.drools.common.AbstractWorkingMemory.startProcess(AbstractWorkingMemory.java:1077)
          at org.drools.impl.StatefulKnowledgeSessionImpl.startProcess(StatefulKnowledgeSessionImpl.java:315)


Best regards,

Florent
--------------------------------------------------------------

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

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/20120604/d53bcf55/attachment-0001.html 


More information about the jboss-user mailing list