Hey Martin, haven't looked at your code yet, but I have Drools 6 CR1 and 2 running in grails though without local HT and JTA persistence. It was pretty straight forward, just included the dependencies and pruned duplicate entries (check the dependency report).
If I get the plugin working I would be glad to share a demo project. However, I think that a fully fledged release of the plugin to grails central would take some more time. Cheers, Alex Am 03.09.2013 um 21:23 schrieb Martin Minka <[email protected]>: > Alex, > I am sorry, I don't have solution for your problem, but maybe I will work > soon on same issue. > Are you using Drools 6.0.0.CR2 ? If yes, where you able to overcome this > problem > http://drools.46999.n3.nabble.com/rules-users-classloader-problem-in-Drools-6-0-0-CR1-and-CR2-working-in-Beta5-td4025726.html > ? > > Do you mind to share your plugin code with community ? > > Best regards, > Martin > > > > 2013/9/3 Alexander Herwix <[email protected]> >> Hey guys, >> >> I'm working on a Grails plugin for Drools/Jbpm 6 and I have trouble to get >> persistence working in a user friendly way. It would be awesome if someone >> with a better understanding of drools and especially drools spring >> integration could help me to figure this out :) >> >> I have considered multiple approaches: >> >> - Use a spring LocalContainerEntityManagerFactoryBean with a local >> JpaTransactionManager to configure a KieEnvironment via Spring. >> >> I basically got this working, but this doesn't provide real integration with >> Grails, as there are 2 seperate local TransactionManagers involved - >> limiting the ability to integrate drools in the grails app. >> >> - Use JTA-Transactions. >> >> As I want the plugin to be as user friendly as possible I would like to keep >> using the default tomcat container for development. There is the Atomikos >> Plugin for Grails which configures Grails to work with JTA. This works >> pretty nicely and should suffice for the development environment. >> >> My problem is integrating the Atomikos backed JTATransactionManager with the >> drools 6 spring environment configuration as I have not much experience with >> JTA. I have looked at the Tests for Kie-Spring and looked at as much >> documentation as I could find, but I can't seem to figure this out. >> >> This is what I use to configure the environment via spring (in Grails groovy >> syntax) >> >> jbpmGlobals(MapGlobalResolver) >> >> dacceptor(ClassObjectMarshallingStrategyAcceptor,['*.*']) >> >> kie.kstore(id:'kiestore') >> >> kie.environment(id: 'jbpmEnv'){ >> kie.'entity-manager-factory'(ref:'entityManagerFactory') >> >> kie.globals(ref:'jbpmGlobals') >> >> kie.'object-marshalling-strategies'(){ >> kie.'jpa-placeholder-resolver-strategy'() >> >> kie.'serializable-placeholder-resolver-strategy'('strategy-acceptor-ref':"dacceptor") >> } >> } >> //Tried to wrap my JtaTransactionManager with KieSpringTransactionManager >> jbpmTransactionManager(KieSpringTransactionManager, >> ref('transactionManager')) >> >> the environment value for transactionManager cannot be set here, because the >> parser expects a JpaTransactionManager. I tried to add the >> transactionManager manually to the environment and found the >> KieSpringTransactionManager, which looked like it could help me somehow, but >> in the end, there is always the default implementation of the >> JtaTransactionManager used which can't find the transactionManager that I >> configured. >> >> Error: >> NamingException occurred when processing request: [GET] /bpm/test/testJbpm >> Cannot create resource instance. Stacktrace follows: >> javax.naming.NamingException: Cannot create resource instance >> at >> org.apache.naming.factory.TransactionFactory.getObjectInstance(TransactionFactory.java:116) >> at >> javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321) >> at org.apache.naming.NamingContext.lookup(NamingContext.java:843) >> at org.apache.naming.NamingContext.lookup(NamingContext.java:154) >> at org.apache.naming.NamingContext.lookup(NamingContext.java:831) >> at org.apache.naming.NamingContext.lookup(NamingContext.java:168) >> at org.apache.naming.SelectorContext.lookup(SelectorContext.java:158) >> at javax.naming.InitialContext.lookup(InitialContext.java:411) >> at >> org.drools.persistence.jta.JtaTransactionManager.findUserTransaction(JtaTransactionManager.java:122) >> at >> org.drools.persistence.jta.JtaTransactionManager.<init>(JtaTransactionManager.java:69) >> at >> org.drools.persistence.SingleSessionCommandService.initTransactionManager(SingleSessionCommandService.java:325) >> at >> org.drools.persistence.SingleSessionCommandService.<init>(SingleSessionCommandService.java:114) >> at >> org.drools.persistence.jpa.KnowledgeStoreServiceImpl.buildCommandService(KnowledgeStoreServiceImpl.java:129) >> at >> org.drools.persistence.jpa.KnowledgeStoreServiceImpl.newKieSession(KnowledgeStoreServiceImpl.java:67) >> at >> org.drools.persistence.jpa.KnowledgeStoreServiceImpl.newKieSession(KnowledgeStoreServiceImpl.java:36) >> at bpm.TestController.testJbpm(TestController.groovy:119) >> at >> grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:200) >> at >> grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63) >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >> at java.lang.Thread.run(Thread.java:722) >> >> >> I would be glad about any input. >> >> Cheers, Alex >> >> >> _______________________________________________ >> rules-users mailing list >> [email protected] >> https://lists.jboss.org/mailman/listinfo/rules-users > > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
