<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="https://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    Persistence Issues
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="https://community.jboss.org/people/nsit_yogesh">Yogesh Garg</a> in <i>jBPM</i> - <a href="https://community.jboss.org/message/772538#772538">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Hi all,</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I am receiving some issues and they seem to be revovling around persistence. I am using jBPM5.3 and jBOSS AS 7.0.2. I have done a vanilla installation. Please let me know if I am supposed to some customization as well. PFB the persistence.xml which I am using for my project and<strong> let me know what is missing or needs to change in it</strong>. Also I have included errors I am receiving. I am just plainly&#160; running my project. The project needs a human task so there is one org.jbpm.task. There is one doubt as well, we are not mentioning datasource for task's persistence as well, then how can hibernate know where it should store the objects. Secondly my most of the issues are revolving around org.peristence.jpa. Kindly help me!!!!</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Persistence.xml</p><pre class="jive-pre"><code class="jive-code jive-xml"><span class="jive-xml-tag">&lt;?xml version="1.0" encoding="UTF-8"?&gt;</span>
<span class="jive-xml-tag"><span>&lt;persistence version="1.0"
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xmlns="</span><a class="jive-link-external-small" href="http://java.sun.com/xml/ns/persistence" target="_blank">http://java.sun.com/xml/ns/persistence</a><span>" 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xmlns:orm="</span><a class="jive-link-external-small" href="http://java.sun.com/xml/ns/persistence/orm" target="_blank">http://java.sun.com/xml/ns/persistence/orm</a><span>" 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xmlns:xsi="</span><a class="jive-link-external-small" href="http://www.w3.org/2001/XMLSchema-instance" target="_blank">http://www.w3.org/2001/XMLSchema-instance</a><span>" 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xsi:schemaLocation="</span><a class="jive-link-external-small" href="http://java.sun.com/xml/ns/persistence" target="_blank">http://java.sun.com/xml/ns/persistence</a><span> </span><a class="jive-link-external-small" href="http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" target="_blank">http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd</a><span> </span><a class="jive-link-external-small" href="http://java.sun.com/xml/ns/persistence/orm" target="_blank">http://java.sun.com/xml/ns/persistence/orm</a><span> </span><a class="jive-link-external-small" href="http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" target="_blank">http://java.sun.com/xml/ns/persistence/orm_1_0.xsd</a><span>"&gt;</span></span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160; <span class="jive-xml-tag">&lt;persistence-unit name="org.jbpm.persistence.jpa" transaction-type="JTA"&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;provider&gt;</span>org.hibernate.ejb.HibernatePersistence<span class="jive-xml-tag">&lt;/provider&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;jta-data-source&gt;</span>jdbc/jbpm-ds<span class="jive-xml-tag">&lt;/jta-data-source&gt;</span>&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;mapping-file&gt;</span>META-INF/JBPMorm.xml<span class="jive-xml-tag">&lt;/mapping-file&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;mapping-file&gt;</span>META-INF/ProcessInstanceInfo.hbm.xml<span class="jive-xml-tag">&lt;/mapping-file&gt;</span>

&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.persistence.processinstance.ProcessInstanceInfo<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.drools.persistence.info.SessionInfo<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.drools.persistence.info.WorkItemInfo<span class="jive-xml-tag">&lt;/class&gt;</span>

&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.process.audit.ProcessInstanceLog<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.process.audit.NodeInstanceLog<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.process.audit.VariableInstanceLog<span class="jive-xml-tag">&lt;/class&gt;</span>

&#160;&#160;&#160; <span class="jive-xml-tag">&lt;properties&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernate.connection.driver_class" value="org.h2.Driver"/&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernate.connection.url" value="jdbc:h2:tcp://localhost/~/jbpm-db" /&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernate.max_fetch_depth" value="3"/&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-comment">&lt;!-- hbm2ddl.auto MUST BE update! The console will otherwise overwrite the schema with each new thread --&gt;
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernate.hbm2ddl.auto" value="update" /&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernate.connection.username" value="sa"/&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernate.connection.password" value=""/&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernate.connection.autocommit" value="false" /&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernate.show_sql" value="true" /&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="javax.persistence.validation.mode" value = "none"/&gt;</span>

