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

"Store variables in DB?"

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

--------------------------------------------------------------
Hey Guys,

The 'problem' I have is a bit difficultly to describe, but I will give my best:

I use jBPM 5.2 in a Web-Application at an JBoss 6 AS with a PostgreSQL (just 
for info).

I start a process in an Seam bean like this:

public void startProcess() {
     
        EntityManagerFactory emf = entityManager.getEntityManagerFactory();
        TransactionManagerService tms = new TransactionManagerService();
                
        Environment env = KnowledgeBaseFactory.newEnvironment();
        env.set(EnvironmentName.ENTITY_MANAGER_FACTORY, emf);
        env.set(EnvironmentName.TRANSACTION_MANAGER, 
tms.getTransactionManager());
        
        Properties properties = new Properties();
        
properties.put("drools.processInstanceManagerFactory","org.jbpm.persistence.processinstance.JPAProcessInstanceManagerFactory");
        
properties.put("drools.processSignalManagerFactory","org.jbpm.persistence.processinstance.JPASignalManagerFactory");
        KnowledgeSessionConfiguration config = 
KnowledgeBaseFactory.newKnowledgeSessionConfiguration(properties);
    
        // load up the knowledge base
        KnowledgeBase kbase = readKnowledgeBase(processid);
        
        StatefulKnowledgeSession ksession = 
JPAKnowledgeService.newStatefulKnowledgeSession(kbase, config, env);
 
        JPAWorkingMemoryDbLogger logger = new 
JPAWorkingMemoryDbLogger(ksession);
        
        
ksession.getWorkItemManager().registerWorkItemHandler(LoadDataWorkItem.NAME, 
new LoadDataWorkItem());
        
ksession.getWorkItemManager().registerWorkItemHandler(TextOutputWorkItem.NAME, 
new TextOutputWorkItem());
        
ksession.getWorkItemManager().registerWorkItemHandler(ImageOutputWorkItem.NAME, 
new ImageOutputWorkItem());
        
        String id = "blackdata";
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("id", id);
 
        process = ksession.startProcess("de.toni.new", params);
 
        logger.dispose();
    }


My jBPM-Process only contains my own WorkItems. The process works great and all.

In my process I have some process variables like:

<property id="image" itemSubjectRef="_imageItem"/>
<property id="text" itemSubjectRef="_textItem"/>


That I read and edit in my WorkItems:

String text = (String) workItem.getParameter("text");
 
Map<String, Object> results = new HashMap<String, Object>();
results.put("text", text);
manager.completeWorkItem(workItem.getId(), results);


The problem is, that these variables are in the process and not in the 
database. I thought, the persistence and serializable of all would save these 
in my db.

So my question to you:
How can I get these variables out of the process in a db?
I hope you understand what I mean, if not, just ask.  :)
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/649727#649727]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]

_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to