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