[jboss-user] [jBPM] - jbpm 5.3 and Springframework

amadets do-not-reply at jboss.com
Wed Oct 10 05:41:22 EDT 2012

amadets [https://community.jboss.org/people/amadets] created the discussion

"jbpm 5.3 and Springframework"

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

I spent a lot of time to solve the problem but still she can not properly configure the environment.
I'm using:
Spring framework ver. 3.1.2
where my ApplicationContext-db is:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
  *.hbm.xml etc

  <Bean id = "transactionManager"
    class = "org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
  </ Bean>

I use the filter OpenSessionInView coming from Spring. 
The whole environment is set on jboss 7 and PostgreSQL 9.1.

For this environment wants to connect jbpm5.3. 
In the application I create META-INF/persistence.xml file where I configure:
<persistence-unit name="org.jbpm.persistence.jpa">
<Provider> org.hibernate.ejb.HibernatePersistence </ provider>
<property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
<property name="hibernate.connection.url" value="jdbc:postgresql://localhost/mydatabase" />
<property name="hibernate.connection.username" value="postgres"/>
<property name="hibernate.connection.password" value="postgres"/>
<property name="hibernate.transaction.manager_lookup_class" value="org.jbpm.integration.console.JBPMTransactionManager" />

Initializing jbpm code:
emf = Persistence.createEntityManagerFactory("org.jbpm.persistence.jpa");
env = KnowledgeBaseFactory.newEnvironment();
env.set(EnvironmentName.ENTITY_MANAGER_FACTORY, emf);

org.jbpm.task.service.TaskService taskService = new org.jbpm.task.service.TaskService (emf, SystemEventListenerFactory.getSystemEventListener ());
Map <string, Group> groups = new HashMap <string, Group> ();
<string, User> Map users = new HashMap <string, User> ();
taskService.addUsersAndGroups (users, groups);
localTaskService = new LocalTaskService (taskService);
ksession = JPAKnowledgeService.newStatefulKnowledgeSession (kbase, null, env);

SyncWSHumanTaskHandler humanTaskHandler = new SyncWSHumanTaskHandler (new LocalTaskService (taskService), ksession);
humanTaskHandler.setLocal (true);
humanTaskHandler.connect ();
ksession.getWorkItemManager (). registerWorkItemHandler ("Human Task", humanTaskHandler);
logger = new JPAWorkingMemoryDbLogger (ksession);

When the environment and the process are runing, i complete task's (localTaskService.complete(taskId, "user", null) and is stored in the database and only Task (!). 

why not write to database a sessionInfo, processInstanceInfo etc.. What else do I need to set the whole environment to work?
whether it is possible to set one transaction for the whole environment?
Additionally, displayed on the console:
AbstractEntityManagerImpl] Calling joinTransaction () on a non JTA EntityManager.

Additionally, when I set a whole as it is described in:
 http://docs.jboss.org/jbpm/v5.3/userguide/ch.integration.html http://docs.jboss.org/jbpm/v5.3/userguide/ch.integration.html # d0e7631
This environment does not start and the message is
no active Transaction with SingleSessionCommandService (152: persistenceContext.joinTransaction ()  ;) 

 Please any tips :) 

Reply to this message by going to Community

Start a new discussion in jBPM at Community

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20121010/77c192f0/attachment.html 

More information about the jboss-user mailing list