[rules-users] [droolsflow] JPAVariablePersister Crashing SQL Server RPC?

Bill Tarr javatestcase at yahoo.com
Fri Oct 16 00:26:07 EDT 2009


Has anyone successfully used JPAVariablePersister on Sql Server?  The quick hits are we are running MSSQL 2008, and after introducing JPAVariablePersister (which is described very well in http://blog.athico.com/2009/09/drools-flow-variable-persistence.html) every time I run my test case, the DB becomes non-responsive, returning from any JDBC pings:

    java.sql.SQLException: I/O Error: DB server closed connection.

You can't even connect through MSSQL Management Studios, looks like RPC service has gone down.  Haven't been able to do much troubleshooting yet (slow going when you need to get a DBA to reboot your sever every time.)

I've already tested out the JPAKnowledgeService with some success.  Setting up my session with the following code,  I can see the SessionInfo, ProcessInstanceInfo, ProcessInstanceInfo_eventTypes tables storing data, looks pretty solid, and I can grab the processes again.

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("org.drools.persistence.jpa");
    env = KnowledgeBaseFactory.newEnvironment();
    env.set(EnvironmentName.ENTITY_MANAGER_FACTORY, emf);
    session = JPAKnowledgeService.newStatefulKnowledgeSession(knowledgeBase, null, env);

    Map<String, Object> parameterMap = new HashMap<String, Object>();
    parameterMap.put("claim", claim);
    processInstance = session.startProcess(CLAIMS_DEMO, parameterMap);

I want to store my variable separately though, as we already have them as Hibernate DTOs.  So I added the following code, as well as adding JPAVariablePersister to my persistence.xml.

    VariablePersistenceStrategyFactory.getVariablePersistenceStrategy()
            .setPersister("javax.persistence.Entity",
                    "org.drools.persistence.processinstance.persisters.JPAVariablePersister");

The code appears to run through.  This time, I can see data in  the SessionInfo, ProcessInstanceInfo, ProcessInstanceInfo_eventTypes tables, as well as additional data in VariableInstanceInfo, and my two entities (Claim, which has a List of Role.)  The data looks pretty good, and my process logs hit the expected nodes.
 
Anyway, I'll post more as I learn it.  Let me know if anyone else is running into this.
 
Thanks!
 
Bill


      




More information about the rules-users mailing list