[rules-users] Process Persistence (JPA) and the WSHumanTaskHandler
SBalakrishnan
Sanjay.Balakrishnan at fnis.com
Mon Aug 10 11:32:02 EDT 2009
Pasted is the code to enabling persistence .Was using the Order Sample .
Appreciate your help.
Thanks
Sanjay
/*----------------------------------------------*/
private void createWorkingMemoryTest() {
try {
PoolingDataSource ds = new PoolingDataSource();
ds.setUniqueName("jdbc/testDS1");
ds.setClassName("org.h2.jdbcx.JdbcDataSource");
ds.setMaxPoolSize(3);
ds.setAllowLocalTransactions(true);
ds.getDriverProperties().put("user", "sa");
ds.getDriverProperties().put("password", "sasa");
ds.getDriverProperties().put("URL",
"jdbc:h2:file:/dev/CaseNoteBookRewirite/data/process-instance-db");
ds.init();
//new
EntityManagerFactory emf =
Persistence.createEntityManagerFactory( "org.drools.persistence.jpa"
);
Environment env = KnowledgeBaseFactory.newEnvironment();
env.set( EnvironmentName.ENTITY_MANAGER_FACTORY, emf );
kbase = createKnowledgeBase();
try {
ksession = JPAKnowledgeService.loadStatefulKnowledgeSession(
33, kbase, null, env);
System.out.println("Loading session data ...");
} catch (RuntimeException e) {
ksession = JPAKnowledgeService.newStatefulKnowledgeSession(
kbase, null, env);
System.out.println("Creating new session data ...");
}
int sessionId = ksession.getId();
WorkingMemoryDbLogger JPAlogger = new WorkingMemoryDbLogger(ksession);
CustomerService customerService = new DefaultCustomerService();
Customer c = new Customer("A-12345");
Calendar birthday = Calendar.getInstance();
birthday.set(1982, 1, 1);
c.setBirthday(birthday.getTime());
c.setFirstName("John");
c.setLastName("Doe");
customerService.addCustomer(c);
ksession.setGlobal("customerService", customerService);
ItemCatalog itemCatalog = new DefaultItemCatalog();
Item i = new Item("I-9876");
i.setName("PC game");
i.setMinimalAge(18);
itemCatalog.addItem(i);
i = new Item("I-5432");
i.setName("Laptop");
itemCatalog.addItem(i);
ksession.setGlobal("itemCatalog", itemCatalog);
/*WS Human Task Handler*/
WSHumanTaskHandler handler = new WSHumanTaskHandler();
ksession.getWorkItemManager().registerWorkItemHandler("Human Task",
handler);
//sanjay
} catch (Throwable t) {
t.printStackTrace();
}
}
/*----------------------------------------------*/
Mauricio Salatino wrote:
>
> Can you paste the code used to "enabling the JPA persistence"?
>
> On Sun, Aug 9, 2009 at 4:35 PM, SBalakrishnan
> <Sanjay.Balakrishnan at fnis.com>wrote:
>
>>
>> Hi,
>>
>> I am new to drools flow and have the question below.
>>
>> After enabling persisentence (JPA) on the process side and
>> using the out of the box WSHumanTaskHandler.
>>
>> Ran into a java.lang.NullPointerException on completing
>> the Human Task (used the Eclipse Human Task view to do it)
>>
>> [2009:08:221 14:08:765:exception] Uncaught exception on client
>> java.lang.NullPointerException
>> at
>>
>> org.drools.persistence.processinstance.JPAWorkItemManager.completeWorkItem(JPAWorkItemManager.java:83)
>> at
>>
>> org.drools.process.workitem.wsht.WSHumanTaskHandler$GetCompletedTaskResponseHandler.execute(WSHumanTaskHandler.java:282)
>> at
>>
>> org.drools.task.service.TaskClientHandler.messageReceived(TaskClientHandler.java:67)
>> at
>>
>> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:752)
>> at
>>
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:414)
>> at
>>
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:49)
>> at
>>
>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:832)
>> at
>>
>> org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:379)
>> at
>>
>> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:173)
>> at
>>
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:414)
>> at
>>
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:49)
>> at
>>
>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:832)
>> at
>>
>> org.apache.mina.core.filterchain.DefaultIoFilterChain$HeadFilter.messageReceived(DefaultIoFilterChain.java:616)
>> at
>>
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:414)
>> at
>>
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:408)
>> at
>>
>> org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:578)
>> at
>>
>> org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:540)
>> at
>>
>> org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:532)
>> at
>>
>> org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:58)
>> at
>>
>> org.apache.mina.core.polling.AbstractPollingIoProcessor$Worker.run(AbstractPollingIoProcessor.java:857)
>> at
>>
>> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
>> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
>> Source)
>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
>> Source)
>> at java.lang.Thread.run(Unknown Source)
>>
>>
>>
>> Am I missing something or does the WSHumanTaskHander not support
>> the above ?
>>
>>
>> Note:-
>> Was able to get these pieces working when process was
>> not using JPA persistence.
>>
>> Thanks
>> Sanjay
>> --
>> View this message in context:
>> http://www.nabble.com/Process-Persistence-%28JPA%29-and-the-WSHumanTaskHandler-tp24890353p24890353.html
>> Sent from the drools - user mailing list archive at Nabble.com.
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>
>
>
> --
> - http://salaboy.wordpress.com
> - http://www.jbug.com.ar
> - Salatino "Salaboy" Mauricio -
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
--
View this message in context: http://www.nabble.com/Process-Persistence-%28JPA%29-and-the-WSHumanTaskHandler-tp24890353p24901944.html
Sent from the drools - user mailing list archive at Nabble.com.
More information about the rules-users
mailing list