&#160;&#160;&#160;&#160;&#160; &lt;!-- for AS7 --&gt;
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernate.transaction.manager_lookup_class" value="org.jbpm.integration.console.JBPMTransactionManager" /&gt;</span>
&#160;&#160;&#160;&#160;&#160; &lt;!-- for AS5 --&gt;
&#160;&#160;&#160;&#160;&#160; &lt;!-- <span class="jive-xml-tag">&lt;property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTransactionManagerLookup" /&gt;</span> --&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/properties&gt;</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160; <span class="jive-xml-tag">&lt;/persistence-unit&gt;</span>
&#160;&#160;&#160; 
&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;persistence-unit name="org.jbpm.task"&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;provider&gt;</span>org.hibernate.ejb.HibernatePersistence<span class="jive-xml-tag">&lt;/provider&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;mapping-file&gt;</span>META-INF/Taskorm.xml<span class="jive-xml-tag">&lt;/mapping-file&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.Attachment<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.Content<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.BooleanExpression<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.Comment<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.Deadline<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.Comment<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.Deadline<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.Delegation<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.Escalation<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.Group<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.I18NText<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.Notification<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.EmailNotification<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.EmailNotificationHeader<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.PeopleAssignments<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.Reassignment<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.Status<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.Task<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.TaskData<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.SubTasksStrategy<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.OnParentAbortAllSubTasksEndStrategy<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.OnAllSubTasksEndParentEndStrategy<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;class&gt;</span>org.jbpm.task.User<span class="jive-xml-tag">&lt;/class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;properties&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernate.connection.driver_class" value="org.h2.jdbcx.JdbcDataSource"/&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernate.connection.url" value="jdbc:h2:tcp://localhost/runtime/task" /&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernate.connection.username" value="sa"/&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernate.connection.password" value=""/&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernate.connection.autocommit" value="false" /&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernate.max_fetch_depth" value="3"/&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernate.hbm2ddl.auto" value="create" /&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernate.show_sql" value="true" /&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/properties&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/persistence-unit&gt;</span>
&#160;&#160;&#160; 
<span class="jive-xml-tag">&lt;/persistence&gt;</span>

</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Error on Console</p><pre class="jive-pre"><code class="jive-code jive-java">...0
26/10 16:01:46,245[main] ERROR hibernate.transaction.TransactionManagerLookupFactory.getTransactionManagerLookup&#160; - Could not instantiate TransactionManagerLookup
&#160;
java.lang.ClassNotFoundException: org.jbpm.integration.console.JBPMTransactionManager
&#160;
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
&#160;
at java.security.AccessController.doPrivileged(Native Method)
&#160;
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
&#160;
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
&#160;
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
&#160;
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
&#160;
at java.lang.Class.forName0(Native Method)
&#160;
at java.lang.Class.forName(Class.java:169)
&#160;
at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:192)
&#160;
at org.hibernate.transaction.TransactionManagerLookupFactory.getTransactionManagerLookup(TransactionManagerLookupFactory.java:86)
&#160;
at org.hibernate.cfg.SettingsFactory.createTransactionManagerLookup(SettingsFactory.java:433)
&#160;
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:158)
&#160;
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119)
&#160;
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2115)
&#160;
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1339)
&#160;
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
&#160;
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
&#160;
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126)
&#160;
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
&#160;
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
&#160;
at com.sample.ProcessMain.createKnowledgeSession(ProcessMain.java:154)
&#160;
at com.sample.ProcessMain.main(ProcessMain.java:51)
&#160;
Exception in thread <font color="red">"main"</font> javax.persistence.PersistenceException: [PersistenceUnit: org.jbpm.persistence.jpa] Unable to build EntityManagerFactory
&#160;
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:677)
&#160;
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126)
&#160;
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
&#160;
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
&#160;
at com.sample.ProcessMain.createKnowledgeSession(ProcessMain.java:154)
&#160;
at com.sample.ProcessMain.main(ProcessMain.java:51)
&#160;
Caused by: org.hibernate.HibernateException: Could not instantiate TransactionManagerLookup <font color="navy">'org.jbpm.integration.console.JBPMTransactionManager'</font>
&#160;
at org.hibernate.transaction.TransactionManagerLookupFactory.getTransactionManagerLookup(TransactionManagerLookupFactory.java:93)
&#160;
at org.hibernate.cfg.SettingsFactory.createTransactionManagerLookup(SettingsFactory.java:433)
&#160;
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:158)
&#160;
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119)
&#160;
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2115)
&#160;
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1339)
&#160;
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
&#160;
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
&#160;
... 5 more
&#160;
&#160;
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Regards,</p><p>Yogesh Garg</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="https://community.jboss.org/message/772538#772538">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in jBPM at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>