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&...]