[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