=== Environment ==============================
- jBPM Version : 4.1
- Database : Oracle 10.2
- JDK : 1.6
- Container : JBoss 4.2.3
- Configuration : custom jbpm.cfg.xml only, see below
- Libraries : the exact versions of the libs from inside the jbpm
distribution
=== Process ==================================
Just a Test Jpdl: Start -> Task -> End
=== Stacktrace ==============================
No stack trace, only a warning:
15:32:14,624 WARN [AbstractEntityManagerImpl] Cannot join transaction: do not override
hibernate.transaction.factory_class
=== Problem description =========================
I try to integrate JBPM4.1 with my application based on Seam 2.2.0 and Richfaces 3.3.1.
We are using a persistence.xml instead of jbpm.hibernate.cfg.xml so I modified the
persistence.xml:
<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
| <!-- Persistence deployment descriptor for dev profile -->
| <persistence
xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
|
| <persistence-unit name="pmscada">
| <provider>org.hibernate.ejb.HibernatePersistence</provider>
| <jta-data-source>java:/pmscadaDatasource</jta-data-source>
|
| <!-- JBPM4 mappings -->
| <mapping-file>jbpm.repository.hbm.xml</mapping-file>
| <mapping-file>jbpm.execution.hbm.xml</mapping-file>
| <mapping-file>jbpm.history.hbm.xml</mapping-file>
| <mapping-file>jbpm.task.hbm.xml</mapping-file>
| <mapping-file>jbpm.identity.hbm.xml</mapping-file>
|
| <properties>
| <property name="hibernate.dialect"
value="org.hibernate.dialect.Oracle10gDialect"/>
| <property name="hibernate.default_schema"
value="schema"/>
| <property name="hibernate.hbm2ddl.auto"
value="create"/>
| <property name="jboss.entity.manager.factory.jndi.name"
value="java:/pmscadaEntityManagerFactory"/>
| <property name="hibernate.show_sql" value="false"/>
|
| <property name="hibernate.format_sql" value="true"/>
| <property name="use_sql_comments" value="true"/>
|
| <property name="hibernate.transaction.factory_class"
value="org.hibernate.transaction.JTATransactionFactory"/>
| <properties>
| </persistence-unit>
| </persistence>
|
In the jbpm.cfg.xml I removed <!--hibernate-session-factory /--> and added
<pilot-integration/>, the remain is like tho original jbpm.cfg.xml.
pilot-integration is declared in jbpm.user.wire.bindings.xml:
| <wire-bindings>
|
| <binding class="...PilotBinding" />
|
| </wire-bindings>
|
This class provides a PilotDescriptor
| ...
| public class PilotBinding extends WireDescriptorBinding
| {
| public PilotBinding()
| {
| super( "pilot-integration" );
| }
|
| /** {@inheritDoc} */
| @Override
| public Object parse( Element element, Parse parse, Parser parser )
| {
| return new PilotDescriptor();
| }
|
| }
|
And the PilotDescriptor returns the Hibernate SessionFactory:
| ...
| public class PilotDescriptor extends AbstractDescriptor
| {
| private static final long serialVersionUID = 3380911977887594063L;
|
| /** The session factory. */
| private static SessionFactory sessionFactory;
|
| public static void setSessionFactory( SessionFactory sessionFactory )
| {
| PilotDescriptor.sessionFactory = sessionFactory;
| }
|
| /** {@inheritDoc} */
| @Override
| public Object construct( WireContext wireContext )
| {
| return sessionFactory;
| }
|
| /** {@inheritDoc} */
| @Override
| public Class<?> getType( WireDefinition wireDefinition )
| {
| return SessionFactory.class;
| }
| }
|
The Session factory is set on startup using the static function.
This configuration is running fine, it is possible to put "our" Hibernate
entities as varibles in ProcessInstances.
My first question is now:
Is this the right way to integrate JBPM in my application ?
The second:
What does the Warning Cannot join transaction: do not override
hibernate.transaction.factory_class mean ? The application is running anyway.
Thanks,
Joerg
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4257860#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...