From mproctor at codehaus.org Tue Apr 1 07:56:21 2014 From: mproctor at codehaus.org (Mark Proctor) Date: Tue, 1 Apr 2014 12:56:21 +0100 Subject: [rules-users] part time intern @ Red Hat In-Reply-To: References: Message-ID: <58EEEA36-C53A-4007-847D-F9FB4D62DDE8@codehaus.org> Just confirming your email, I?m still waiting for all responses, before contacting people further. Mark On 21 Mar 2014, at 08:52, Bharadwaj N wrote: > I am interested. please let me know the full details. > > > > > > Thanks, > > Bharadwaj nakka. > Techlead at techmahindra. > > > On Thu, Mar 20, 2014 at 9:28 PM, Mark Proctor wrote: > I have a small budget for a part time intern for one year, 12K USD. The work can be 100% remote, from almost any country. This will mostly be UI work, improving our workbench. > > If this interests you, email me off list. > > Mark > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140401/e78aedc1/attachment.html From bharadwaj2012 at gmail.com Tue Apr 1 08:13:10 2014 From: bharadwaj2012 at gmail.com (Bharadwaj N) Date: Tue, 1 Apr 2014 17:43:10 +0530 Subject: [rules-users] part time intern @ Red Hat In-Reply-To: <58EEEA36-C53A-4007-847D-F9FB4D62DDE8@codehaus.org> References: <58EEEA36-C53A-4007-847D-F9FB4D62DDE8@codehaus.org> Message-ID: So you are preparing a team? On Tue, Apr 1, 2014 at 5:26 PM, Mark Proctor wrote: > Just confirming your email, I'm still waiting for all responses, before > contacting people further. > > Mark > > On 21 Mar 2014, at 08:52, Bharadwaj N wrote: > > I am interested. please let me know the full details. > > > > > > Thanks, > > Bharadwaj nakka. > Techlead at techmahindra. > > > On Thu, Mar 20, 2014 at 9:28 PM, Mark Proctor wrote: > >> I have a small budget for a part time intern for one year, 12K USD. The >> work can be 100% remote, from almost any country. This will mostly be UI >> work, improving our workbench. >> >> If this interests you, email me off list. >> >> Mark >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140401/621e5eef/attachment.html From mproctor at codehaus.org Tue Apr 1 09:05:59 2014 From: mproctor at codehaus.org (Mark Proctor) Date: Tue, 1 Apr 2014 14:05:59 +0100 Subject: [rules-users] part time intern @ Red Hat In-Reply-To: References: <58EEEA36-C53A-4007-847D-F9FB4D62DDE8@codehaus.org> Message-ID: <2DC4FBD3-499D-4250-BDE5-ECC560C6B595@codehaus.org> No, there will be one potential position. I will contact individuals who showed interest shortly. Mark On 1 Apr 2014, at 13:13, Bharadwaj N wrote: > So you are preparing a team? > > > On Tue, Apr 1, 2014 at 5:26 PM, Mark Proctor wrote: > Just confirming your email, I?m still waiting for all responses, before contacting people further. > Mark > > On 21 Mar 2014, at 08:52, Bharadwaj N wrote: > >> I am interested. please let me know the full details. >> >> >> >> >> >> Thanks, >> >> Bharadwaj nakka. >> Techlead at techmahindra. >> >> >> On Thu, Mar 20, 2014 at 9:28 PM, Mark Proctor wrote: >> I have a small budget for a part time intern for one year, 12K USD. The work can be 100% remote, from almost any country. This will mostly be UI work, improving our workbench. >> >> If this interests you, email me off list. >> >> Mark >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140401/f8b1a6ac/attachment.html From romain.thouvenin at amadeus.com Tue Apr 1 09:24:43 2014 From: romain.thouvenin at amadeus.com (Romain Thouvenin) Date: Tue, 1 Apr 2014 18:54:43 +0530 Subject: [rules-users] Memory leak due CompositeClassLoader Message-ID: Hello, I am working on a Web application that uses a third-party component that uses Drools 5.2.1 (I know this is old, but this is not my choice). While investigating memory leaks in my application, I found out that after redeploying the webapp in the application server (Weblogic), the leaking class loader is referenced by: org.drools.util.CompositeClassLoader.classLoaders This is because when that class is instantiated by org.drools.util.ClassLoaderUtil, the initial list of class loaders includes the context class loader of the current thread, which is the class loader of my webapp. But the class loader of CompositeClassLoader is not the same as my webapp, so when I redeploy my webapp CompositeClassLoader continues to exist and keep that reference to the webapp class loader, which is therefore never garbage-collected. Browsing a bit through the code, I see no reference to CompositeClassLoader.removeClassLoader that could remove the faulty reference. So my questions are: 1) Is my investigation correct? 2) I found this thread on the list: http://drools.46999.n3.nabble.com/permgen-leak-td4027038i20.html Is this the same issue as mine, meaning that it is fixed in 5.6.0 and 6.0? If yes, pushing this third-party component to upgrade is really the only solution I have? I am not at all a knowledgeable user of drools, I just happen to be user of that third-party component, that is why I wanted confirmation of my findings. Thanks for your help! Romain -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140401/fec1dd9c/attachment.html From shrinath.managuli at aspiresys.com Tue Apr 1 09:28:26 2014 From: shrinath.managuli at aspiresys.com (Shrinath Managuli) Date: Tue, 1 Apr 2014 13:28:26 +0000 Subject: [rules-users] kie-drools workbench 6.0.1 on WebSphere 8.5.5 Message-ID: Hi all, I'm trying to tweak with workbench war meant for tomcat 7 work for webshpere 8.5.5. Has anyone tried this combination yet? Errors: (1) com.ibm.ws.amm.scan.context.ScannerContextImpl getInputDataForClass Failed to open resource [ 1/0/org/apache/xml/resolver/CatalogManager.class ] from module [ WEB-INF/lib/jaxb-xjc-2.2.5.jar ] (2) ERROR Unable to build index of kmodule.xml url=wsjar:file:/D:/Program%20Files%20(x86)/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/Aspire1206Node01Cell/kie-drools-wb-distribution-wars-6_0_1_Final-tomcat7_0_war.ear/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar!/META-INF/kmodule.xml -Shrinath Managuli [Aspire Systems] This e-mail message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140401/518c08fd/attachment-0001.html From michael.anstis at gmail.com Tue Apr 1 09:32:39 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Tue, 1 Apr 2014 14:32:39 +0100 Subject: [rules-users] kie-drools workbench 6.0.1 on WebSphere 8.5.5 In-Reply-To: References: Message-ID: There is a WAS distribution you can try (for the next release, or grab it from github). It was no simple exercise making it work on WAS. On 1 April 2014 14:28, Shrinath Managuli wrote: > Hi all, > > I'm trying to tweak with workbench war meant for tomcat 7 work for > webshpere 8.5.5. > > Has anyone tried this combination yet? > > Errors: > > (1) com.ibm.ws.amm.scan.context.ScannerContextImpl getInputDataForClass > Failed to open resource [ 1/0/org/apache/xml/resolver/CatalogManager.class > ] from module [ WEB-INF/lib/jaxb-xjc-2.2.5.jar ] > > (2) ERROR Unable to build index of kmodule.xml > url=wsjar:file:/D:/Program%20Files%20(x86)/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/Aspire1206Node01Cell/kie-drools-wb-distribution-wars-6_0_1_Final-tomcat7_0_war.ear/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar!/META-INF/kmodule.xml > > > > -Shrinath Managuli > > > [image: Aspire Systems] > > This e-mail message and any attachments are for the sole use of the > intended recipient(s) and may contain proprietary, confidential, trade > secret or privileged information. Any unauthorized review, use, disclosure > or distribution is prohibited and may be a violation of law. If you are not > the intended recipient, please contact the sender by reply e-mail and > destroy all copies of the original message. > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140401/5a14ef62/attachment.html From shrinath.managuli at aspiresys.com Tue Apr 1 09:35:01 2014 From: shrinath.managuli at aspiresys.com (Shrinath Managuli) Date: Tue, 1 Apr 2014 13:35:01 +0000 Subject: [rules-users] kie-drools workbench 6.0.1 on WebSphere 8.5.5 In-Reply-To: References: Message-ID: <02f076a2df1f458dada698f7cddab4d7@HKNPR02MB019.apcprd02.prod.outlook.com> Could you provide the link to that WAS! From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Michael Anstis Sent: 01 April 2014 19:03 To: Rules Users List Subject: Re: [rules-users] kie-drools workbench 6.0.1 on WebSphere 8.5.5 There is a WAS distribution you can try (for the next release, or grab it from github). It was no simple exercise making it work on WAS. On 1 April 2014 14:28, Shrinath Managuli > wrote: Hi all, I'm trying to tweak with workbench war meant for tomcat 7 work for webshpere 8.5.5. Has anyone tried this combination yet? Errors: (1) com.ibm.ws.amm.scan.context.ScannerContextImpl getInputDataForClass Failed to open resource [ 1/0/org/apache/xml/resolver/CatalogManager.class ] from module [ WEB-INF/lib/jaxb-xjc-2.2.5.jar ] (2) ERROR Unable to build index of kmodule.xml url=wsjar:file:/D:/Program%20Files%20(x86)/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/Aspire1206Node01Cell/kie-drools-wb-distribution-wars-6_0_1_Final-tomcat7_0_war.ear/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar!/META-INF/kmodule.xml -Shrinath Managuli [Image removed by sender. Aspire Systems] This e-mail message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users [Aspire Systems] This e-mail message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140401/9e69ad36/attachment.html -------------- next part -------------- A non-text attachment was scrubbed... Name: ~WRD000.jpg Type: image/jpeg Size: 823 bytes Desc: ~WRD000.jpg Url : http://lists.jboss.org/pipermail/rules-users/attachments/20140401/9e69ad36/attachment.jpg From michael.anstis at gmail.com Tue Apr 1 09:39:02 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Tue, 1 Apr 2014 14:39:02 +0100 Subject: [rules-users] kie-drools workbench 6.0.1 on WebSphere 8.5.5 In-Reply-To: <02f076a2df1f458dada698f7cddab4d7@HKNPR02MB019.apcprd02.prod.outlook.com> References: <02f076a2df1f458dada698f7cddab4d7@HKNPR02MB019.apcprd02.prod.outlook.com> Message-ID: https://github.com/droolsjbpm/kie-wb-distributions Depends if you want kie-wb or kie-drools-wb as to the child folder you need. Build whichever you need with -Dfull. On 1 April 2014 14:35, Shrinath Managuli wrote: > Could you provide the link to that WAS! > > > > *From:* rules-users-bounces at lists.jboss.org [mailto: > rules-users-bounces at lists.jboss.org] *On Behalf Of *Michael Anstis > *Sent:* 01 April 2014 19:03 > *To:* Rules Users List > *Subject:* Re: [rules-users] kie-drools workbench 6.0.1 on WebSphere 8.5.5 > > > > There is a WAS distribution you can try (for the next release, or grab it > from github). > > > > It was no simple exercise making it work on WAS. > > > > On 1 April 2014 14:28, Shrinath Managuli > wrote: > > Hi all, > > I'm trying to tweak with workbench war meant for tomcat 7 work for > webshpere 8.5.5. > > Has anyone tried this combination yet? > > Errors: > > (1) com.ibm.ws.amm.scan.context.ScannerContextImpl getInputDataForClass > Failed to open resource [ 1/0/org/apache/xml/resolver/CatalogManager.class > ] from module [ WEB-INF/lib/jaxb-xjc-2.2.5.jar ] > > (2) ERROR Unable to build index of kmodule.xml > url=wsjar:file:/D:/Program%20Files%20(x86)/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/Aspire1206Node01Cell/kie-drools-wb-distribution-wars-6_0_1_Final-tomcat7_0_war.ear/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar!/META-INF/kmodule.xml > > > > -Shrinath Managuli > > > > [image: Image removed by sender. Aspire Systems] > > This e-mail message and any attachments are for the sole use of the > intended recipient(s) and may contain proprietary, confidential, trade > secret or privileged information. Any unauthorized review, use, disclosure > or distribution is prohibited and may be a violation of law. If you are not > the intended recipient, please contact the sender by reply e-mail and > destroy all copies of the original message. > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > > [image: Aspire Systems] > > This e-mail message and any attachments are for the sole use of the > intended recipient(s) and may contain proprietary, confidential, trade > secret or privileged information. Any unauthorized review, use, disclosure > or distribution is prohibited and may be a violation of law. If you are not > the intended recipient, please contact the sender by reply e-mail and > destroy all copies of the original message. > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140401/d0f97273/attachment-0001.html -------------- next part -------------- A non-text attachment was scrubbed... Name: ~WRD000.jpg Type: image/jpeg Size: 823 bytes Desc: not available Url : http://lists.jboss.org/pipermail/rules-users/attachments/20140401/d0f97273/attachment-0001.jpg From chap10 at live.ru Tue Apr 1 09:39:19 2014 From: chap10 at live.ru (Ievgenii) Date: Tue, 1 Apr 2014 06:39:19 -0700 (PDT) Subject: [rules-users] kie-drools workbench 6.0.1 on WebSphere 8.5.5 In-Reply-To: <02f076a2df1f458dada698f7cddab4d7@HKNPR02MB019.apcprd02.prod.outlook.com> References: <02f076a2df1f458dada698f7cddab4d7@HKNPR02MB019.apcprd02.prod.outlook.com> Message-ID: <1396359559307-4029057.post@n3.nabble.com> https://github.com/droolsjbpm/kie-wb-distributions/tree/6.0.x_was8/kie-wb/kie-wb-distribution-wars/src/main/was8 -- View this message in context: http://drools.46999.n3.nabble.com/rules-users-kie-drools-workbench-6-0-1-on-WebSphere-8-5-5-tp4029054p4029057.html Sent from the Drools: User forum mailing list archive at Nabble.com. From chap10 at live.ru Tue Apr 1 09:41:28 2014 From: chap10 at live.ru (Ievgenii) Date: Tue, 1 Apr 2014 06:41:28 -0700 (PDT) Subject: [rules-users] kie-drools workbench 6.0.1 on WebSphere 8.5.5 In-Reply-To: <02f076a2df1f458dada698f7cddab4d7@HKNPR02MB019.apcprd02.prod.outlook.com> References: <02f076a2df1f458dada698f7cddab4d7@HKNPR02MB019.apcprd02.prod.outlook.com> Message-ID: <1396359688259-4029059.post@n3.nabble.com> You need to use IBM WebSphere main profile, not LibertyProfile. Best regards, Ievgenii Drozd. -- View this message in context: http://drools.46999.n3.nabble.com/rules-users-kie-drools-workbench-6-0-1-on-WebSphere-8-5-5-tp4029054p4029059.html Sent from the Drools: User forum mailing list archive at Nabble.com. From shrinath.managuli at aspiresys.com Tue Apr 1 09:43:04 2014 From: shrinath.managuli at aspiresys.com (Shrinath Managuli) Date: Tue, 1 Apr 2014 13:43:04 +0000 Subject: [rules-users] kie-drools workbench 6.0.1 on WebSphere 8.5.5 In-Reply-To: References: <02f076a2df1f458dada698f7cddab4d7@HKNPR02MB019.apcprd02.prod.outlook.com> Message-ID: <70993232f2da44d794ed3cefaa3792d0@HKNPR02MB019.apcprd02.prod.outlook.com> I am keen to have kie-drools-wb So -Dfull does the magic! From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Michael Anstis Sent: 01 April 2014 19:09 To: Rules Users List Subject: Re: [rules-users] kie-drools workbench 6.0.1 on WebSphere 8.5.5 https://github.com/droolsjbpm/kie-wb-distributions Depends if you want kie-wb or kie-drools-wb as to the child folder you need. Build whichever you need with -Dfull. On 1 April 2014 14:35, Shrinath Managuli > wrote: Could you provide the link to that WAS! From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Michael Anstis Sent: 01 April 2014 19:03 To: Rules Users List Subject: Re: [rules-users] kie-drools workbench 6.0.1 on WebSphere 8.5.5 There is a WAS distribution you can try (for the next release, or grab it from github). It was no simple exercise making it work on WAS. On 1 April 2014 14:28, Shrinath Managuli > wrote: Hi all, I'm trying to tweak with workbench war meant for tomcat 7 work for webshpere 8.5.5. Has anyone tried this combination yet? Errors: (1) com.ibm.ws.amm.scan.context.ScannerContextImpl getInputDataForClass Failed to open resource [ 1/0/org/apache/xml/resolver/CatalogManager.class ] from module [ WEB-INF/lib/jaxb-xjc-2.2.5.jar ] (2) ERROR Unable to build index of kmodule.xml url=wsjar:file:/D:/Program%20Files%20(x86)/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/Aspire1206Node01Cell/kie-drools-wb-distribution-wars-6_0_1_Final-tomcat7_0_war.ear/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar!/META-INF/kmodule.xml -Shrinath Managuli [Image removed by sender. Aspire Systems] This e-mail message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users [Image removed by sender. Aspire Systems] This e-mail message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users [Aspire Systems] This e-mail message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140401/899cda5b/attachment.html -------------- next part -------------- A non-text attachment was scrubbed... Name: ~WRD000.jpg Type: image/jpeg Size: 823 bytes Desc: ~WRD000.jpg Url : http://lists.jboss.org/pipermail/rules-users/attachments/20140401/899cda5b/attachment.jpg From shrinath.managuli at aspiresys.com Tue Apr 1 09:44:04 2014 From: shrinath.managuli at aspiresys.com (Shrinath Managuli) Date: Tue, 1 Apr 2014 13:44:04 +0000 Subject: [rules-users] kie-drools workbench 6.0.1 on WebSphere 8.5.5 In-Reply-To: <1396359559307-4029057.post@n3.nabble.com> References: <02f076a2df1f458dada698f7cddab4d7@HKNPR02MB019.apcprd02.prod.outlook.com> <1396359559307-4029057.post@n3.nabble.com> Message-ID: Feeling confident with this link. Let me try. -----Original Message----- From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Ievgenii Sent: 01 April 2014 19:09 To: rules-users at lists.jboss.org Subject: Re: [rules-users] kie-drools workbench 6.0.1 on WebSphere 8.5.5 https://github.com/droolsjbpm/kie-wb-distributions/tree/6.0.x_was8/kie-wb/kie-wb-distribution-wars/src/main/was8 -- View this message in context: http://drools.46999.n3.nabble.com/rules-users-kie-drools-workbench-6-0-1-on-WebSphere-8-5-5-tp4029054p4029057.html Sent from the Drools: User forum mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users [Aspire Systems] This e-mail message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. From shrinath.managuli at aspiresys.com Tue Apr 1 09:46:29 2014 From: shrinath.managuli at aspiresys.com (Shrinath Managuli) Date: Tue, 1 Apr 2014 13:46:29 +0000 Subject: [rules-users] kie-drools workbench 6.0.1 on WebSphere 8.5.5 In-Reply-To: <1396359688259-4029059.post@n3.nabble.com> References: <02f076a2df1f458dada698f7cddab4d7@HKNPR02MB019.apcprd02.prod.outlook.com> <1396359688259-4029059.post@n3.nabble.com> Message-ID: IBM WebSphere main profile is a paid offering I guess! -----Original Message----- From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Ievgenii Sent: 01 April 2014 19:11 To: rules-users at lists.jboss.org Subject: Re: [rules-users] kie-drools workbench 6.0.1 on WebSphere 8.5.5 You need to use IBM WebSphere main profile, not LibertyProfile. Best regards, Ievgenii Drozd. -- View this message in context: http://drools.46999.n3.nabble.com/rules-users-kie-drools-workbench-6-0-1-on-WebSphere-8-5-5-tp4029054p4029059.html Sent from the Drools: User forum mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users [Aspire Systems] This e-mail message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. From chap10 at live.ru Tue Apr 1 09:51:36 2014 From: chap10 at live.ru (Ievgenii) Date: Tue, 1 Apr 2014 06:51:36 -0700 (PDT) Subject: [rules-users] kie-drools workbench 6.0.1 on WebSphere 8.5.5 In-Reply-To: References: <02f076a2df1f458dada698f7cddab4d7@HKNPR02MB019.apcprd02.prod.outlook.com> <1396359688259-4029059.post@n3.nabble.com> Message-ID: <1396360296784-4029063.post@n3.nabble.com> Yes, It is. But on Liberty profile Drools Workbench is unstable as far as I know. -- View this message in context: http://drools.46999.n3.nabble.com/rules-users-kie-drools-workbench-6-0-1-on-WebSphere-8-5-5-tp4029054p4029063.html Sent from the Drools: User forum mailing list archive at Nabble.com. From sanjay.mj62 at gmail.com Tue Apr 1 09:55:16 2014 From: sanjay.mj62 at gmail.com (sjay.mj62) Date: Tue, 1 Apr 2014 06:55:16 -0700 (PDT) Subject: [rules-users] Creating service repositories Message-ID: <1396360516854-4029064.post@n3.nabble.com> I have created a few services in my current project. Now, is it possible for me to try and access those services in a new project. I tried configure/import_jbpm_services. But it did not work. Here is a small update: I am using jbpm5 and when I try to import services from here, it works fine If I download the zip file from repository into my hard drive and try to mention the location of the repository in my local disk, it does not work. I have the index.conf file and my directory is as per the format mentioned in the user guide. I am just trying to import services from the public repository to see if import process is successful or not. My ultimate aim is have a repository where I can dump all my custom services and use them in different projects whenever I want. If anyone knows what is going wrong, please do help me. Any suggestions will be appreciated. -- View this message in context: http://drools.46999.n3.nabble.com/Creating-service-repositories-tp4029064.html Sent from the Drools: User forum mailing list archive at Nabble.com. From sanjay.mj62 at gmail.com Tue Apr 1 10:00:29 2014 From: sanjay.mj62 at gmail.com (sjay.mj62) Date: Tue, 1 Apr 2014 07:00:29 -0700 (PDT) Subject: [rules-users] Creating service repository Message-ID: <1396360829718-4029065.post@n3.nabble.com> http://people.redhat.com/kverlaen/repository/ I have created a few services in my current project. Now, is it possible for me to try and access those services in a new project. I tried configure/import_jbpm_services. But it did not work. Here is a small update: I am using jbpm5 and when I try to import services from http://people.redhat.com/kverlaen/repository/, it works fine If I download the zip file from repository into my hard drive and try to mention the location of the repository in my local disk, it does not work. I have the index.conf file and my directory is as per the format mentioned in the user guide. I am just trying to import services from the public repository to see if import process is successful or not. My ultimate aim is have a repository where I can dump all my custom services and use them in different projects whenever I want. If anyone knows what is going wrong, please do help me. Any suggestions will be appreciated. Regards sanjay -- View this message in context: http://drools.46999.n3.nabble.com/Creating-service-repository-tp4029065.html Sent from the Drools: User forum mailing list archive at Nabble.com. From shrinath.managuli at aspiresys.com Tue Apr 1 10:01:06 2014 From: shrinath.managuli at aspiresys.com (Shrinath Managuli) Date: Tue, 1 Apr 2014 14:01:06 +0000 Subject: [rules-users] kie-drools workbench 6.0.1 on WebSphere 8.5.5 In-Reply-To: <1396360296784-4029063.post@n3.nabble.com> References: <02f076a2df1f458dada698f7cddab4d7@HKNPR02MB019.apcprd02.prod.outlook.com> <1396359688259-4029059.post@n3.nabble.com> <1396360296784-4029063.post@n3.nabble.com> Message-ID: <7cbebe6b8e5042e2a4e6a2ec015bc52b@HKNPR02MB019.apcprd02.prod.outlook.com> Thanks Ievgenii, Will try first on IBM WAS 8.5.5 for developers version, On positive deployment will move to main profile. -----Original Message----- From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Ievgenii Sent: 01 April 2014 19:22 To: rules-users at lists.jboss.org Subject: Re: [rules-users] kie-drools workbench 6.0.1 on WebSphere 8.5.5 Yes, It is. But on Liberty profile Drools Workbench is unstable as far as I know. -- View this message in context: http://drools.46999.n3.nabble.com/rules-users-kie-drools-workbench-6-0-1-on-WebSphere-8-5-5-tp4029054p4029063.html Sent from the Drools: User forum mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users [Aspire Systems] This e-mail message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. From sanjay.mj62 at gmail.com Tue Apr 1 10:01:24 2014 From: sanjay.mj62 at gmail.com (sjay.mj62) Date: Tue, 1 Apr 2014 07:01:24 -0700 (PDT) Subject: [rules-users] Creating service repository Message-ID: <1396360884655-4029066.post@n3.nabble.com> I have created a few services in my current project. Now, is it possible for me to try and access those services in a new project. I tried configure/import_jbpm_services. But it did not work. Here is a small update: I am using jbpm5 and when I try to import services from http://people.redhat.com/kverlaen/repository/, it works fine If I download the zip file from repository into my hard drive and try to mention the location of the repository in my local disk, it does not work. I have the index.conf file and my directory is as per the format mentioned in the user guide. I am just trying to import services from the public repository to see if import process is successful or not. My ultimate aim is have a repository where I can dump all my custom services and use them in different projects whenever I want. If anyone knows what is going wrong, please do help me. Any suggestions will be appreciated. Regards sanjay -- View this message in context: http://drools.46999.n3.nabble.com/Creating-service-repository-tp4029066.html Sent from the Drools: User forum mailing list archive at Nabble.com. From mproctor at codehaus.org Tue Apr 1 10:07:45 2014 From: mproctor at codehaus.org (Mark Proctor) Date: Tue, 1 Apr 2014 15:07:45 +0100 Subject: [rules-users] Memory leak due CompositeClassLoader In-Reply-To: References: Message-ID: <66F6E143-1505-46FC-A415-BC90EE3CACA4@codehaus.org> There were a lot of fixes around this and other areas. Please upgrade to 5.6, then come back if you have problems. Mark On 1 Apr 2014, at 14:24, Romain Thouvenin wrote: > Hello, > > I am working on a Web application that uses a third-party component that uses Drools 5.2.1 (I know this is old, but this is not my choice). > While investigating memory leaks in my application, I found out that after redeploying the webapp in the application server (Weblogic), the leaking class loader is referenced by: > > org.drools.util.CompositeClassLoader.classLoaders > > This is because when that class is instantiated by org.drools.util.ClassLoaderUtil, the initial list of class loaders includes the context class loader of the current thread, which is the class loader of my webapp. But the class loader of CompositeClassLoader is not the same as my webapp, so when I redeploy my webapp CompositeClassLoader continues to exist and keep that reference to the webapp class loader, which is therefore never garbage-collected. > > Browsing a bit through the code, I see no reference to CompositeClassLoader.removeClassLoader that could remove the faulty reference. > > So my questions are: > 1) Is my investigation correct? > > 2) I found this thread on the list: http://drools.46999.n3.nabble.com/permgen-leak-td4027038i20.html > Is this the same issue as mine, meaning that it is fixed in 5.6.0 and 6.0? > If yes, pushing this third-party component to upgrade is really the only solution I have? > > I am not at all a knowledgeable user of drools, I just happen to be user of that third-party component, that is why I wanted confirmation of my findings. > > Thanks for your help! > Romain > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140401/add02257/attachment.html From mproctor at codehaus.org Tue Apr 1 10:17:58 2014 From: mproctor at codehaus.org (Mark Proctor) Date: Tue, 1 Apr 2014 15:17:58 +0100 Subject: [rules-users] Drools Fusion inconsistencies at increasing event throughputs In-Reply-To: References: <1395752980607-4028955.post@n3.nabble.com> Message-ID: <4D7EBCBF-712F-457F-94A6-203B2C752590@codehaus.org> We have this fixed now. Hopefully this will be in the nightly build, and available for testing tomorrow. I?ll ping with a link to the nightly builds once it?s available. Mark On 31 Mar 2014, at 14:34, Mark Proctor wrote: > We are still working on this, we?ve found a number of related points, as we are doing a full audit of the code. We?ll post as soon as we have the fixes available in a nightly build, so that people can test. > > Mark > On 29 Mar 2014, at 12:50, Mark Proctor wrote: > >> Mario has found an issue at a sync point, which can happen if it?s trying to schedule a timer at the same time that it?s firing that same timer from an update. We are trying to resolve that now. See lines 121 and 394, which later impacts lines 289 and 330. >> https://github.com/droolsjbpm/drools/blob/master/drools-core/src/main/java/org/drools/core/phreak/PhreakTimerNode.java >> >> Once we have this solved, we should have expected behaviour. Hopefully you can try this in the next 6.1 beta, in 2 weeks time. >> >> Mark >> On 29 Mar 2014, at 09:00, Vieri wrote: >> >>> Mark, >>> thanks for your update. >>> I don't know if this can help, but I added a simple AgendaEventListener to the test case and it seems that at some point drools stops matching the "Create event" rule, while facts (well, events) are still inserted and other rules are triggered properly. >>> Vieri >>> >>> >>> >>> On 28 March 2014 16:57, Mark Proctor wrote: >>> we?ve being auditing the code here, and we?ve found an issue on what happens when a rule is re-matched and the timer updated. Mario is addressing this now, and also re-viewing dropping of output. He?ll post with an update soon. >>> >>> Mark >>> On 25 Mar 2014, at 16:09, Vieri wrote: >>> >>>> First of all, thanks for the support. >>>> Mario, I confirm that the case you provided works fine also at my side. Still, have you tried my first example (using the cron directly to the counting rule)? Can you confirm it is not working, since this was my first concern? >>>> As I said in the previous post, using the CronTrigger pattern greatly improves stability (I managed to run it at 500 eps), but it is not resolutive. >>>> Adding a few rules, it's enough to go back to instability. >>>> >>>> >>> >>> _______________________________________________ >>> rules-users mailing list >>> rules-users at lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/rules-users >>> >>> >>> >>> -- >>> Vieri Emiliani >>> _______________________________________________ >>> rules-users mailing list >>> rules-users at lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/rules-users >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140401/f96e007f/attachment-0001.html From mario.fusco at gmail.com Tue Apr 1 10:22:26 2014 From: mario.fusco at gmail.com (Mario Fusco) Date: Tue, 1 Apr 2014 07:22:26 -0700 (PDT) Subject: [rules-users] Drools Fusion inconsistencies at increasing event throughputs In-Reply-To: References: <1395752980607-4028955.post@n3.nabble.com> Message-ID: <1396362145934-4029070.post@n3.nabble.com> Hi again, I reviewed all our events related code and I just pushed a commit ( https://github.com/droolsjbpm/drools/commit/f415b17cff696136fa83eb9e7837629f5542b24f ) that should fix all the issues you reported. The test cases you provided have been really precious by the way. Thanks a lot for them. Also note that, since I fixed the way our timed rules are scheduled, just using a timer in the rule doing the accumulate as you did in your first email now works as you expected. I tested it with both cron and interval timers. Thanks again for your help, Mario -- View this message in context: http://drools.46999.n3.nabble.com/rules-users-Drools-Fusion-inconsistencies-at-increasing-event-throughputs-tp4028947p4029070.html Sent from the Drools: User forum mailing list archive at Nabble.com. From caskater47 at gmail.com Tue Apr 1 13:15:02 2014 From: caskater47 at gmail.com (Jean-Philippe Steinmetz) Date: Tue, 1 Apr 2014 10:15:02 -0700 Subject: [rules-users] Loading external KieModule fails with NullPointerException In-Reply-To: <25C24A2B-11CB-4DFD-8E57-94473D653BCE@codehaus.org> References: <25C24A2B-11CB-4DFD-8E57-94473D653BCE@codehaus.org> Message-ID: I have kie-ci on the class path and I don't believe the settings.xml is necessary when the repo i'm pulling from is local on the same machine. I was able to resolve the issue it seems. It turns out I had extra dependencies being declared in a parent pom. When I pulled those out and placed them in the module's pom instead it seems to have fixed the issue. Although, I can see this being an issue down the road. KieServices should be able to reconcile a parent pom if referenced. Perhaps this is a bug? Jean-Philippe On Mon, Mar 31, 2014 at 4:34 PM, Mark Proctor wrote: > you'll need kie-ci on the class path, and don't forget to create your > settings.xml > > http://docs.jboss.org/drools/release/6.0.1.Final/drools-docs/html/KIEChapter.html#KIEDeployingSection > > Mark > On 31 Mar 2014, at 23:28, Jean-Philippe Steinmetz > wrote: > > Hello, > > I am trying to set up a simple Drools (6.0.1.Final) application that pulls > a kmodule from an external jar that is installed in the local Maven > repository. Unfortunately when my code executes the newKieContainer method > it crashes with a NullPointerException. > > Here is my code... > > KieServices kieServices = KieServices.Factory.get(); > ReleaseId releaseId = kieServices.newReleaseId("com.mycompany", > "mymodule", "1.0-SNAPSHOT"); > KieContainer kContainer = kieServices.newKieContainer(releaseId); > > And here is the output I get... > > [pool-1-thread-1] INFO > com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Number of > application's worked threads is 16 > [pool-3-thread-1] INFO > com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Number of > application's worked threads is 16 > [pool-5-thread-1] INFO > com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Number of > application's worked threads is 16 > [pool-7-thread-1] INFO > com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Number of > application's worked threads is 16 > [pool-9-thread-1] INFO > com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Number of > application's worked threads is 16 > [pool-11-thread-1] INFO > com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Number of > application's worked threads is 16 > [pool-13-thread-1] INFO > com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Number of > application's worked threads is 16 > [pool-15-thread-1] INFO > com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Number of > application's worked threads is 16 > [pool-17-thread-1] INFO > com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Number of > application's worked threads is 16 > Disconnected from the target VM, address: '127.0.0.1:51890', transport: > 'socket' > Exception in thread "main" java.lang.NullPointerException > at > org.kie.scanner.KieRepositoryScannerImpl.addDependencies(KieRepositoryScannerImpl.java:128) > at > org.kie.scanner.KieRepositoryScannerImpl.buildArtifact(KieRepositoryScannerImpl.java:119) > at > org.kie.scanner.KieRepositoryScannerImpl.loadArtifact(KieRepositoryScannerImpl.java:90) > at > org.kie.scanner.KieRepositoryScannerImpl.loadArtifact(KieRepositoryScannerImpl.java:83) > at > org.drools.compiler.kie.builder.impl.KieRepositoryImpl.loadKieModuleFromMavenRepo(KieRepositoryImpl.java:113) > at > org.drools.compiler.kie.builder.impl.KieRepositoryImpl.getKieModule(KieRepositoryImpl.java:99) > at > org.drools.compiler.kie.builder.impl.KieRepositoryImpl.getKieModule(KieRepositoryImpl.java:76) > at > org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieContainer(KieServicesImpl.java:84) > > The module has the following dependencies listed in the pom.xml. > > > > > org.drools > drools-core > ${drools.version} > compile > > > org.drools > drools-compiler > ${drools.version} > compile > > > org.drools > drools-decisiontables > ${drools.version} > compile > > > org.drools > drools-persistence-jpa > ${drools.version} > compile > > > > org.slf4j > slf4j-api > 1.7.6 > > > junit > junit > 3.8.1 > test > > > > I have tried searching for help on this but am unable to find anything > related. Any help here is appreciated. > > Thanks! > > Jean-Philippe Steinmetz > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140401/e687ae3d/attachment.html From vieri.emiliani at gmail.com Tue Apr 1 16:55:06 2014 From: vieri.emiliani at gmail.com (Vieri) Date: Tue, 1 Apr 2014 22:55:06 +0200 Subject: [rules-users] Drools Fusion inconsistencies at increasing event throughputs In-Reply-To: <1396362145934-4029070.post@n3.nabble.com> References: <1395752980607-4028955.post@n3.nabble.com> <1396362145934-4029070.post@n3.nabble.com> Message-ID: Mario, I am glad the case we provided helped improving Drools. We'll try to get our hands on your commit in the next days to confirm that everything's fine. And let me add that it's been a pleasure to get such a prompt feedback from you guys, I am longing to raise the next issue ;) Thanks again, Vieri On 1 April 2014 16:22, Mario Fusco wrote: > Hi again, > > I reviewed all our events related code and I just pushed a commit ( > > https://github.com/droolsjbpm/drools/commit/f415b17cff696136fa83eb9e7837629f5542b24f > ) that should fix all the issues you reported. The test cases you provided > have been really precious by the way. Thanks a lot for them. > > Also note that, since I fixed the way our timed rules are scheduled, just > using a timer in the rule doing the accumulate as you did in your first > email now works as you expected. I tested it with both cron and interval > timers. > > Thanks again for your help, > Mario > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/rules-users-Drools-Fusion-inconsistencies-at-increasing-event-throughputs-tp4028947p4029070.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -- Vieri Emiliani vieri.emiliani at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140401/36bc5aa7/attachment.html From romain.thouvenin at amadeus.com Wed Apr 2 03:04:59 2014 From: romain.thouvenin at amadeus.com (Romain Thouvenin) Date: Wed, 2 Apr 2014 12:34:59 +0530 Subject: [rules-users] Memory leak due CompositeClassLoader In-Reply-To: <66F6E143-1505-46FC-A415-BC90EE3CACA4@codehaus.org> References: <66F6E143-1505-46FC-A415-BC90EE3CACA4@codehaus.org> Message-ID: Before asking for an upgrade to this third party, I did a test. I managed to assemble a build of the component using Drools 5.6.0.Final, and tried to use-and-redeploy my webapp. I did not face any problem due to the upgrade, but it seems the leak is still there. Out of the two instances of CompositeClassLoader that I could see with 5.2.1, one has gone so it is going in the good direction. But there is still one that prevents garbage collection. The CompositeClassLoader is given the webapp class loader instance when it is instantiated by RuleBaseConfiguration: ClassLoaderUtil.getClassLoader(ClassLoader[], Class, boolean) line: 43 at RuleBaseConfiguration.setClassLoader(ClassLoader...) line: 945 at RuleBaseConfiguration.init(Properties, ClassLoader...) line: 421 at RuleBaseConfiguration.() line: 267 at RuleBaseConfiguration.() line: 175 Any work-around available in 5.6? Thanks, Romain From: Mark Proctor To: Rules Users List , Date: 01/04/2014 19:38 Subject: Re: [rules-users] Memory leak due CompositeClassLoader Sent by: rules-users-bounces at lists.jboss.org There were a lot of fixes around this and other areas. Please upgrade to 5.6, then come back if you have problems. Mark On 1 Apr 2014, at 14:24, Romain Thouvenin wrote: Hello, I am working on a Web application that uses a third-party component that uses Drools 5.2.1 (I know this is old, but this is not my choice). While investigating memory leaks in my application, I found out that after redeploying the webapp in the application server (Weblogic), the leaking class loader is referenced by: org.drools.util.CompositeClassLoader.classLoaders This is because when that class is instantiated by org.drools.util.ClassLoaderUtil, the initial list of class loaders includes the context class loader of the current thread, which is the class loader of my webapp. But the class loader of CompositeClassLoader is not the same as my webapp, so when I redeploy my webapp CompositeClassLoader continues to exist and keep that reference to the webapp class loader, which is therefore never garbage-collected. Browsing a bit through the code, I see no reference to CompositeClassLoader.removeClassLoader that could remove the faulty reference. So my questions are: 1) Is my investigation correct? 2) I found this thread on the list: http://drools.46999.n3.nabble.com/permgen-leak-td4027038i20.html Is this the same issue as mine, meaning that it is fixed in 5.6.0 and 6.0? If yes, pushing this third-party component to upgrade is really the only solution I have? I am not at all a knowledgeable user of drools, I just happen to be user of that third-party component, that is why I wanted confirmation of my findings. Thanks for your help! Romain _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140402/9451904c/attachment-0001.html From vieri.emiliani at gmail.com Wed Apr 2 08:33:04 2014 From: vieri.emiliani at gmail.com (Vieri) Date: Wed, 2 Apr 2014 14:33:04 +0200 Subject: [rules-users] Drools Fusion inconsistencies at increasing event throughputs In-Reply-To: <1396362145934-4029070.post@n3.nabble.com> References: <1395752980607-4028955.post@n3.nabble.com> <1396362145934-4029070.post@n3.nabble.com> Message-ID: Hi all, We tested the commit using the latest snapshot (6.1.0-SNAPSHOT, I went quickly through the code and it seems the right version). Everything works as expected a part from a strange issue, that seems related to event throughput. Namely, when usic the basic pattern for counting (i.e. no CronTrigger), from time to time the "cron triggered" rules won't trigger. Few evidences added in the log below (@300eps): # StreamTester - 300eps +/- 10% [DEBUG] 2014-04-02 13:31:58.288 (ReteooRuleBase.java::200) Starting Engine in PHREAK mode [DEBUG] 2014-04-02 13:32:00.006 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 489 [DEBUG] 2014-04-02 13:32:00.095 (Rule_Count_live_counters1625367465.java:defaultConsequence:14) Live counters = 492 [DEBUG] 2014-04-02 13:32:01.688 (StreamTester.java:run:69) Total events: 1000 [DEBUG] 2014-04-02 13:32:04.838 (StreamTester.java:run:69) Total events: 2000 [DEBUG] 2014-04-02 13:32:08.001 (StreamTester.java:run:69) Total events: 3000 [DEBUG] 2014-04-02 13:32:11.177 (StreamTester.java:run:69) Total events: 4000 [DEBUG] 2014-04-02 13:32:14.231 (StreamTester.java:run:69) Total events: 5000 [DEBUG] 2014-04-02 13:32:17.287 (StreamTester.java:run:69) Total events: 6000 [DEBUG] 2014-04-02 13:32:20.001 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 6893 [DEBUG] 2014-04-02 13:32:20.329 (StreamTester.java:run:69) Total events: 7000 [DEBUG] 2014-04-02 13:32:23.375 (StreamTester.java:run:69) Total events: 8000 [DEBUG] 2014-04-02 13:32:26.408 (StreamTester.java:run:69) Total events: 9000 [DEBUG] 2014-04-02 13:32:29.522 (StreamTester.java:run:69) Total events: 10000 [DEBUG] 2014-04-02 13:32:32.560 (StreamTester.java:run:69) Total events: 11000 [DEBUG] 2014-04-02 13:32:35.593 (StreamTester.java:run:69) Total events: 12000 [DEBUG] 2014-04-02 13:32:38.640 (StreamTester.java:run:69) Total events: 13000 [DEBUG] 2014-04-02 13:32:40.002 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 13447 [DEBUG] 2014-04-02 13:32:41.685 (StreamTester.java:run:69) Total events: 14000 [DEBUG] 2014-04-02 13:32:44.735 (StreamTester.java:run:69) Total events: 15000 [DEBUG] 2014-04-02 13:32:47.785 (StreamTester.java:run:69) Total events: 16000 [DEBUG] 2014-04-02 13:32:50.836 (StreamTester.java:run:69) Total events: 17000 [DEBUG] 2014-04-02 13:32:53.882 (StreamTester.java:run:69) Total events: 18000 [DEBUG] 2014-04-02 13:32:56.917 (StreamTester.java:run:69) Total events: 19000 [DEBUG] 2014-04-02 13:33:00.014 (Rule_Count_live_counters1625367465.java:defaultConsequence:14) Live counters = 19443 [DEBUG] 2014-04-02 13:33:00.273 (StreamTester.java:run:69) Total events: 20000 [DEBUG] 2014-04-02 13:33:03.820 (StreamTester.java:run:69) Total events: 21000 [DEBUG] 2014-04-02 13:33:06.934 (StreamTester.java:run:69) Total events: 22000 [DEBUG] 2014-04-02 13:33:10.150 (StreamTester.java:run:69) Total events: 23000 [DEBUG] 2014-04-02 13:33:12.477 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 19327 [DEBUG] 2014-04-02 13:33:13.755 (StreamTester.java:run:69) Total events: 24000 [DEBUG] 2014-04-02 13:33:17.442 (StreamTester.java:run:69) Total events: 25000 [DEBUG] 2014-04-02 13:33:20.926 (StreamTester.java:run:69) Total events: 26000 [DEBUG] 2014-04-02 13:33:24.392 (StreamTester.java:run:69) Total events: 27000 [DEBUG] 2014-04-02 13:33:27.991 (StreamTester.java:run:69) Total events: 28000 [DEBUG] 2014-04-02 13:33:31.534 (StreamTester.java:run:69) Total events: 29000 [DEBUG] 2014-04-02 13:33:35.019 (StreamTester.java:run:69) Total events: 30000 The problem, at least on my notebook, is still there @100eps and @50eps (untriggered rate decreasing in accordance with event throughput). @10eps everything's fine (see log below): # StreamTester - 10eps +/- 10% [DEBUG] 2014-04-02 13:44:39.058 (ReteooRuleBase.java::200) Starting Engine in PHREAK mode [DEBUG] 2014-04-02 13:44:40.011 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 8 [DEBUG] 2014-04-02 13:44:50.004 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 107 [DEBUG] 2014-04-02 13:45:00.004 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 205 [DEBUG] 2014-04-02 13:45:00.010 (Rule_Count_live_counters1625367465.java:defaultConsequence:14) Live counters = 205 [DEBUG] 2014-04-02 13:45:10.003 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 304 [DEBUG] 2014-04-02 13:45:20.003 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 404 [DEBUG] 2014-04-02 13:45:30.011 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 503 [DEBUG] 2014-04-02 13:45:40.003 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 594 [DEBUG] 2014-04-02 13:45:50.003 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 595 [DEBUG] 2014-04-02 13:46:00.012 (Rule_Count_live_counters1625367465.java:defaultConsequence:14) Live counters = 597 [DEBUG] 2014-04-02 13:46:00.015 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 597 [DEBUG] 2014-04-02 13:46:10.003 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 595 [DEBUG] 2014-04-02 13:46:20.004 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 595 [DEBUG] 2014-04-02 13:46:20.194 (StreamTester.java:run:69) Total events: 1000 [DEBUG] 2014-04-02 13:46:30.003 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 595 [DEBUG] 2014-04-02 13:46:40.003 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 595 [DEBUG] 2014-04-02 13:46:50.003 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 594 [DEBUG] 2014-04-02 13:47:00.003 (Rule_Count_live_counters1625367465.java:defaultConsequence:14) Live counters = 593 [DEBUG] 2014-04-02 13:47:00.005 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 593 More surprisingly (well, maybe not that much) if we switch to the CronTrigger pattern (i,e, the test case you submitted), everything works smoothly even @300eps. The only effect is a delay (1-2 secs) in when the counting rule is actually triggered (see log below). Delay drops below 1 sec @100eps. [DEBUG] 2014-04-02 14:10:29.550 (ReteooRuleBase.java::200) Starting Engine in PHREAK mode [Wed Apr 02 14:10:30 CEST 2014] epm = 99 [DEBUG] 2014-04-02 14:10:32.837 (StreamTester.java:run:69) Total events: 1000 [DEBUG] 2014-04-02 14:10:35.939 (StreamTester.java:run:69) Total events: 2000 [DEBUG] 2014-04-02 14:10:38.997 (StreamTester.java:run:69) Total events: 3000 [Wed Apr 02 14:10:41 CEST 2014] epm = 3331 [DEBUG] 2014-04-02 14:10:42.175 (StreamTester.java:run:69) Total events: 4000 [DEBUG] 2014-04-02 14:10:45.229 (StreamTester.java:run:69) Total events: 5000 [DEBUG] 2014-04-02 14:10:48.285 (StreamTester.java:run:69) Total events: 6000 [DEBUG] 2014-04-02 14:10:51.417 (StreamTester.java:run:69) Total events: 7000 [Wed Apr 02 14:10:51 CEST 2014] epm = 6568 [DEBUG] 2014-04-02 14:10:54.486 (StreamTester.java:run:69) Total events: 8000 [DEBUG] 2014-04-02 14:10:57.535 (StreamTester.java:run:69) Total events: 9000 [DEBUG] 2014-04-02 14:11:00.603 (StreamTester.java:run:69) Total events: 10000 [Wed Apr 02 14:11:01 CEST 2014] epm = 9812 [DEBUG] 2014-04-02 14:11:03.719 (StreamTester.java:run:69) Total events: 11000 [DEBUG] 2014-04-02 14:11:06.761 (StreamTester.java:run:69) Total events: 12000 [DEBUG] 2014-04-02 14:11:09.807 (StreamTester.java:run:69) Total events: 13000 [Wed Apr 02 14:11:11 CEST 2014] epm = 13065 [DEBUG] 2014-04-02 14:11:12.940 (StreamTester.java:run:69) Total events: 14000 [DEBUG] 2014-04-02 14:11:16.001 (StreamTester.java:run:69) Total events: 15000 [DEBUG] 2014-04-02 14:11:19.034 (StreamTester.java:run:69) Total events: 16000 [Wed Apr 02 14:11:21 CEST 2014] epm = 16319 [DEBUG] 2014-04-02 14:11:22.129 (StreamTester.java:run:69) Total events: 17000 [DEBUG] 2014-04-02 14:11:25.176 (StreamTester.java:run:69) Total events: 18000 [DEBUG] 2014-04-02 14:11:28.222 (StreamTester.java:run:69) Total events: 19000 [DEBUG] 2014-04-02 14:11:31.458 (StreamTester.java:run:69) Total events: 20000 [Wed Apr 02 14:11:31 CEST 2014] epm = 19491 [DEBUG] 2014-04-02 14:11:34.598 (StreamTester.java:run:69) Total events: 21000 [DEBUG] 2014-04-02 14:11:37.638 (StreamTester.java:run:69) Total events: 22000 [DEBUG] 2014-04-02 14:11:40.777 (StreamTester.java:run:69) Total events: 23000 [Wed Apr 02 14:11:42 CEST 2014] epm = 19450 [DEBUG] 2014-04-02 14:11:44.200 (StreamTester.java:run:69) Total events: 24000 [DEBUG] 2014-04-02 14:11:47.261 (StreamTester.java:run:69) Total events: 25000 [DEBUG] 2014-04-02 14:11:50.328 (StreamTester.java:run:69) Total events: 26000 [Wed Apr 02 14:11:52 CEST 2014] epm = 19335 [DEBUG] 2014-04-02 14:11:53.717 (StreamTester.java:run:69) Total events: 27000 [DEBUG] 2014-04-02 14:11:56.768 (StreamTester.java:run:69) Total events: 28000 [DEBUG] 2014-04-02 14:11:59.814 (StreamTester.java:run:69) Total events: 29000 [Wed Apr 02 14:12:02 CEST 2014] epm = 19251 [DEBUG] 2014-04-02 14:12:03.349 (StreamTester.java:run:69) Total events: 30000 Possibly a noop is less demanding than a lengthy operation such as an accumulate... Hope this helps. Thanks in advance, Vieri -- Vieri Emiliani vieri.emiliani at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140402/9682a702/attachment-0001.html From sandhyachinnaraj at gmail.com Wed Apr 2 09:30:23 2014 From: sandhyachinnaraj at gmail.com (Sandhya Sree) Date: Wed, 2 Apr 2014 19:00:23 +0530 Subject: [rules-users] problem deploying guvnor in Jboss Wildfly8.0.0.Final Message-ID: Hi, I want to deploy drools guvnor in Jboss Wildfly 8.0.0 Final in windows 7. I have git cloned https://github.com/droolsjbpm/guvnor and built it using maven. Im following this : http://blog.athico.com/2013/05/how-to-build-and-run-drools-and-guvnor.html But I dont find any war file. What is the next step to be done? Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140402/0bd2b96c/attachment.html From michael.anstis at gmail.com Wed Apr 2 09:39:53 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Wed, 2 Apr 2014 14:39:53 +0100 Subject: [rules-users] problem deploying guvnor in Jboss Wildfly8.0.0.Final In-Reply-To: References: Message-ID: Guvnor only existed as a web application up to 5.6.x. Thereafter (i.e. 6.x) you need to clone drools-wb ( https://github.com/droolsjbpm/drools-wb) or one of the other distributions ( https://github.com/droolsjbpm/kie-wb-distributions). See http://blog.athico.com/2013/06/goodbye-guvnor-hello-drools-workbench.html. With kind regards, Mike On 2 April 2014 14:30, Sandhya Sree wrote: > Hi, > I want to deploy drools guvnor in Jboss Wildfly 8.0.0 Final in windows 7. > I have git cloned https://github.com/droolsjbpm/guvnor > and built it using maven. > Im following this : > http://blog.athico.com/2013/05/how-to-build-and-run-drools-and-guvnor.html > But I dont find any war file. > What is the next step to be done? > > Thanks. > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140402/b62b3b6e/attachment.html From sandhyachinnaraj at gmail.com Wed Apr 2 10:13:44 2014 From: sandhyachinnaraj at gmail.com (Sandhya Sree) Date: Wed, 2 Apr 2014 19:43:44 +0530 Subject: [rules-users] problem deploying guvnor in Jboss Wildfly8.0.0.Final In-Reply-To: References: Message-ID: Thanks for ur prompt and detailed reply. i have git cloned that, however i get the following error when i perform mvn clean install -DskipTests g.drools.workbench.FastCompiledDroolsWorkbench]: Error while executing process. Cannot run program "C:\apps\Java\jdk1.7.0_51\jre\bin\java": CreateProcess error= 206, The filename or extension is too long [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit ch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please rea d the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionE xception [ERROR] [ERROR] After correcting the problems, you can resume the build with the command [ERROR] mvn -rf :drools-wb-webapp C:\latest\drools-wb> What can i do about it? Thanks. On Wed, Apr 2, 2014 at 7:09 PM, Michael Anstis wrote: > Guvnor only existed as a web application up to 5.6.x. > > Thereafter (i.e. 6.x) you need to clone drools-wb ( > https://github.com/droolsjbpm/drools-wb) or one of the other > distributions (https://github.com/droolsjbpm/kie-wb-distributions). > > See > http://blog.athico.com/2013/06/goodbye-guvnor-hello-drools-workbench.html. > > With kind regards, > > Mike > > > On 2 April 2014 14:30, Sandhya Sree wrote: > >> Hi, >> I want to deploy drools guvnor in Jboss Wildfly 8.0.0 Final in windows 7. >> I have git cloned https://github.com/droolsjbpm/guvnor >> and built it using maven. >> Im following this : >> http://blog.athico.com/2013/05/how-to-build-and-run-drools-and-guvnor.html >> But I dont find any war file. >> What is the next step to be done? >> >> Thanks. >> >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140402/d1858d97/attachment.html From mario.fusco at gmail.com Wed Apr 2 10:17:18 2014 From: mario.fusco at gmail.com (Mario Fusco) Date: Wed, 2 Apr 2014 07:17:18 -0700 (PDT) Subject: [rules-users] Drools Fusion inconsistencies at increasing event throughputs In-Reply-To: References: <1395752980607-4028955.post@n3.nabble.com> <1396362145934-4029070.post@n3.nabble.com> Message-ID: <1396448238041-4029093.post@n3.nabble.com> Hi, I am sorry but I am not sure I am understanding your last email. You wrote: "Namely, when usic the basic pattern for counting (i.e. no CronTrigger), from time to time the "cron triggered" rules won't trigger." What do you mean with "no CronTrigger"? Can you paste test case you're using to reproduce this problem? Thanks again, Mario -- View this message in context: http://drools.46999.n3.nabble.com/rules-users-Drools-Fusion-inconsistencies-at-increasing-event-throughputs-tp4028947p4029093.html Sent from the Drools: User forum mailing list archive at Nabble.com. From shrinath.managuli at aspiresys.com Wed Apr 2 10:18:17 2014 From: shrinath.managuli at aspiresys.com (Shrinath Managuli) Date: Wed, 2 Apr 2014 14:18:17 +0000 Subject: [rules-users] problem deploying guvnor in Jboss Wildfly8.0.0.Final In-Reply-To: References: Message-ID: Try to give it a short name to the clone and build. From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Sandhya Sree Sent: 02 April 2014 19:44 To: Rules Users List Subject: Re: [rules-users] problem deploying guvnor in Jboss Wildfly8.0.0.Final Thanks for ur prompt and detailed reply. i have git cloned that, however i get the following error when i perform mvn clean install -DskipTests g.drools.workbench.FastCompiledDroolsWorkbench]: Error while executing process. Cannot run program "C:\apps\Java\jdk1.7.0_51\jre\bin\java": CreateProcess error= 206, The filename or extension is too long [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit ch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please rea d the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionE xception [ERROR] [ERROR] After correcting the problems, you can resume the build with the command [ERROR] mvn -rf :drools-wb-webapp C:\latest\drools-wb> What can i do about it? Thanks. On Wed, Apr 2, 2014 at 7:09 PM, Michael Anstis > wrote: Guvnor only existed as a web application up to 5.6.x. Thereafter (i.e. 6.x) you need to clone drools-wb (https://github.com/droolsjbpm/drools-wb) or one of the other distributions (https://github.com/droolsjbpm/kie-wb-distributions). See http://blog.athico.com/2013/06/goodbye-guvnor-hello-drools-workbench.html. With kind regards, Mike On 2 April 2014 14:30, Sandhya Sree > wrote: Hi, I want to deploy drools guvnor in Jboss Wildfly 8.0.0 Final in windows 7. I have git cloned https://github.com/droolsjbpm/guvnor and built it using maven. Im following this : http://blog.athico.com/2013/05/how-to-build-and-run-drools-and-guvnor.html But I dont find any war file. What is the next step to be done? Thanks. _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users [Aspire Systems] This e-mail message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140402/37db2c03/attachment-0001.html From sandhyachinnaraj at gmail.com Wed Apr 2 10:26:29 2014 From: sandhyachinnaraj at gmail.com (Sandhya Sree) Date: Wed, 2 Apr 2014 19:56:29 +0530 Subject: [rules-users] problem deploying guvnor in Jboss Wildfly8.0.0.Final In-Reply-To: References: Message-ID: I dont get u.. Actually the problem is in running the java files "C:\apps\Java\jdk1.7.0_51\jre\bin\java" Moreover, the name of my git clone is already short. Thanks. On Wed, Apr 2, 2014 at 7:48 PM, Shrinath Managuli < shrinath.managuli at aspiresys.com> wrote: > Try to give it a short name to the clone and build. > > > > *From:* rules-users-bounces at lists.jboss.org [mailto: > rules-users-bounces at lists.jboss.org] *On Behalf Of *Sandhya Sree > *Sent:* 02 April 2014 19:44 > *To:* Rules Users List > *Subject:* Re: [rules-users] problem deploying guvnor in Jboss > Wildfly8.0.0.Final > > > > Thanks for ur prompt and detailed reply. > > i have git cloned that, however i get the following error when i perform > mvn clean install -DskipTests > > > > g.drools.workbench.FastCompiledDroolsWorkbench]: Error while executing > process. > > Cannot run program "C:\apps\Java\jdk1.7.0_51\jre\bin\java": CreateProcess > error= > > 206, The filename or extension is too long > > [ERROR] -> [Help 1] > > [ERROR] > > [ERROR] To see the full stack trace of the errors, re-run Maven with the > -e swit > > ch. > > [ERROR] Re-run Maven using the -X switch to enable full debug logging. > > [ERROR] > > [ERROR] For more information about the errors and possible solutions, > please rea > > d the following articles: > > [ERROR] [Help 1] > http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionE > > xception > > [ERROR] > > [ERROR] After correcting the problems, you can resume the build with the > command > > > > [ERROR] mvn -rf :drools-wb-webapp > > C:\latest\drools-wb> > > > > What can i do about it? > > > > Thanks. > > > > On Wed, Apr 2, 2014 at 7:09 PM, Michael Anstis > wrote: > > Guvnor only existed as a web application up to 5.6.x. > > > > Thereafter (i.e. 6.x) you need to clone drools-wb ( > https://github.com/droolsjbpm/drools-wb) or one of the other > distributions (https://github.com/droolsjbpm/kie-wb-distributions). > > > > See > http://blog.athico.com/2013/06/goodbye-guvnor-hello-drools-workbench.html. > > > > With kind regards, > > > > Mike > > > > On 2 April 2014 14:30, Sandhya Sree wrote: > > Hi, > > I want to deploy drools guvnor in Jboss Wildfly 8.0.0 Final in windows 7. > > I have git cloned https://github.com/droolsjbpm/guvnor > > and built it using maven. > > Im following this : > http://blog.athico.com/2013/05/how-to-build-and-run-drools-and-guvnor.html > > But I dont find any war file. > > What is the next step to be done? > > > > Thanks. > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > > [image: Aspire Systems] > > This e-mail message and any attachments are for the sole use of the > intended recipient(s) and may contain proprietary, confidential, trade > secret or privileged information. Any unauthorized review, use, disclosure > or distribution is prohibited and may be a violation of law. If you are not > the intended recipient, please contact the sender by reply e-mail and > destroy all copies of the original message. > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140402/8b792f99/attachment.html From shrinath.managuli at aspiresys.com Wed Apr 2 10:35:53 2014 From: shrinath.managuli at aspiresys.com (Shrinath Managuli) Date: Wed, 2 Apr 2014 14:35:53 +0000 Subject: [rules-users] problem deploying guvnor in Jboss Wildfly8.0.0.Final In-Reply-To: References: Message-ID: <3c6991c2cd804785adf65bae930e8df8@HKNPR02MB019.apcprd02.prod.outlook.com> You r running it from IDE or command line. From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Sandhya Sree Sent: 02 April 2014 19:56 To: Rules Users List Subject: Re: [rules-users] problem deploying guvnor in Jboss Wildfly8.0.0.Final I dont get u.. Actually the problem is in running the java files "C:\apps\Java\jdk1.7.0_51\jre\bin\java" Moreover, the name of my git clone is already short. Thanks. On Wed, Apr 2, 2014 at 7:48 PM, Shrinath Managuli > wrote: Try to give it a short name to the clone and build. From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Sandhya Sree Sent: 02 April 2014 19:44 To: Rules Users List Subject: Re: [rules-users] problem deploying guvnor in Jboss Wildfly8.0.0.Final Thanks for ur prompt and detailed reply. i have git cloned that, however i get the following error when i perform mvn clean install -DskipTests g.drools.workbench.FastCompiledDroolsWorkbench]: Error while executing process. Cannot run program "C:\apps\Java\jdk1.7.0_51\jre\bin\java": CreateProcess error= 206, The filename or extension is too long [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit ch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please rea d the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionE xception [ERROR] [ERROR] After correcting the problems, you can resume the build with the command [ERROR] mvn -rf :drools-wb-webapp C:\latest\drools-wb> What can i do about it? Thanks. On Wed, Apr 2, 2014 at 7:09 PM, Michael Anstis > wrote: Guvnor only existed as a web application up to 5.6.x. Thereafter (i.e. 6.x) you need to clone drools-wb (https://github.com/droolsjbpm/drools-wb) or one of the other distributions (https://github.com/droolsjbpm/kie-wb-distributions). See http://blog.athico.com/2013/06/goodbye-guvnor-hello-drools-workbench.html. With kind regards, Mike On 2 April 2014 14:30, Sandhya Sree > wrote: Hi, I want to deploy drools guvnor in Jboss Wildfly 8.0.0 Final in windows 7. I have git cloned https://github.com/droolsjbpm/guvnor and built it using maven. Im following this : http://blog.athico.com/2013/05/how-to-build-and-run-drools-and-guvnor.html But I dont find any war file. What is the next step to be done? Thanks. _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users [Image removed by sender. Aspire Systems] This e-mail message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users [Aspire Systems] This e-mail message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140402/14b26d77/attachment-0001.html -------------- next part -------------- A non-text attachment was scrubbed... Name: ~WRD000.jpg Type: image/jpeg Size: 823 bytes Desc: ~WRD000.jpg Url : http://lists.jboss.org/pipermail/rules-users/attachments/20140402/14b26d77/attachment-0001.jpg From sandhyachinnaraj at gmail.com Wed Apr 2 10:39:04 2014 From: sandhyachinnaraj at gmail.com (Sandhya Sree) Date: Wed, 2 Apr 2014 20:09:04 +0530 Subject: [rules-users] problem deploying guvnor in Jboss Wildfly8.0.0.Final In-Reply-To: <3c6991c2cd804785adf65bae930e8df8@HKNPR02MB019.apcprd02.prod.outlook.com> References: <3c6991c2cd804785adf65bae930e8df8@HKNPR02MB019.apcprd02.prod.outlook.com> Message-ID: >From command line.. Here is my full stack trace of errors: at org.codehaus.mojo.gwt.shell.AbstractGwtShellMojo$JavaCommand.execute( AbstractGwtShellMojo.java:500) at org.codehaus.mojo.gwt.shell.CompileMojo.compile(CompileMojo.java:365) at org.codehaus.mojo.gwt.shell.CompileMojo.doExecute(CompileMojo.java:28 0) at org.codehaus.mojo.gwt.shell.AbstractGwtShellMojo.execute(AbstractGwtS hellMojo.java:172) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Default BuildPluginManager.java:106) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor .java:208) ... 19 more Caused by: org.codehaus.plexus.util.cli.CommandLineException: Error while execut ing process. at org.codehaus.plexus.util.cli.Commandline.execute(Commandline.java:656 ) at org.codehaus.plexus.util.cli.CommandLineUtils.executeCommandLine(Comm andLineUtils.java:144) at org.codehaus.plexus.util.cli.CommandLineUtils.executeCommandLine(Comm andLineUtils.java:107) at org.codehaus.mojo.gwt.shell.AbstractGwtShellMojo$JavaCommand.execute( AbstractGwtShellMojo.java:480) ... 24 more Caused by: java.io.IOException: Cannot run program "C:\apps\Java\jdk1.7.0_51\jre \bin\java": CreateProcess error=206, The filename or extension is too long at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041) at java.lang.Runtime.exec(Runtime.java:617) at java.lang.Runtime.exec(Runtime.java:528) at org.codehaus.plexus.util.cli.Commandline.execute(Commandline.java:636 ) ... 27 more Caused by: java.io.IOException: CreateProcess error=206, The filename or extensi on is too long at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.(ProcessImpl.java:385) at java.lang.ProcessImpl.start(ProcessImpl.java:136) at java.lang.ProcessBuilder.start(ProcessBuilder.java:1022) ... 30 more [ERROR] [ERROR] [ERROR] For more information about the errors and possible solutions, please rea d the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionE xception [ERROR] [ERROR] After correcting the problems, you can resume the build with the command [ERROR] mvn -rf :drools-wb-webapp C:\latest\drools-wb> On Wed, Apr 2, 2014 at 8:05 PM, Shrinath Managuli < shrinath.managuli at aspiresys.com> wrote: > You r running it from IDE or command line. > > > > *From:* rules-users-bounces at lists.jboss.org [mailto: > rules-users-bounces at lists.jboss.org] *On Behalf Of *Sandhya Sree > *Sent:* 02 April 2014 19:56 > > *To:* Rules Users List > *Subject:* Re: [rules-users] problem deploying guvnor in Jboss > Wildfly8.0.0.Final > > > > I dont get u.. > > Actually the problem is in running the java files > "C:\apps\Java\jdk1.7.0_51\jre\bin\java" > > Moreover, the name of my git clone is already short. > > > > Thanks. > > > > On Wed, Apr 2, 2014 at 7:48 PM, Shrinath Managuli < > shrinath.managuli at aspiresys.com> wrote: > > Try to give it a short name to the clone and build. > > > > *From:* rules-users-bounces at lists.jboss.org [mailto: > rules-users-bounces at lists.jboss.org] *On Behalf Of *Sandhya Sree > *Sent:* 02 April 2014 19:44 > *To:* Rules Users List > *Subject:* Re: [rules-users] problem deploying guvnor in Jboss > Wildfly8.0.0.Final > > > > Thanks for ur prompt and detailed reply. > > i have git cloned that, however i get the following error when i perform > mvn clean install -DskipTests > > > > g.drools.workbench.FastCompiledDroolsWorkbench]: Error while executing > process. > > Cannot run program "C:\apps\Java\jdk1.7.0_51\jre\bin\java": CreateProcess > error= > > 206, The filename or extension is too long > > [ERROR] -> [Help 1] > > [ERROR] > > [ERROR] To see the full stack trace of the errors, re-run Maven with the > -e swit > > ch. > > [ERROR] Re-run Maven using the -X switch to enable full debug logging. > > [ERROR] > > [ERROR] For more information about the errors and possible solutions, > please rea > > d the following articles: > > [ERROR] [Help 1] > http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionE > > xception > > [ERROR] > > [ERROR] After correcting the problems, you can resume the build with the > command > > > > [ERROR] mvn -rf :drools-wb-webapp > > C:\latest\drools-wb> > > > > What can i do about it? > > > > Thanks. > > > > On Wed, Apr 2, 2014 at 7:09 PM, Michael Anstis > wrote: > > Guvnor only existed as a web application up to 5.6.x. > > > > Thereafter (i.e. 6.x) you need to clone drools-wb ( > https://github.com/droolsjbpm/drools-wb) or one of the other > distributions (https://github.com/droolsjbpm/kie-wb-distributions). > > > > See > http://blog.athico.com/2013/06/goodbye-guvnor-hello-drools-workbench.html. > > > > With kind regards, > > > > Mike > > > > On 2 April 2014 14:30, Sandhya Sree wrote: > > Hi, > > I want to deploy drools guvnor in Jboss Wildfly 8.0.0 Final in windows 7. > > I have git cloned https://github.com/droolsjbpm/guvnor > > and built it using maven. > > Im following this : > http://blog.athico.com/2013/05/how-to-build-and-run-drools-and-guvnor.html > > But I dont find any war file. > > What is the next step to be done? > > > > Thanks. > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > > > [image: Image removed by sender. Aspire Systems] > > This e-mail message and any attachments are for the sole use of the > intended recipient(s) and may contain proprietary, confidential, trade > secret or privileged information. Any unauthorized review, use, disclosure > or distribution is prohibited and may be a violation of law. If you are not > the intended recipient, please contact the sender by reply e-mail and > destroy all copies of the original message. > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > > [image: Aspire Systems] > > This e-mail message and any attachments are for the sole use of the > intended recipient(s) and may contain proprietary, confidential, trade > secret or privileged information. Any unauthorized review, use, disclosure > or distribution is prohibited and may be a violation of law. If you are not > the intended recipient, please contact the sender by reply e-mail and > destroy all copies of the original message. > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140402/e2bd6c6e/attachment.html -------------- next part -------------- A non-text attachment was scrubbed... Name: ~WRD000.jpg Type: image/jpeg Size: 823 bytes Desc: not available Url : http://lists.jboss.org/pipermail/rules-users/attachments/20140402/e2bd6c6e/attachment.jpg From vieri.emiliani at gmail.com Wed Apr 2 11:39:24 2014 From: vieri.emiliani at gmail.com (Vieri) Date: Wed, 2 Apr 2014 17:39:24 +0200 Subject: [rules-users] Drools Fusion inconsistencies at increasing event throughputs In-Reply-To: <1396448238041-4029093.post@n3.nabble.com> References: <1395752980607-4028955.post@n3.nabble.com> <1396362145934-4029070.post@n3.nabble.com> <1396448238041-4029093.post@n3.nabble.com> Message-ID: Mario, My fault. Here you are the drls: *Not working *(log #1 in my last mail) *[This is the drl I included in my first post to the list. The accumulate occurs in the when clause of the cron based rule.]* package it.intext.unity.test import it.intext.unity.test.SynthEvent; import java.util.Date; global org.slf4j.Logger logger; declare SynthEvent // The class is the same you used in previous tests @role( event ) @timestamp( timestamp ) end declare EventCounter @role( event ) @timestamp( timestamp ) id : long key : String timestamp : Date end // Business rules rule "Create counter" when $e : SynthEvent() from entry-point "synth" then entryPoints["counters"].insert( new EventCounter( $e.getId(), "event", $e.getTimestamp() ) ); // if (Math.random() < 0.001) logger.debug("New event: {}", $e.getId()); end // Metrics rule "Count epm" timer ( cron: 0/10 * * * * ? ) when Number( $count : intValue ) from accumulate( EventCounter( key == "event" ) over window:time( 60s ) from entry-point "counters", count(1) ) then logger.debug("epm = {}", $count ); end rule "Count live counters" timer ( cron: 0/60 * * * * ? ) when Number( $count : intValue ) from accumulate( EventCounter( key == "event" ) from entry-point "counters", count(1) ) then logger.debug("Live counters = {}", $count ); end *Working *(log #3 in my last mail) *[This is the drl you posted in your reply. Here you can see the CronTrigger usage. Cron based rule has empty LHS, and RHS inserts a trigger, accumulate occurs in a standard (not cron based) rule]* package it.intext.unity.test import it.intext.unity.test.SynthEvent; import java.util.Date; global org.slf4j.Logger logger; declare SynthEvent @role( event ) @timestamp( timestamp ) end declare EventCounter @role( event ) @timestamp( timestamp ) id : long key : String timestamp : Date end declare CronTrigger end rule "Trigger Metric" timer ( cron: 0/10 * * * * ? ) when then entryPoints["triggers"].insert( new CronTrigger() ); end rule "Create counter" when $e : SynthEvent() from entry-point "synth" then entryPoints["counters"].insert(new EventCounter( $e.getId(), "event", $e.getTimestamp() ) ); end rule "Count epm" when $trigger : CronTrigger() from entry-point "triggers" Number( $count : intValue ) from accumulate( EventCounter( key == "event" ) over window:time( 60s )from entry-point "counters", count(1) ) then System.out.println("[" + new Date() + "] epm = " + $count ); retract($trigger); end The code used to run the tests is the one we both used in our previous test session. For details you can mail me directly. Thanks, Vieri -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140402/2e111a23/attachment-0001.html From f.marelli at keinavo.com Wed Apr 2 12:01:16 2014 From: f.marelli at keinavo.com (francescoNemesi) Date: Wed, 2 Apr 2014 09:01:16 -0700 (PDT) Subject: [rules-users] Excel Decision Table, problem when more than one condition is set Message-ID: <1396454476454-4029099.post@n3.nabble.com> Hi, I am having a problem with a decision table in Excel when more than one condition is set. If I use the excel file with only one condition there is no problem. If I use more than one condition I get the error below. I am using the excel files at this urls: https://dl.dropboxusercontent.com/u/9821685/DecisionTable_1_condition.xls https://dl.dropboxusercontent.com/u/9821685/DecisionTable_2_conditions.xls Can anybody help? Thank You, Kind Regards java.lang.RuntimeException: Error while creating KieBase[Message [id=1, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=180, column=0 text=[ERR 102] Line 180:29 mismatched input '==' in rule "RT29_35"], Message [id=2, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=191, column=0 text=[ERR 102] Line 191:29 mismatched input '==' in rule "RT29_36"], Message [id=3, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=201, column=0 text=[ERR 102] Line 201:29 mismatched input '==' in rule "RT29_37"], Message [id=4, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=211, column=0 text=[ERR 102] Line 211:29 mismatched input '==' in rule "RT29_38"], Message [id=5, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=221, column=0 text=[ERR 102] Line 221:29 mismatched input '==' in rule "RT29_39"], Message [id=6, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=231, column=0 text=[ERR 102] Line 231:29 mismatched input '==' in rule "RT29_40"], Message [id=7, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=241, column=0 text=[ERR 102] Line 241:29 mismatched input '==' in rule "RT29_41"], Message [id=8, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=251, column=0 text=[ERR 102] Line 251:29 mismatched input '==' in rule "RT29_42"], Message [id=9, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=261, column=0 text=[ERR 102] Line 261:29 mismatched input '==' in rule "RT29_43"], Message [id=10, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=271, column=0 text=[ERR 102] Line 271:29 mismatched input '==' in rule "RT29_44"], Message [id=11, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=281, column=0 text=[ERR 102] Line 281:29 mismatched input '==' in rule "RT29_45"], Message [id=12, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=291, column=0 text=[ERR 102] Line 291:29 mismatched input '==' in rule "RT29_46"], Message [id=13, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=301, column=0 text=[ERR 102] Line 301:29 mismatched input '==' in rule "RT29_47"], Message [id=14, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=311, column=0 text=[ERR 102] Line 311:29 mismatched input '==' in rule "RT29_48"], Message [id=15, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=321, column=0 text=[ERR 102] Line 321:29 mismatched input '==' in rule "RT29_49"], Message [id=16, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=331, column=0 text=[ERR 102] Line 331:29 mismatched input '==' in rule "RT29_50"], Message [id=17, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=341, column=0 text=[ERR 102] Line 341:29 mismatched input '==' in rule "RT29_51"], Message [id=18, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=351, column=0 text=[ERR 102] Line 351:29 mismatched input '==' in rule "RT29_52"], Message [id=19, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=361, column=0 text=[ERR 102] Line 361:29 mismatched input '==' in rule "RT29_53"], Message [id=20, level=ERROR, path=dtables/DecisionTable_sashelp.class_1396453686445.xls, line=0, column=0 text=Parser returned a null Package]] -- View this message in context: http://drools.46999.n3.nabble.com/Excel-Decision-Table-problem-when-more-than-one-condition-is-set-tp4029099.html Sent from the Drools: User forum mailing list archive at Nabble.com. From dsotty at gmail.com Wed Apr 2 14:59:07 2014 From: dsotty at gmail.com (Davide Sottara) Date: Wed, 2 Apr 2014 11:59:07 -0700 (PDT) Subject: [rules-users] Memory leak due CompositeClassLoader In-Reply-To: References: <66F6E143-1505-46FC-A415-BC90EE3CACA4@codehaus.org> Message-ID: <1396465146987-4029100.post@n3.nabble.com> You may have to dispose the sessions explicitly - or even the knowledgebase, using the internal method that was added as a temporary "brute force" patch to leaks in 5.6. The composite classloader was replaced in 6.x, so the newer versions should not have this kind of problems. Best Davide -- View this message in context: http://drools.46999.n3.nabble.com/rules-users-Memory-leak-due-CompositeClassLoader-tp4029053p4029100.html Sent from the Drools: User forum mailing list archive at Nabble.com. From florian.pirchner at gmail.com Wed Apr 2 15:51:08 2014 From: florian.pirchner at gmail.com (Florian Pirchner) Date: Wed, 2 Apr 2014 21:51:08 +0200 Subject: [rules-users] Drools 6 and OSGi In-Reply-To: <9E4CB621-AC6B-4062-B51D-5EA0BC0E7622@codehaus.org> References: <53398E86.9030209@gmail.com> <9E4CB621-AC6B-4062-B51D-5EA0BC0E7622@codehaus.org> Message-ID: Hi Mark, could not find anybody in cc :D Good to hear, that there is progress in the OSGi stuff. My question is about the architecture changes to meet OSGi requirements. There are a lot of Class#forName calls to create new instances. In OSGi it is not that easy then in java SE. Each bundle has its own class loader. And classes are only visible to bundles, if their package was imported. I could see, that there is a ProjectClassLoader. And that there is a way to provide a common parent classloader. That might be the bundle classloader. So most of the classes can be found by Class#forName. But it requires a bundle, that imports all the dependencies from drools, kie and jbpm. Only in that case, the bundles are visible to the bundles class loader. So my question is, whether that approach is the suggested way to add Drools and JBPM to OSGi containers. But a drawback is, that there is no real support about required dependencies during development. Except the drools bundles will define their imported packages very carefully. Why do you use Class#forName to load classes? I did not get the idea behind it. Why don't you use "new" to create new instances. Then the bundles have to define their dependencies very carefully to become compiled. Thanks a lot for your answers. Best Florian 2014-03-31 18:28 GMT+02:00 Mark Proctor : > There was a lot of OSGi fixes in 6.0.1, aimed at the karat container. > However not all modules are migrated, as it's a work in progress. I don't > know which currently are or are not, I'm cc'ing in the developer behind > this to answer. > > Mark > On 31 Mar 2014, at 16:49, Florian Pirchner > wrote: > > Hi, > > today i started to setup Drools 6 in my OSGi container. But it seems there > are some issues that do not allow to run drools 6 (and jbpm) under OSGi > properly. > > For instance: > JPAKnowledgeService > .newStatefulKnowledgeSession(kieBase, null, env); > will never find "org.drools.persistence.jpa.KnowledgeStoreServiceImpl" > since it is not in the scope of the current ClassLoader. > > Tried to tie things up, but then there would be a cyclic dependency > between kie-internal and jbpm-persistence-jpa. > > I also could see, that a ProjectClassLoader was added. I found a way to > put my current BundleClassLoader as its parent into play. This solves a lot > of class loading issues. > > > For me it seems, that Drools 6 was not designed to run in an OSGi > container. Is there ongoing work to integrate Drools and JBPM Version 6.xinto OSGi environments properly? > > -- > Thanks for your answer > Florian Pirchner > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -- Mit besten Gr??en Florian Pirchner Lunifera GmbH Marchfelder Stra?e 2 2301 Gro? Enzersdorf Austria -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140402/1dd40004/attachment.html From vvicky72 at hotmail.com Wed Apr 2 17:21:18 2014 From: vvicky72 at hotmail.com (vvicky72) Date: Wed, 2 Apr 2014 14:21:18 -0700 (PDT) Subject: [rules-users] External Imports Message-ID: <1396473677601-4029102.post@n3.nabble.com> I am using the latest drools wb on jboss as7. Trying to add java.lang.ArrayList to the project.imports. But the New item button is disabled. Screen shot attached. Any ideas? Thanks, Vikas. -- View this message in context: http://drools.46999.n3.nabble.com/External-Imports-tp4029102.html Sent from the Drools: User forum mailing list archive at Nabble.com. From vvicky72 at hotmail.com Wed Apr 2 17:45:19 2014 From: vvicky72 at hotmail.com (vvicky72) Date: Wed, 2 Apr 2014 14:45:19 -0700 (PDT) Subject: [rules-users] Random rule fire Message-ID: <1396475119748-4029103.post@n3.nabble.com> We have a unique situation. Using guided decision tables, we want a particular rule to fire randomly even when all the conditions on the "when" clause are satisfied. So... We want to assign a positive integer to every rule (say n). We want that rule to fire only when "new Random().nextInt(n)+1 = n" is true (along with other conditions in the rule) Any suggestions? Thanks, Vikas. -- View this message in context: http://drools.46999.n3.nabble.com/Random-rule-fire-tp4029103.html Sent from the Drools: User forum mailing list archive at Nabble.com. From mproctor at codehaus.org Wed Apr 2 18:12:42 2014 From: mproctor at codehaus.org (Mark Proctor) Date: Wed, 2 Apr 2014 23:12:42 +0100 Subject: [rules-users] Drools 6 and OSGi In-Reply-To: References: <53398E86.9030209@gmail.com> <9E4CB621-AC6B-4062-B51D-5EA0BC0E7622@codehaus.org> Message-ID: > I did not get the idea behind it. Why don't you use "new" to create new instances. Then the bundles have to define their dependencies very carefully to become compiled. At the point where you see Class.forName it means the implementation is not on the class path of that module, but the interface is. So the provider pattern mechanism uses reflection to load the instance to return to you under the targeted interface. This is how all our factories work, we have all the api in -api but none of the implementation. It binds the implementation at runtime, via reflection. However, in the case of our -api factories, we already address this in OSGi by using Activator injection. > My question is about the architecture changes to meet OSGi requirements. There are a lot of Class#forName calls to create new instances. In OSGi it is not that easy then in java SE. Each bundle has its own class loader. And classes are only visible to bundles, if their package was imported. We have not done a full audit of Class.forName. I should add that loadClass itself has problems too, related to serialisation - which is why we use forName. If you want to do an audit and submit via a pull request alternatives, then please do. Although remember not all those forNames (in the case of our factories) will b used by OSGi, so make sure you find ones that you believe are actually a problem. We also did work around making sure all our jars have unique package names, to avoid split packages. And there was a lot of work around repacking our dependencies. > So my question is, whether that approach is the suggested way to add Drools and JBPM to OSGi containers. Sorry I don?t understand the question fully. The classloader argument, is if you need to specify parent classloader. There are a variety of use cases for this, such as if people are doing runtime code generation on custom classloaders that they want to make visible to Drools. My understanding is that drools now works on karaf. Maybe try one of our latest builds if there any issues, then come back and let us know. http://downloads.jboss.org/drools/release/snapshot/master/ Mark On 2 Apr 2014, at 20:51, Florian Pirchner wrote: > Hi Mark, > > could not find anybody in cc :D > > Good to hear, that there is progress in the OSGi stuff. > > My question is about the architecture changes to meet OSGi requirements. There are a lot of Class#forName calls to create new instances. In OSGi it is not that easy then in java SE. Each bundle has its own class loader. And classes are only visible to bundles, if their package was imported. > > I could see, that there is a ProjectClassLoader. And that there is a way to provide a common parent classloader. That might be the bundle classloader. So most of the classes can be found by Class#forName. But it requires a bundle, that imports all the dependencies from drools, kie and jbpm. Only in that case, the bundles are visible to the bundles class loader. So my question is, whether that approach is the suggested way to add Drools and JBPM to OSGi containers. > > But a drawback is, that there is no real support about required dependencies during development. Except the drools bundles will define their imported packages very carefully. Why do you use Class#forName to load classes? I did not get the idea behind it. Why don't you use "new" to create new instances. Then the bundles have to define their dependencies very carefully to become compiled. > > Thanks a lot for your answers. > > Best Florian > > > > > > 2014-03-31 18:28 GMT+02:00 Mark Proctor : > There was a lot of OSGi fixes in 6.0.1, aimed at the karat container. However not all modules are migrated, as it?s a work in progress. I don?t know which currently are or are not, I?m cc?ing in the developer behind this to answer. > > Mark > On 31 Mar 2014, at 16:49, Florian Pirchner wrote: > >> Hi, >> >> today i started to setup Drools 6 in my OSGi container. But it seems there are some issues that do not allow to run drools 6 (and jbpm) under OSGi properly. >> >> For instance: >> JPAKnowledgeService >> .newStatefulKnowledgeSession(kieBase, null, env); >> will never find "org.drools.persistence.jpa.KnowledgeStoreServiceImpl" since it is not in the scope of the current ClassLoader. >> >> Tried to tie things up, but then there would be a cyclic dependency between kie-internal and jbpm-persistence-jpa. >> >> I also could see, that a ProjectClassLoader was added. I found a way to put my current BundleClassLoader as its parent into play. This solves a lot of class loading issues. >> >> >> For me it seems, that Drools 6 was not designed to run in an OSGi container. Is there ongoing work to integrate Drools and JBPM Version 6.x into OSGi environments properly? >> >> -- >> Thanks for your answer >> Florian Pirchner >> >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > > > -- > Mit besten Gr??en > Florian Pirchner > Lunifera GmbH > Marchfelder Stra?e 2 > 2301 Gro? Enzersdorf > Austria > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140402/899de24d/attachment-0001.html From michael.anstis at gmail.com Thu Apr 3 02:03:09 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Thu, 3 Apr 2014 07:03:09 +0100 Subject: [rules-users] External Imports In-Reply-To: <1396473677601-4029102.post@n3.nabble.com> References: <1396473677601-4029102.post@n3.nabble.com> Message-ID: These should be added as "Import suggestions" in the Project Editor in the Authoring Perspective. Sent on the move On 2 Apr 2014 22:22, "vvicky72" wrote: > I am using the latest drools wb on jboss as7. > > Trying to add java.lang.ArrayList to the project.imports. But the New item > button is disabled. Screen shot attached. Any ideas? > > > Thanks, > Vikas. > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/External-Imports-tp4029102.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140403/e76915e1/attachment.html From romain.thouvenin at amadeus.com Thu Apr 3 02:23:54 2014 From: romain.thouvenin at amadeus.com (Romain Thouvenin) Date: Thu, 3 Apr 2014 11:53:54 +0530 Subject: [rules-users] Memory leak due CompositeClassLoader In-Reply-To: <1396465146987-4029100.post@n3.nabble.com> References: <66F6E143-1505-46FC-A415-BC90EE3CACA4@codehaus.org> <1396465146987-4029100.post@n3.nabble.com> Message-ID: The thing is that it is not my webapp that creates the RuleBaseConfiguration and the RuleBase, it is another component that is loaded by the application server, and the rules are shared between webapps. So I cannot dispose of these objects. This other component loads lazily the RuleBase on first call, that is why when the RuleBaseConfiguration is instantiated, the context class loader is the one of my webapp. The only workaround I found is to hook a listener when my webapp is deployed, temporarily change the context class loader of the current Thread, force the load of the RuleBase. That way the CompositeClassLoader does not have a reference to the class loader of my webapp. But that is quite ugly... I will see with the developers of this other component if migrating to 6.x is a possibility, but I doubt it in the near future. Thanks anyway for the suggestions. Romain From: Davide Sottara To: rules-users at lists.jboss.org, Date: 03/04/2014 00:29 Subject: Re: [rules-users] Memory leak due CompositeClassLoader Sent by: rules-users-bounces at lists.jboss.org You may have to dispose the sessions explicitly - or even the knowledgebase, using the internal method that was added as a temporary "brute force" patch to leaks in 5.6. The composite classloader was replaced in 6.x, so the newer versions should not have this kind of problems. Best Davide -- View this message in context: http://drools.46999.n3.nabble.com/rules-users-Memory-leak-due-CompositeClassLoader-tp4029053p4029100.html Sent from the Drools: User forum mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140403/3569eaf0/attachment.html From wolfgang.laun at gmail.com Thu Apr 3 03:04:11 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Thu, 3 Apr 2014 09:04:11 +0200 Subject: [rules-users] Random rule fire In-Reply-To: <1396475119748-4029103.post@n3.nabble.com> References: <1396475119748-4029103.post@n3.nabble.com> Message-ID: You can insert a fact containing the random number and add a pattern with the constraint. Where is the problem? On 2 April 2014 23:45, vvicky72 wrote: > We have a unique situation. Using guided decision tables, we want a > particular rule to fire randomly even when all the conditions on the "when" > clause are satisfied. > > So... > We want to assign a positive integer to every rule (say n). We want that > rule to fire only when > "new Random().nextInt(n)+1 = n" is true (along with other conditions in the > rule) > > Any suggestions? > > Thanks, > Vikas. > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Random-rule-fire-tp4029103.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140403/d7b57322/attachment.html From wolfgang.laun at gmail.com Thu Apr 3 03:38:19 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Thu, 3 Apr 2014 09:38:19 +0200 Subject: [rules-users] Random rule fire In-Reply-To: References: <1396475119748-4029103.post@n3.nabble.com> Message-ID: Second thoughts: it might be easier to add code to the right hand side to achieve this random firing. On 3 April 2014 09:04, Wolfgang Laun wrote: > You can insert a fact containing the random number and add a pattern with > the constraint. Where is the problem? > > > On 2 April 2014 23:45, vvicky72 wrote: > >> We have a unique situation. Using guided decision tables, we want a >> particular rule to fire randomly even when all the conditions on the >> "when" >> clause are satisfied. >> >> So... >> We want to assign a positive integer to every rule (say n). We want that >> rule to fire only when >> "new Random().nextInt(n)+1 = n" is true (along with other conditions in >> the >> rule) >> >> Any suggestions? >> >> Thanks, >> Vikas. >> >> >> >> -- >> View this message in context: >> http://drools.46999.n3.nabble.com/Random-rule-fire-tp4029103.html >> Sent from the Drools: User forum mailing list archive at Nabble.com. >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140403/a01c9075/attachment.html From florian.pirchner at gmail.com Thu Apr 3 03:43:06 2014 From: florian.pirchner at gmail.com (Florian Pirchner) Date: Thu, 03 Apr 2014 09:43:06 +0200 Subject: [rules-users] Drools 6 and OSGi In-Reply-To: References: <53398E86.9030209@gmail.com> <9E4CB621-AC6B-4062-B51D-5EA0BC0E7622@codehaus.org> Message-ID: <533D110A.3000901@gmail.com> Thanks, will try the latest build. Best, Florian Am 03.04.14 00:12, schrieb Mark Proctor: > >> I did not get the idea behind it. Why don't you use "new" to create >> new instances. Then the bundles have to define their dependencies >> very carefully to become compiled. > At the point where you see Class.forName it means the implementation > is not on the class path of that module, but the interface is. So the > provider pattern mechanism uses reflection to load the instance to > return to you under the targeted interface. This is how all our > factories work, we have all the api in -api but none of the > implementation. It binds the implementation at runtime, via > reflection. However, in the case of our -api factories, we already > address this in OSGi by using Activator injection. > >> My question is about the architecture changes to meet OSGi >> requirements. There are a lot of Class#forName calls to create new >> instances. In OSGi it is not that easy then in java SE. Each bundle >> has its own class loader. And classes are only visible to bundles, if >> their package was imported. > We have not done a full audit of Class.forName. I should add that > loadClass itself has problems too, related to serialisation - which is > why we use forName. If you want to do an audit and submit via a pull > request alternatives, then please do. Although remember not all those > forNames (in the case of our factories) will b used by OSGi, so make > sure you find ones that you believe are actually a problem. > > We also did work around making sure all our jars have unique package > names, to avoid split packages. And there was a lot of work around > repacking our dependencies. > >> So my question is, whether that approach is the suggested way to add >> Drools and JBPM to OSGi containers. > Sorry I don't understand the question fully. The classloader argument, > is if you need to specify parent classloader. There are a variety of > use cases for this, such as if people are doing runtime code > generation on custom classloaders that they want to make visible to > Drools. > > My understanding is that drools now works on karaf. Maybe try one of > our latest builds if there any issues, then come back and let us know. > http://downloads.jboss.org/drools/release/snapshot/master/ > > Mark > > On 2 Apr 2014, at 20:51, Florian Pirchner > wrote: > >> Hi Mark, >> >> could not find anybody in cc :D >> >> Good to hear, that there is progress in the OSGi stuff. >> >> My question is about the architecture changes to meet OSGi >> requirements. There are a lot of Class#forName calls to create new >> instances. In OSGi it is not that easy then in java SE. Each bundle >> has its own class loader. And classes are only visible to bundles, if >> their package was imported. >> >> I could see, that there is a ProjectClassLoader. And that there is a >> way to provide a common parent classloader. That might be the bundle >> classloader. So most of the classes can be found by Class#forName. >> But it requires a bundle, that imports all the dependencies from >> drools, kie and jbpm. Only in that case, the bundles are visible to >> the bundles class loader. So my question is, whether that approach is >> the suggested way to add Drools and JBPM to OSGi containers. >> >> But a drawback is, that there is no real support about required >> dependencies during development. Except the drools bundles will >> define their imported packages very carefully. Why do you use >> Class#forName to load classes? I did not get the idea behind it. Why >> don't you use "new" to create new instances. Then the bundles have to >> define their dependencies very carefully to become compiled. >> >> Thanks a lot for your answers. >> >> Best Florian >> >> >> >> >> >> 2014-03-31 18:28 GMT+02:00 Mark Proctor > >: >> >> There was a lot of OSGi fixes in 6.0.1, aimed at the karat >> container. However not all modules are migrated, as it's a work >> in progress. I don't know which currently are or are not, I'm >> cc'ing in the developer behind this to answer. >> >> Mark >> On 31 Mar 2014, at 16:49, Florian Pirchner >> > >> wrote: >> >>> Hi, >>> >>> today i started to setup Drools 6 in my OSGi container. But it >>> seems there are some issues that do not allow to run drools 6 >>> (and jbpm) under OSGi properly. >>> >>> For instance: >>> JPAKnowledgeService >>> .newStatefulKnowledgeSession(kieBase, null, env); >>> will never find >>> "org.drools.persistence.jpa.KnowledgeStoreServiceImpl" since it >>> is not in the scope of the current ClassLoader. >>> >>> Tried to tie things up, but then there would be a cyclic >>> dependency between kie-internal and jbpm-persistence-jpa. >>> >>> I also could see, that a ProjectClassLoader was added. I found a >>> way to put my current BundleClassLoader as its parent into play. >>> This solves a lot of class loading issues. >>> >>> >>> For me it seems, that Drools 6 was not designed to run in an >>> OSGi container. Is there ongoing work to integrate Drools and >>> JBPM Version 6.x into OSGi environments properly? >>> >>> -- >>> Thanks for your answer >>> Florian Pirchner >>> >>> _______________________________________________ >>> rules-users mailing list >>> rules-users at lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/rules-users >> >> >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> >> >> >> >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140403/b443f06e/attachment-0001.html From maxime.falaize at gmail.com Thu Apr 3 03:55:32 2014 From: maxime.falaize at gmail.com (Maxime Falaize) Date: Thu, 3 Apr 2014 09:55:32 +0200 Subject: [rules-users] Pooling stateful sessions to have threaded executions of a ruleset Message-ID: Hello, I want to ask you if it is a good practive to pool stateful sessions for a specific ruleset to improve the execution performance. Actually in my application I execute my rules by calling SOAP webservice. For performance purpose, I test multithreaded calls to my webservice and I noted that when I pool sessions in the server side, it improves the performance a lot. To pool sessions, I just declare multiple ksession tag in my kmodule.xml : In my spring webservice endpoint I just put that code to handle the pool : @Endpoint public class ExampleEndpoint implements InitializingBean { @Autowired private ExampleRuleService ruleService; private Map isRunningMap = new HashMap(); private static final int NB_POOL_SESSIONS = 5; @PayloadRoot(localPart = "com.example.ExampleRequest") @ResponsePayload public ExampleResponse handleRequest( @RequestPayload ExampleRequest request) throws InterruptedException { KieServices ks = KieServices.Factory.get(); KieContainer kc = ks.getKieClasspathContainer(); while (true) { for (int i = 0; i < NB_POOL_SESSIONS; i++) { boolean run = false; synchronized (isRunningMap) { if (!isRunningMap.get(i)) { isRunningMap.put(i, true); run = true; } } if (run) { KieSession ksession = kc.newKieSession("KSession" + (i + 1)); ExampleResponse response = ruleService.run(ksession, request); ksession.dispose(); isRunningMap.put(i, false); return response; } } Thread.sleep(100); } } public void afterPropertiesSet() throws Exception { for (int i = 1; i <= NB_POOL_SESSIONS; i++) { isRunningMap.put((i - 1), false); } } } It works well because in my benchmark I improve 5 times the performance (as I have 5 different threads) but I wondered if it is a good practice and if it does not hide any issues that I could have in the future. Thanks for your help. -- Maxime FALAIZE -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140403/939d6a9f/attachment.html From mkohalli at cisco.com Thu Apr 3 04:27:39 2014 From: mkohalli at cisco.com (Mallikarjun Kohalli (mkohalli)) Date: Thu, 3 Apr 2014 08:27:39 +0000 Subject: [rules-users] rules-users Digest, Vol 89, Issue 11 In-Reply-To: References: Message-ID: <021BF26FC85FC84E822600C224BBE61C6677D148@xmb-aln-x15.cisco.com> Hi All, I have a single thread executing all my rules in DROOLS 5.1.0.Can I enable multiple threads to be running in the drools using thread pool to execute the rules so that execution can be faster . I would like to know the configurations that should be made in 5.1.0 verison . Regards, Mallikarjun K -----Original Message----- From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of rules-users-request at lists.jboss.org Sent: Thursday, April 03, 2014 1:13 PM To: rules-users at lists.jboss.org Subject: rules-users Digest, Vol 89, Issue 11 Send rules-users mailing list submissions to rules-users at lists.jboss.org To subscribe or unsubscribe via the World Wide Web, visit https://lists.jboss.org/mailman/listinfo/rules-users or, via email, send a message with subject or body 'help' to rules-users-request at lists.jboss.org You can reach the person managing the list at rules-users-owner at lists.jboss.org When replying, please edit your Subject line so it is more specific than "Re: Contents of rules-users digest..." Today's Topics: 1. Re: External Imports (Michael Anstis) 2. Re: Memory leak due CompositeClassLoader (Romain Thouvenin) 3. Re: Random rule fire (Wolfgang Laun) 4. Re: Random rule fire (Wolfgang Laun) 5. Re: Drools 6 and OSGi (Florian Pirchner) ---------------------------------------------------------------------- Message: 1 Date: Thu, 3 Apr 2014 07:03:09 +0100 From: Michael Anstis Subject: Re: [rules-users] External Imports To: Rules Users List Message-ID: Content-Type: text/plain; charset="iso-8859-1" These should be added as "Import suggestions" in the Project Editor in the Authoring Perspective. Sent on the move On 2 Apr 2014 22:22, "vvicky72" wrote: > I am using the latest drools wb on jboss as7. > > Trying to add java.lang.ArrayList to the project.imports. But the New > item button is disabled. Screen shot attached. Any ideas? > g> > > Thanks, > Vikas. > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/External-Imports-tp4029102.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140403/e76915e1/attachment-0001.html ------------------------------ Message: 2 Date: Thu, 3 Apr 2014 11:53:54 +0530 From: Romain Thouvenin Subject: Re: [rules-users] Memory leak due CompositeClassLoader To: Rules Users List Message-ID: Content-Type: text/plain; charset="us-ascii" The thing is that it is not my webapp that creates the RuleBaseConfiguration and the RuleBase, it is another component that is loaded by the application server, and the rules are shared between webapps. So I cannot dispose of these objects. This other component loads lazily the RuleBase on first call, that is why when the RuleBaseConfiguration is instantiated, the context class loader is the one of my webapp. The only workaround I found is to hook a listener when my webapp is deployed, temporarily change the context class loader of the current Thread, force the load of the RuleBase. That way the CompositeClassLoader does not have a reference to the class loader of my webapp. But that is quite ugly... I will see with the developers of this other component if migrating to 6.x is a possibility, but I doubt it in the near future. Thanks anyway for the suggestions. Romain From: Davide Sottara To: rules-users at lists.jboss.org, Date: 03/04/2014 00:29 Subject: Re: [rules-users] Memory leak due CompositeClassLoader Sent by: rules-users-bounces at lists.jboss.org You may have to dispose the sessions explicitly - or even the knowledgebase, using the internal method that was added as a temporary "brute force" patch to leaks in 5.6. The composite classloader was replaced in 6.x, so the newer versions should not have this kind of problems. Best Davide -- View this message in context: http://drools.46999.n3.nabble.com/rules-users-Memory-leak-due-CompositeClassLoader-tp4029053p4029100.html Sent from the Drools: User forum mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140403/3569eaf0/attachment-0001.html ------------------------------ Message: 3 Date: Thu, 3 Apr 2014 09:04:11 +0200 From: Wolfgang Laun Subject: Re: [rules-users] Random rule fire To: Rules Users List Message-ID: Content-Type: text/plain; charset="iso-8859-1" You can insert a fact containing the random number and add a pattern with the constraint. Where is the problem? On 2 April 2014 23:45, vvicky72 wrote: > We have a unique situation. Using guided decision tables, we want a > particular rule to fire randomly even when all the conditions on the "when" > clause are satisfied. > > So... > We want to assign a positive integer to every rule (say n). We want > that rule to fire only when "new Random().nextInt(n)+1 = n" is true > (along with other conditions in the > rule) > > Any suggestions? > > Thanks, > Vikas. > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Random-rule-fire-tp4029103.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140403/d7b57322/attachment-0001.html ------------------------------ Message: 4 Date: Thu, 3 Apr 2014 09:38:19 +0200 From: Wolfgang Laun Subject: Re: [rules-users] Random rule fire To: Rules Users List Message-ID: Content-Type: text/plain; charset="iso-8859-1" Second thoughts: it might be easier to add code to the right hand side to achieve this random firing. On 3 April 2014 09:04, Wolfgang Laun wrote: > You can insert a fact containing the random number and add a pattern > with the constraint. Where is the problem? > > > On 2 April 2014 23:45, vvicky72 wrote: > >> We have a unique situation. Using guided decision tables, we want a >> particular rule to fire randomly even when all the conditions on the >> "when" >> clause are satisfied. >> >> So... >> We want to assign a positive integer to every rule (say n). We want >> that rule to fire only when "new Random().nextInt(n)+1 = n" is true >> (along with other conditions in the >> rule) >> >> Any suggestions? >> >> Thanks, >> Vikas. >> >> >> >> -- >> View this message in context: >> http://drools.46999.n3.nabble.com/Random-rule-fire-tp4029103.html >> Sent from the Drools: User forum mailing list archive at Nabble.com. >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140403/a01c9075/attachment-0001.html ------------------------------ Message: 5 Date: Thu, 03 Apr 2014 09:43:06 +0200 From: Florian Pirchner Subject: Re: [rules-users] Drools 6 and OSGi To: Rules Users List Message-ID: <533D110A.3000901 at gmail.com> Content-Type: text/plain; charset="iso-8859-1" Thanks, will try the latest build. Best, Florian Am 03.04.14 00:12, schrieb Mark Proctor: > >> I did not get the idea behind it. Why don't you use "new" to create >> new instances. Then the bundles have to define their dependencies >> very carefully to become compiled. > At the point where you see Class.forName it means the implementation > is not on the class path of that module, but the interface is. So the > provider pattern mechanism uses reflection to load the instance to > return to you under the targeted interface. This is how all our > factories work, we have all the api in -api but none of the > implementation. It binds the implementation at runtime, via > reflection. However, in the case of our -api factories, we already > address this in OSGi by using Activator injection. > >> My question is about the architecture changes to meet OSGi >> requirements. There are a lot of Class#forName calls to create new >> instances. In OSGi it is not that easy then in java SE. Each bundle >> has its own class loader. And classes are only visible to bundles, if >> their package was imported. > We have not done a full audit of Class.forName. I should add that > loadClass itself has problems too, related to serialisation - which is > why we use forName. If you want to do an audit and submit via a pull > request alternatives, then please do. Although remember not all those > forNames (in the case of our factories) will b used by OSGi, so make > sure you find ones that you believe are actually a problem. > > We also did work around making sure all our jars have unique package > names, to avoid split packages. And there was a lot of work around > repacking our dependencies. > >> So my question is, whether that approach is the suggested way to add >> Drools and JBPM to OSGi containers. > Sorry I don't understand the question fully. The classloader argument, > is if you need to specify parent classloader. There are a variety of > use cases for this, such as if people are doing runtime code > generation on custom classloaders that they want to make visible to > Drools. > > My understanding is that drools now works on karaf. Maybe try one of > our latest builds if there any issues, then come back and let us know. > http://downloads.jboss.org/drools/release/snapshot/master/ > > Mark > > On 2 Apr 2014, at 20:51, Florian Pirchner > wrote: > >> Hi Mark, >> >> could not find anybody in cc :D >> >> Good to hear, that there is progress in the OSGi stuff. >> >> My question is about the architecture changes to meet OSGi >> requirements. There are a lot of Class#forName calls to create new >> instances. In OSGi it is not that easy then in java SE. Each bundle >> has its own class loader. And classes are only visible to bundles, if >> their package was imported. >> >> I could see, that there is a ProjectClassLoader. And that there is a >> way to provide a common parent classloader. That might be the bundle >> classloader. So most of the classes can be found by Class#forName. >> But it requires a bundle, that imports all the dependencies from >> drools, kie and jbpm. Only in that case, the bundles are visible to >> the bundles class loader. So my question is, whether that approach is >> the suggested way to add Drools and JBPM to OSGi containers. >> >> But a drawback is, that there is no real support about required >> dependencies during development. Except the drools bundles will >> define their imported packages very carefully. Why do you use >> Class#forName to load classes? I did not get the idea behind it. Why >> don't you use "new" to create new instances. Then the bundles have to >> define their dependencies very carefully to become compiled. >> >> Thanks a lot for your answers. >> >> Best Florian >> >> >> >> >> >> 2014-03-31 18:28 GMT+02:00 Mark Proctor > >: >> >> There was a lot of OSGi fixes in 6.0.1, aimed at the karat >> container. However not all modules are migrated, as it's a work >> in progress. I don't know which currently are or are not, I'm >> cc'ing in the developer behind this to answer. >> >> Mark >> On 31 Mar 2014, at 16:49, Florian Pirchner >> > >> wrote: >> >>> Hi, >>> >>> today i started to setup Drools 6 in my OSGi container. But it >>> seems there are some issues that do not allow to run drools 6 >>> (and jbpm) under OSGi properly. >>> >>> For instance: >>> JPAKnowledgeService >>> .newStatefulKnowledgeSession(kieBase, null, env); >>> will never find >>> "org.drools.persistence.jpa.KnowledgeStoreServiceImpl" since it >>> is not in the scope of the current ClassLoader. >>> >>> Tried to tie things up, but then there would be a cyclic >>> dependency between kie-internal and jbpm-persistence-jpa. >>> >>> I also could see, that a ProjectClassLoader was added. I found a >>> way to put my current BundleClassLoader as its parent into play. >>> This solves a lot of class loading issues. >>> >>> >>> For me it seems, that Drools 6 was not designed to run in an >>> OSGi container. Is there ongoing work to integrate Drools and >>> JBPM Version 6.x into OSGi environments properly? >>> >>> -- >>> Thanks for your answer >>> Florian Pirchner >>> >>> _______________________________________________ >>> rules-users mailing list >>> rules-users at lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/rules-users >> >> >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> >> >> >> >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140403/b443f06e/attachment.html ------------------------------ _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users End of rules-users Digest, Vol 89, Issue 11 ******************************************* From mario.fusco at gmail.com Thu Apr 3 12:43:48 2014 From: mario.fusco at gmail.com (Mario Fusco) Date: Thu, 3 Apr 2014 09:43:48 -0700 (PDT) Subject: [rules-users] Drools Fusion inconsistencies at increasing event throughputs In-Reply-To: References: <1395752980607-4028955.post@n3.nabble.com> <1396362145934-4029070.post@n3.nabble.com> <1396448238041-4029093.post@n3.nabble.com> Message-ID: <1396543428771-4029112.post@n3.nabble.com> Hi again, I've been able to reproduce the last issue with CronTrigger that you reported (even if not as frequently as you wrote) and I just pushed a very minor change that should fix also this: https://github.com/droolsjbpm/drools/commit/94b0c4588 Let me know if you'll have a chance to test this last improvement and tell me if it works for you. Thanks, Mario -- View this message in context: http://drools.46999.n3.nabble.com/rules-users-Drools-Fusion-inconsistencies-at-increasing-event-throughputs-tp4028947p4029112.html Sent from the Drools: User forum mailing list archive at Nabble.com. From jmercier at genoscope.cns.fr Fri Apr 4 07:53:20 2014 From: jmercier at genoscope.cns.fr (jmercier) Date: Fri, 04 Apr 2014 13:53:20 +0200 Subject: [rules-users] Pooling stateful sessions to have threaded executions of a ruleset In-Reply-To: References: Message-ID: <56b150afa8d92e910c77d85195edebd3@genoscope.cns.fr> Le 04/03/2014 09:55, Maxime Falaize a ?crit?: > Hello, > > I want to ask you if it is a good practive to pool stateful sessions > for a specific ruleset to improve the execution performance. > Actually in my application I execute my rules by calling SOAP > webservice. For performance purpose, I test multithreaded calls to my > webservice and I noted that when I pool sessions in the server side, > it improves the performance a lot. > > To pool sessions, I just declare multiple ksession tag in my > kmodule.xml : > > > ??????? > ??????? > ??????? > ??????? > ??????? > > > In my spring webservice endpoint I just put that code to handle the > pool : > > @Endpoint > public class ExampleEndpoint implements InitializingBean { > > ??? @Autowired > ??? private ExampleRuleService ruleService; > ??? private Map isRunningMap = new > HashMap(); > ??? private static final int NB_POOL_SESSIONS = 5; > > ??? @PayloadRoot(localPart = "com.example.ExampleRequest") > ??? @ResponsePayload > ??? public ExampleResponse handleRequest( > ??? ??? ??? @RequestPayload ExampleRequest request) throws > InterruptedException { > ??? ??? KieServices ks = KieServices.Factory.get(); > ??? ??? KieContainer kc = ks.getKieClasspathContainer(); > ??? ??? while (true) { > ??? ??? ??? for (int i = 0; i < NB_POOL_SESSIONS; i++) { > ??? ??? ??? ??? boolean run = false; > > ??? ??? ??? ??? synchronized (isRunningMap) { > ??? ??? ??? ??? ??? if (!isRunningMap.get(i)) { > ??? ??? ??? ??? ??? ??? isRunningMap.put(i, true); > ??? ??? ??? ??? ??? ??? run = true; > ??? ??? ??? ??? ??? } > ??? ??? ??? ??? } > > ??? ??? ??? ??? if (run) { > ??????????????????? KieSession ksession = kc.newKieSession("KSession" > + (i + 1)); > ??????????????????? ExampleResponse response = > ruleService.run(ksession, request); > ??????????????????? ksession.dispose(); > > ??? ??? ??? ??? ??? isRunningMap.put(i, false); > ??? ??? ??? ??? ??? return response; > ??? ??? ??? ??? } > ??? ??? ??? } > ??? ??? ??? Thread.sleep(100); > ??? ??? } > ??? } > > ??? public void afterPropertiesSet() throws Exception { > ??? ??? for (int i = 1; i <= NB_POOL_SESSIONS; i++) { > ??? ??? ??? isRunningMap.put((i - 1), false); > ??? ??? } > ??? } > > } > > It works well because in my benchmark I improve 5 times the > performance (as I have 5 different threads) but I wondered if it is a > good practice and if it does not hide any issues that I could have in > the future. > > Thanks for your help. > > -- > Maxime FALAIZE > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users Hi maxime, I do not remember if use drools 6 or drools 5. If you using drools 6. Phreaks algorithm use multi threading according to use 'from accummulate' far i understand here: http://planet.jboss.org/post/drools_6_performance_with_the_phreak_algorithm Instead to put a thread by ksession here rules evaluation are multi-threaded. From shrinath.managuli at aspiresys.com Fri Apr 4 09:40:26 2014 From: shrinath.managuli at aspiresys.com (Shrinath Managuli) Date: Fri, 4 Apr 2014 13:40:26 +0000 Subject: [rules-users] Deploying kie-drools workbench 6.1 beta on websphere liberty 8.5.5 gives classpath errors Message-ID: Hi , I ran kie-drools workbench 6.1 beta on websphere liberty 8.5.5 and gives manifest file related errors as below. I tried to add jars but spent all the time just find that again it asks for other jars in loop with different versions of same jars. Need help on this.. Error: The manifest class path avalon-framework-4.2.0.jar can not be found in jar file file:/D:/Program%20Files/IBM/Liberty/usr/servers/guvnor/apps/drools6/WEB-INF/lib/fop-0.95.jar or its parent. [4/4/14 18:31:12:530 IST] 00000012 m.ibm.ws.container.service.app.deploy.ManifestClassPathUtils W SRVE9967W: The manifest class path batik-all-1.7.jar can not be found in jar file file:/D:/Program%20Files/IBM/Liberty/usr/servers/guvnor/apps/drools6/WEB-INF/lib/fop-0.95.jar or its parent. [4/4/14 18:31:12:531 IST] 00000012 m.ibm.ws.container.service.app.deploy.ManifestClassPathUtils W SRVE9967W: The manifest class path commons-io-1.3.1.jar can not be found in jar file file:/D:/Program%20Files/IBM/Liberty/usr/servers/guvnor/apps/drools6/WEB-INF/lib/fop-0.95.jar or its parent. [4/4/14 18:31:12:531 IST] 00000012 m.ibm.ws.container.service.app.deploy.ManifestClassPathUtils W SRVE9967W: The manifest class path commons-logging-1.0.4.jar can not be found in jar file file:/D:/Program%20Files/IBM/Liberty/usr/servers/guvnor/apps/drools6/WEB-INF/lib/fop-0.95.jar or its parent. [4/4/14 18:31:12:532 IST] 00000012 m.ibm.ws.container.service.app.deploy.ManifestClassPathUtils W SRVE9967W: The manifest class path serializer-2.7.0.jar can not be found in jar file file:/D:/Program%20Files/IBM/Liberty/usr/servers/guvnor/apps/drools6/WEB-INF/lib/fop-0.95.jar or its parent. ....... Thanks Shrinath [Aspire Systems] This e-mail message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140404/9d4c1109/attachment.html From babuaski at gmail.com Fri Apr 4 13:56:26 2014 From: babuaski at gmail.com (Anton) Date: Fri, 4 Apr 2014 10:56:26 -0700 (PDT) Subject: [rules-users] Drools Workbench Camel integration Message-ID: <1396634186238-4029121.post@n3.nabble.com> Hi, We are looking for the way to consume the DRLs managed in the Drools workbench in the camel and expose them as services to the clients. We have tried it with the sample examples (with drl files) provided in the camel integration example and found it working. Using drools 6.0.1, now how the workbench knowledge base should be added to the camel knowledge services? Searched a lot, could not find a reference/help on this regard? We are looking for XML element like below for the file based integration >From the Java application, we are able to run against the workbench knowledgebase dynamically (using maven release id). How this should be integrated with camel services? Regards, Anton -- View this message in context: http://drools.46999.n3.nabble.com/Drools-Workbench-Camel-integration-tp4029121.html Sent from the Drools: User forum mailing list archive at Nabble.com. From babuaski at gmail.com Fri Apr 4 14:01:39 2014 From: babuaski at gmail.com (Ashok Babu) Date: Fri, 4 Apr 2014 23:31:39 +0530 Subject: [rules-users] Drools workbench camel integration Message-ID: Hi, We are looking for the way to consume the DRLs managed in the Drools workbench in the camel and expose them as services to the clients. We have tried it with the sample examples (with drl files) provided in the camel integration example and found it working. Using drools 6.0.1, now how the workbench knowledge base should be added to the camel knowledge services? Searched a lot, could not find a reference/help on this regard? We are looking for XML element like below for the file based integration >From the Java application, we are able to run against the workbench knowledgebase dynamically (using maven release id). How this should be integrated with camel services? Regards, Anton -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140404/39edd31a/attachment.html From Karan.Malhotra2 at makemytrip.com Sat Apr 5 00:16:02 2014 From: Karan.Malhotra2 at makemytrip.com (Karan Malhotra) Date: Sat, 5 Apr 2014 04:16:02 +0000 Subject: [rules-users] Linkage Error In execute method Message-ID: Hi All, We have recently upgraded our application from 5.1.0 to 5.4.0.Final. Everything worked well until this was deployed at Production Envr. We started getting multiple Linkage Error in execute method of Stateless KnowledgeSession. StackTrace: Exception: java.util.concurrent.ExecutionException: java.lang.LinkageError: loader (instance oforg/drools/rule/JavaDialectRuntimeData$PackageClassLoader): attemptedduplicate class definition for name: "OffBarCapping/Rule_Off_Bar_Tariff_Capping_13_2a4a909def69414bbd60cdfdac9ad807"| OffBarCapping/Rule_Off_Bar_Tariff_Capping_16_6b6f1282708449448fc434e820fa8e1f# at OffBarCapping.Rule_Off_Bar_Tariff_Capping_16_6b6f1282708449448fc434e820fa8e1fPredicate0InvokerGenerated.evaluate(Unknown Source)# at OffBarCapping.Rule_Off_Bar_Tariff_Capping_16_6b6f1282708449448fc434e820fa8e1fPredicate0Invoker.evaluate(Unknown Source)# at org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:299)# at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:137)# at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:497)# at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:382)# at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235)# at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240)# at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:337)# at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:298)# at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:888)# at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:847)# at org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:269)# at org.drools.impl.StatelessKnowledgeSessionImpl.execute(StatelessKnowledgeSessionImpl.java:294)# 1. Some surfing on the internet referred us to a similar JIRA issue:- JBRULES-3675 It says this has been fixed in 6.0.0. We were not in a position to upgrade to 6.0.0 right away and hence decide to apply a patch in drools-core-5.4.0.Final.jar Drools: 5.4.0 public Class More ...fastFindClass( final String name ) { Class cls = findLoadedClass( name ); if (cls == null) { final byte[] clazzBytes = this.store.read( convertClassToResourcePath( name ) ); if (clazzBytes != null) { String pkgName = name.substring( 0, name.lastIndexOf( '.' ) ); if (getPackage( pkgName ) == null) { definePackage( pkgName, "", "", "", "", "", "", null ); } cls = defineClass( name, clazzBytes, 0, clazzBytes.length, PROTECTION_DOMAIN ); } if (cls != null) { resolveClass( cls ); } } return cls; } Path applied:- public Class fastFindClass(String name) { Class cls = findLoadedClass(name); if(cls == null) { byte clazzBytes[] = store.read(JavaDialectRuntimeData.convertClassToResourcePath(name)); if(clazzBytes != null) { String pkgName = name.substring(0, name.lastIndexOf('.')); if(!existingPackages.contains(pkgName)) { synchronized(this) { if(!existingPackages.contains(pkgName)) { if(getPackage(pkgName) == null) { definePackage(pkgName, "", "", "", "", "", "", null); } existingPackages.add(pkgName); } } } cls = defineClass(name, clazzBytes, 0, clazzBytes.length, JavaDialectRuntimeData.access$000()); } if(cls != null) { resolveClass(cls); } } return cls; } But we are still getting this Error. Let me know if any one did face a similar issue and solution for the same. Thanks and regards, Karan Malhotra The contents of this email, including the attachments, are PRIVILEGED AND CONFIDENTIAL to the intended recipient at the email address to which it has been addressed. If you receive it in error, please notify the sender immediately by return email and then permanently delete it from your system. The unauthorized use, distribution, copying or alteration of this email, including the attachments, is strictly forbidden. Please note that neither MakeMyTrip nor the sender accepts any responsibility for viruses and it is your responsibility to scan the email and attachments (if any). No contracts may be concluded on behalf of MakeMyTrip by means of email communications. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140405/b93c036b/attachment-0001.html From profversaggi at gmail.com Sat Apr 5 01:39:22 2014 From: profversaggi at gmail.com (profversaggi) Date: Fri, 4 Apr 2014 22:39:22 -0700 (PDT) Subject: [rules-users] Integration of Spring MVC 3.2.X and Drools 6.0.0.Final KIE issues .... Message-ID: <1396676362332-4029124.post@n3.nabble.com> I want to use a Stateful Drools 6 KIE KB on via a web interface using the Spring API - which means using Spring 3.2.X MVC. I've read a lot of issues all over the web trying to tackle the problem from many different angles and I've yet to see a simple illustration of how it's properly integrated. Why is this so difficult? Some advocate starting w/a Drools project first, converting it to Maven and then adding the Spring MVC to it. Some suggest the other way around. I've seen more than a few piece meal approaches as well - yet everyone is reporting problems. I've tried it Drools first - the spring MVC doesn't take properly. I've tried the Spring First - the Drools doesn't take properly. Why is this so hard with KIE and Spring 3.2.X MVC ? Does anyone have a very simple Spring MVC 3.2.X and Drools 6.0.0.Final KIE integration example that works which one could peruse for inspiration? Many thanks in advance.... :-) -- View this message in context: http://drools.46999.n3.nabble.com/Integration-of-Spring-MVC-3-2-X-and-Drools-6-0-0-Final-KIE-issues-tp4029124.html Sent from the Drools: User forum mailing list archive at Nabble.com. From dsotty at gmail.com Sat Apr 5 02:48:40 2014 From: dsotty at gmail.com (Davide Sottara) Date: Fri, 04 Apr 2014 23:48:40 -0700 Subject: [rules-users] Linkage Error In execute method In-Reply-To: References: Message-ID: <533FA748.1050306@gmail.com> Can you upgrade to 5.6? Otherwise, you'll have to synchronize the methods int ClassLoader, the null check is not enough On 04/04/2014 09:16 PM, Karan Malhotra wrote: > > Hi All, > > > > We have recently upgraded our application from 5.1.0 to 5.4.0.Final. > > > > Everything worked well until this was deployed at Production Envr. We > started getting multiple Linkage Error in execute method of Stateless > KnowledgeSession. > > > > StackTrace: > > > > Exception: java.util.concurrent.ExecutionException: > java.lang.LinkageError: loader (instance > oforg/drools/rule/JavaDialectRuntimeData$PackageClassLoader): > attemptedduplicate class definition for name: > "OffBarCapping/Rule_Off_Bar_Tariff_Capping_13_2a4a909def69414bbd60cdfdac9ad807"| > > > > OffBarCapping/Rule_Off_Bar_Tariff_Capping_16_6b6f1282708449448fc434e820fa8e1f# > at > OffBarCapping.Rule_Off_Bar_Tariff_Capping_16_6b6f1282708449448fc434e820fa8e1fPredicate0InvokerGenerated.evaluate(Unknown > Source)# at > OffBarCapping.Rule_Off_Bar_Tariff_Capping_16_6b6f1282708449448fc434e820fa8e1fPredicate0Invoker.evaluate(Unknown > Source)# at > org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:299)# > at > org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:137)# > at > org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:497)# > at > org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:382)# > at > org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235)# > at > org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240)# > at > org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:337)# > at > org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:298)# > at > org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:888)# > at > org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:847)# > at > org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:269)# > at > org.drools.impl.StatelessKnowledgeSessionImpl.execute(StatelessKnowledgeSessionImpl.java:294)# > > > > 1. Some surfing on the internet referred us to a similar JIRA > issue:- JBRULES-3675 > > It says this has been fixed in 6.0.0. We were not in a position to > upgrade to 6.0.0 right away and hence decide to apply a patch in > drools-core-5.4.0.Final.jar > > > > Drools: 5.4.0 > > public Class More ...fastFindClass( final String name ) { > > Class cls = findLoadedClass( name ); > > > > if (cls == null) { > > final byte[] clazzBytes = this.store.read( > convertClassToResourcePath( name ) ); > > if (clazzBytes != null) { > > String pkgName = name.substring( 0, > > name.lastIndexOf( > '.' ) ); > > if (getPackage( pkgName ) == null) { > > definePackage( pkgName, > > "", > > "", > > "", > > "", > > "", > > "", > > null ); > > } > > > > cls = defineClass( name, > > clazzBytes, > > 0, > > clazzBytes.length, > > PROTECTION_DOMAIN ); > > } > > if (cls != null) { > > resolveClass( cls ); > > } > > } > > return cls; > > } > > > > Path applied:- > > > > public Class fastFindClass(String name) > > { > > Class cls = findLoadedClass(name); > > if(cls == null) > > { > > byte clazzBytes[] = > store.read(JavaDialectRuntimeData.convertClassToResourcePath(name)); > > if(clazzBytes != null) > > { > > String pkgName = name.substring(0, name.lastIndexOf('.')); > > if(!existingPackages.contains(pkgName)) > > { > > synchronized(this) > > { > > if(!existingPackages.contains(pkgName)) > > { > > if(getPackage(pkgName) == null) > > { > > definePackage(pkgName, "", "", "", "", > "", "", null); > > } > > existingPackages.add(pkgName); > > } > > } > > } > > cls = defineClass(name, clazzBytes, 0, > clazzBytes.length, JavaDialectRuntimeData.access$000()); > > } > > if(cls != null) > > { > > resolveClass(cls); > > } > > } > > return cls; > > } > > > > But we are still getting this Error. > > > > Let me know if any one did face a similar issue and solution for the same. > > > > Thanks and regards, > > Karan Malhotra > > > The contents of this email, including the attachments, are > *PRIVILEGED AND CONFIDENTIAL* to the intended recipient at > the email address to which it has been addressed. If you > receive it in error, please notify the sender immediately by > return email and then permanently delete it from your > system. The unauthorized use, distribution, copying or > alteration of this email, including the attachments, is > strictly forbidden. Please note that neither MakeMyTrip nor > the sender accepts any responsibility for viruses and it is > your responsibility to scan the email and attachments (if > any). No contracts may be concluded on behalf of > *MakeMyTrip* by means of email communications. > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140404/870fd026/attachment.html From Karan.Malhotra2 at makemytrip.com Sat Apr 5 04:04:12 2014 From: Karan.Malhotra2 at makemytrip.com (Karan Malhotra) Date: Sat, 5 Apr 2014 08:04:12 +0000 Subject: [rules-users] Linkage Error In execute method In-Reply-To: <533FA748.1050306@gmail.com> References: <533FA748.1050306@gmail.com> Message-ID: @David- thanks for your reply. In the patch, we have applied synchronise block, we referred to 6.0.0 release. Still it's throwing LinkageError for the same, Regards, Karan From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Davide Sottara Sent: 05 April 2014 12:19 To: rules-users at lists.jboss.org Subject: Re: [rules-users] Linkage Error In execute method Can you upgrade to 5.6? Otherwise, you'll have to synchronize the methods int ClassLoader, the null check is not enough On 04/04/2014 09:16 PM, Karan Malhotra wrote: Hi All, We have recently upgraded our application from 5.1.0 to 5.4.0.Final. Everything worked well until this was deployed at Production Envr. We started getting multiple Linkage Error in execute method of Stateless KnowledgeSession. StackTrace: Exception: java.util.concurrent.ExecutionException: java.lang.LinkageError: loader (instance oforg/drools/rule/JavaDialectRuntimeData$PackageClassLoader): attemptedduplicate class definition for name: "OffBarCapping/Rule_Off_Bar_Tariff_Capping_13_2a4a909def69414bbd60cdfdac9ad807"| OffBarCapping/Rule_Off_Bar_Tariff_Capping_16_6b6f1282708449448fc434e820fa8e1f# at OffBarCapping.Rule_Off_Bar_Tariff_Capping_16_6b6f1282708449448fc434e820fa8e1fPredicate0InvokerGenerated.evaluate(Unknown Source)# at OffBarCapping.Rule_Off_Bar_Tariff_Capping_16_6b6f1282708449448fc434e820fa8e1fPredicate0Invoker.evaluate(Unknown Source)# at org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:299)# at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:137)# at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:497)# at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:382)# at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235)# at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240)# at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:337)# at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:298)# at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:888)# at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:847)# at org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:269)# at org.drools.impl.StatelessKnowledgeSessionImpl.execute(StatelessKnowledgeSessionImpl.java:294)# 1. Some surfing on the internet referred us to a similar JIRA issue:- JBRULES-3675 It says this has been fixed in 6.0.0. We were not in a position to upgrade to 6.0.0 right away and hence decide to apply a patch in drools-core-5.4.0.Final.jar Drools: 5.4.0 public Class More ...fastFindClass( final String name ) { Class cls = findLoadedClass( name ); if (cls == null) { final byte[] clazzBytes = this.store.read( convertClassToResourcePath( name ) ); if (clazzBytes != null) { String pkgName = name.substring( 0, name.lastIndexOf( '.' ) ); if (getPackage( pkgName ) == null) { definePackage( pkgName, "", "", "", "", "", "", null ); } cls = defineClass( name, clazzBytes, 0, clazzBytes.length, PROTECTION_DOMAIN ); } if (cls != null) { resolveClass( cls ); } } return cls; } Path applied:- public Class fastFindClass(String name) { Class cls = findLoadedClass(name); if(cls == null) { byte clazzBytes[] = store.read(JavaDialectRuntimeData.convertClassToResourcePath(name)); if(clazzBytes != null) { String pkgName = name.substring(0, name.lastIndexOf('.')); if(!existingPackages.contains(pkgName)) { synchronized(this) { if(!existingPackages.contains(pkgName)) { if(getPackage(pkgName) == null) { definePackage(pkgName, "", "", "", "", "", "", null); } existingPackages.add(pkgName); } } } cls = defineClass(name, clazzBytes, 0, clazzBytes.length, JavaDialectRuntimeData.access$000()); } if(cls != null) { resolveClass(cls); } } return cls; } But we are still getting this Error. Let me know if any one did face a similar issue and solution for the same. Thanks and regards, Karan Malhotra The contents of this email, including the attachments, are PRIVILEGED AND CONFIDENTIAL to the intended recipient at the email address to which it has been addressed. If you receive it in error, please notify the sender immediately by return email and then permanently delete it from your system. The unauthorized use, distribution, copying or alteration of this email, including the attachments, is strictly forbidden. Please note that neither MakeMyTrip nor the sender accepts any responsibility for viruses and it is your responsibility to scan the email and attachments (if any). No contracts may be concluded on behalf of MakeMyTrip by means of email communications. _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users The contents of this email, including the attachments, are PRIVILEGED AND CONFIDENTIAL to the intended recipient at the email address to which it has been addressed. If you receive it in error, please notify the sender immediately by return email and then permanently delete it from your system. The unauthorized use, distribution, copying or alteration of this email, including the attachments, is strictly forbidden. Please note that neither MakeMyTrip nor the sender accepts any responsibility for viruses and it is your responsibility to scan the email and attachments (if any). No contracts may be concluded on behalf of MakeMyTrip by means of email communications. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140405/3d200c08/attachment-0001.html From babuaski at gmail.com Sat Apr 5 11:57:32 2014 From: babuaski at gmail.com (Anton) Date: Sat, 5 Apr 2014 08:57:32 -0700 (PDT) Subject: [rules-users] Consume Dymanic rules from application Message-ID: <1396713452808-4029129.post@n3.nabble.com> Hi, I have been trying to consume the dynamic rules from another application.. Could not accomplish this.. Following is the setup, please identify what has been missed. Have workbench 6.0.1 working Able to create rules and build and deploy Have the rules at local maven repository Able to see the rules in the remote repository as well. Thru http://localhost:8080/context/maven2 I have Kie-ci-6.0.1.jar in my external applications classpath Added the repository details in settings.xml both at mavenhome/conf/settings.xml and user_home/.m2/settings.xml Still I am not able to use the rules from the remore repository. Please point out anything I am missing. Regards, Anton -- View this message in context: http://drools.46999.n3.nabble.com/Consume-Dymanic-rules-from-application-tp4029129.html Sent from the Drools: User forum mailing list archive at Nabble.com. From dsotty at gmail.com Sat Apr 5 15:47:12 2014 From: dsotty at gmail.com (Davide Sottara) Date: Sat, 5 Apr 2014 12:47:12 -0700 (PDT) Subject: [rules-users] Linkage Error In execute method In-Reply-To: References: <533FA748.1050306@gmail.com> Message-ID: <1396727232926-4029130.post@n3.nabble.com> You should look at the 5.6 series, not the 6.0. Too many things have changed in the latter -- View this message in context: http://drools.46999.n3.nabble.com/rules-users-Linkage-Error-In-execute-method-tp4029123p4029130.html Sent from the Drools: User forum mailing list archive at Nabble.com. From dsotty at gmail.com Sat Apr 5 16:39:55 2014 From: dsotty at gmail.com (Davide Sottara) Date: Sat, 5 Apr 2014 13:39:55 -0700 (PDT) Subject: [rules-users] Memory leak due CompositeClassLoader In-Reply-To: References: <66F6E143-1505-46FC-A415-BC90EE3CACA4@codehaus.org> <1396465146987-4029100.post@n3.nabble.com> Message-ID: <1396730395623-4029131.post@n3.nabble.com> I think I'm starting to see the problem now. Where does this "component" live exactly, and how is that (and the KB) shared between your different webapps? -- View this message in context: http://drools.46999.n3.nabble.com/rules-users-Memory-leak-due-CompositeClassLoader-tp4029053p4029131.html Sent from the Drools: User forum mailing list archive at Nabble.com. From kmalhotra2504 at gmail.com Sat Apr 5 23:24:38 2014 From: kmalhotra2504 at gmail.com (karan malhotra) Date: Sat, 5 Apr 2014 20:24:38 -0700 (PDT) Subject: [rules-users] Linkage Error In execute method In-Reply-To: <1396727232926-4029130.post@n3.nabble.com> References: <533FA748.1050306@gmail.com> <1396727232926-4029130.post@n3.nabble.com> Message-ID: <1396754678057-4029132.post@n3.nabble.com> No changes in 5.6.0 in org.drools.rule.JavaDialectRuntimeData$PackageClassLoader.fastFindClass(String name). And as per the Jira issue, fix version is 6.0.0 -- View this message in context: http://drools.46999.n3.nabble.com/rules-users-Linkage-Error-In-execute-method-tp4029123p4029132.html Sent from the Drools: User forum mailing list archive at Nabble.com. From mproctor at codehaus.org Sun Apr 6 10:44:52 2014 From: mproctor at codehaus.org (Mark Proctor) Date: Sun, 6 Apr 2014 15:44:52 +0100 Subject: [rules-users] Memory leak due CompositeClassLoader In-Reply-To: References: <66F6E143-1505-46FC-A415-BC90EE3CACA4@codehaus.org> Message-ID: Se the currentContext ClassLoader to null, when initialising the knowledge base. Then reset it after you are done. Mark On 2 Apr 2014, at 08:04, Romain Thouvenin wrote: > Before asking for an upgrade to this third party, I did a test. > I managed to assemble a build of the component using Drools 5.6.0.Final, and tried to use-and-redeploy my webapp. > > I did not face any problem due to the upgrade, but it seems the leak is still there. > Out of the two instances of CompositeClassLoader that I could see with 5.2.1, one has gone so it is going in the good direction. > But there is still one that prevents garbage collection. > > The CompositeClassLoader is given the webapp class loader instance when it is instantiated by RuleBaseConfiguration: > > ClassLoaderUtil.getClassLoader(ClassLoader[], Class, boolean) line: 43 > at RuleBaseConfiguration.setClassLoader(ClassLoader...) line: 945 > at RuleBaseConfiguration.init(Properties, ClassLoader...) line: 421 > at RuleBaseConfiguration.() line: 267 > at RuleBaseConfiguration.() line: 175 > > > Any work-around available in 5.6? > > Thanks, > Romain > > > > > > From: Mark Proctor > To: Rules Users List , > Date: 01/04/2014 19:38 > Subject: Re: [rules-users] Memory leak due CompositeClassLoader > Sent by: rules-users-bounces at lists.jboss.org > > > > There were a lot of fixes around this and other areas. Please upgrade to 5.6, then come back if you have problems. > > Mark > On 1 Apr 2014, at 14:24, Romain Thouvenin wrote: > > Hello, > > I am working on a Web application that uses a third-party component that uses Drools 5.2.1 (I know this is old, but this is not my choice). > While investigating memory leaks in my application, I found out that after redeploying the webapp in the application server (Weblogic), the leaking class loader is referenced by: > > org.drools.util.CompositeClassLoader.classLoaders > > This is because when that class is instantiated by org.drools.util.ClassLoaderUtil, the initial list of class loaders includes the context class loader of the current thread, which is the class loader of my webapp. But the class loader of CompositeClassLoader is not the same as my webapp, so when I redeploy my webapp CompositeClassLoader continues to exist and keep that reference to the webapp class loader, which is therefore never garbage-collected. > > Browsing a bit through the code, I see no reference to CompositeClassLoader.removeClassLoader that could remove the faulty reference. > > So my questions are: > 1) Is my investigation correct? > > 2) I found this thread on the list: http://drools.46999.n3.nabble.com/permgen-leak-td4027038i20.html > Is this the same issue as mine, meaning that it is fixed in 5.6.0 and 6.0? > If yes, pushing this third-party component to upgrade is really the only solution I have? > > I am not at all a knowledgeable user of drools, I just happen to be user of that third-party component, that is why I wanted confirmation of my findings. > > Thanks for your help! > Romain > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140406/6a5eab50/attachment.html From romain.thouvenin at amadeus.com Mon Apr 7 00:57:05 2014 From: romain.thouvenin at amadeus.com (Romain Thouvenin) Date: Mon, 7 Apr 2014 10:27:05 +0530 Subject: [rules-users] Memory leak due CompositeClassLoader In-Reply-To: <1396730395623-4029131.post@n3.nabble.com> References: <66F6E143-1505-46FC-A415-BC90EE3CACA4@codehaus.org> <1396465146987-4029100.post@n3.nabble.com> <1396730395623-4029131.post@n3.nabble.com> Message-ID: This component (let's call it RulesService) is part of the EAR. Basically what happens is that it is loaded in a separate class loader, and those classes load lazily the RuleBaseConfiguration when the first request hits my webapp which calls this RulesService. So the CompositeClassLoader has a reference to the webapp class loader because it happens in the context of the request Thread, and it is referenced by objects of RulesService which outlive my webapp. I have decided to intercept the initialization of my webapp, nullify the context class loader and force the initialization of RulesService and reset the context class loader. This is also what Mark just suggested, except that my code is not responsible of initializing the Drools classes so I had to trick RulesService into doing it. This should do it for now. Thanks, Romain From: Davide Sottara To: rules-users at lists.jboss.org, Date: 06/04/2014 02:10 Subject: Re: [rules-users] Memory leak due CompositeClassLoader Sent by: rules-users-bounces at lists.jboss.org I think I'm starting to see the problem now. Where does this "component" live exactly, and how is that (and the KB) shared between your different webapps? -- View this message in context: http://drools.46999.n3.nabble.com/rules-users-Memory-leak-due-CompositeClassLoader-tp4029053p4029131.html Sent from the Drools: User forum mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140407/2a4a2eff/attachment.html From shrinath.managuli at aspiresys.com Mon Apr 7 03:34:28 2014 From: shrinath.managuli at aspiresys.com (Shrinath Managuli) Date: Mon, 7 Apr 2014 07:34:28 +0000 Subject: [rules-users] What is the compatibility matric of kie workbench 6.0.x and 6.1.x? Message-ID: Hi, Will workbench 6.0 deploy on jdk7 and jee 6 and will the same work for 6.1.x? I'm trying to deploy on WAS 8.5.5 running jdk 7. Thanks, Shrinath Managuli [Aspire Systems] This e-mail message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140407/c8e7e2aa/attachment-0001.html From aermicioi at casenetllc.com Mon Apr 7 05:03:45 2014 From: aermicioi at casenetllc.com (Andrei Ermicioi) Date: Mon, 7 Apr 2014 09:03:45 +0000 Subject: [rules-users] KIE API for Decision Tables Templates Message-ID: <957a187796ca465f847a5eb4c63112c6@CASENET2.cninc.com> Hi there! I was looking on web to find if KIE provide any API for reading the Decision Tables from XLS/CSV and I was not able to find :( Can somebody point me where I can find that or just to tell me if such API exist or not. Thank you. -- Andrei Ermicioi aka erani, Software Engineer at CaseNet Phone: +420 776 424 143 Skype: aermicioi_casenet ________________________________ CONFIDENTIALITY NOTICE: This e-mail and the information transmitted within including any attachments is only for the recipient(s) to which it is intended and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of; or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please send the e-mail back by replying to the sender and permanently delete the entire message and its attachments from all computers and network systems involved in its receipt. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140407/cd3677ca/attachment.html From maxime.falaize at gmail.com Mon Apr 7 06:27:49 2014 From: maxime.falaize at gmail.com (Maxime Falaize) Date: Mon, 7 Apr 2014 12:27:49 +0200 Subject: [rules-users] Pooling stateful sessions to have threaded executions of a ruleset In-Reply-To: <56b150afa8d92e910c77d85195edebd3@genoscope.cns.fr> References: <56b150afa8d92e910c77d85195edebd3@genoscope.cns.fr> Message-ID: I'm sorry but I don't understand what you are talking about. In this article, there is nothing about multithreaded rules evaluation. It just says that the Phreak algorithm is designed for thread safety and *future*multicore processors exploitation. It doesn't mean that it is already multithreaded. Moreover I tested my appliciation with and without multithreaded sessions (I am using Drools 6.0.1.Final) and I noted a faster execution in the multithreaded one. 2014-04-04 13:53 GMT+02:00 jmercier : > Le 04/03/2014 09:55, Maxime Falaize a ?crit : > > Hello, > > > > I want to ask you if it is a good practive to pool stateful sessions > > for a specific ruleset to improve the execution performance. > > Actually in my application I execute my rules by calling SOAP > > webservice. For performance purpose, I test multithreaded calls to my > > webservice and I noted that when I pool sessions in the server side, > > it improves the performance a lot. > > > > To pool sessions, I just declare multiple ksession tag in my > > kmodule.xml : > > > > > > > > > > > > > > > > > > > > In my spring webservice endpoint I just put that code to handle the > > pool : > > > > @Endpoint > > public class ExampleEndpoint implements InitializingBean { > > > > @Autowired > > private ExampleRuleService ruleService; > > private Map isRunningMap = new > > HashMap(); > > private static final int NB_POOL_SESSIONS = 5; > > > > @PayloadRoot(localPart = "com.example.ExampleRequest") > > @ResponsePayload > > public ExampleResponse handleRequest( > > @RequestPayload ExampleRequest request) throws > > InterruptedException { > > KieServices ks = KieServices.Factory.get(); > > KieContainer kc = ks.getKieClasspathContainer(); > > while (true) { > > for (int i = 0; i < NB_POOL_SESSIONS; i++) { > > boolean run = false; > > > > synchronized (isRunningMap) { > > if (!isRunningMap.get(i)) { > > isRunningMap.put(i, true); > > run = true; > > } > > } > > > > if (run) { > > KieSession ksession = kc.newKieSession("KSession" > > + (i + 1)); > > ExampleResponse response = > > ruleService.run(ksession, request); > > ksession.dispose(); > > > > isRunningMap.put(i, false); > > return response; > > } > > } > > Thread.sleep(100); > > } > > } > > > > public void afterPropertiesSet() throws Exception { > > for (int i = 1; i <= NB_POOL_SESSIONS; i++) { > > isRunningMap.put((i - 1), false); > > } > > } > > > > } > > > > It works well because in my benchmark I improve 5 times the > > performance (as I have 5 different threads) but I wondered if it is a > > good practice and if it does not hide any issues that I could have in > > the future. > > > > Thanks for your help. > > > > -- > > Maxime FALAIZE > > _______________________________________________ > > rules-users mailing list > > rules-users at lists.jboss.org > > https://lists.jboss.org/mailman/listinfo/rules-users > > > Hi maxime, > > I do not remember if use drools 6 or drools 5. If you using drools 6. > Phreaks algorithm use multi threading according to use 'from > accummulate' far i understand here: > http://planet.jboss.org/post/drools_6_performance_with_the_phreak_algorithm > > Instead to put a thread by ksession here rules evaluation are > multi-threaded. > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users -- Maxime FALAIZE -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140407/83c8f278/attachment.html From wolfgang.laun at gmail.com Mon Apr 7 06:30:58 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Mon, 7 Apr 2014 12:30:58 +0200 Subject: [rules-users] KIE API for Decision Tables Templates In-Reply-To: <957a187796ca465f847a5eb4c63112c6@CASENET2.cninc.com> References: <957a187796ca465f847a5eb4c63112c6@CASENET2.cninc.com> Message-ID: You'll find the classes for dsecision table parsing and DRL building in and below org/drools/decisiontable/... Sources are in the jar drools-decisiontables-6.X.X.Final-sources.jar -W On 07/04/2014, Andrei Ermicioi wrote: > Hi there! > > I was looking on web to find if KIE provide any API for reading the Decision > Tables from XLS/CSV and I was not able to find :( > Can somebody point me where I can find that or just to tell me if such API > exist or not. > > Thank you. > > > > -- > Andrei Ermicioi aka erani, > Software Engineer at CaseNet > > Phone: +420 776 424 143 > Skype: aermicioi_casenet > > > ________________________________ > > CONFIDENTIALITY NOTICE: This e-mail and the information transmitted within > including any attachments is only for the recipient(s) to which it is > intended and may contain confidential and/or privileged material. Any > review, retransmission, dissemination or other use of; or taking of any > action in reliance upon this information by persons or entities other than > the intended recipient is prohibited. If you received this in error, please > send the e-mail back by replying to the sender and permanently delete the > entire message and its attachments from all computers and network systems > involved in its receipt. > From mproctor at codehaus.org Mon Apr 7 06:54:48 2014 From: mproctor at codehaus.org (Mark Proctor) Date: Mon, 7 Apr 2014 11:54:48 +0100 Subject: [rules-users] KIE API for Decision Tables Templates In-Reply-To: <957a187796ca465f847a5eb4c63112c6@CASENET2.cninc.com> References: <957a187796ca465f847a5eb4c63112c6@CASENET2.cninc.com> Message-ID: <53C0F110-94EE-414E-8894-AE19C1D1B32E@codehaus.org> Reading is inferred from the file extension type. Simply add your resources, with the correct file extension, and it will be built. Mark On 7 Apr 2014, at 10:03, Andrei Ermicioi wrote: > Hi there! > > I was looking on web to find if KIE provide any API for reading the Decision Tables from XLS/CSV and I was not able to find :( > Can somebody point me where I can find that or just to tell me if such API exist or not. > > Thank you. > > > > -- > Andrei Ermicioi aka erani, > Software Engineer at CaseNet > > Phone: +420 776 424 143 > Skype: aermicioi_casenet > > > > CONFIDENTIALITY NOTICE: This e-mail and the information transmitted within including any attachments is only for the recipient(s) to which it is intended and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of; or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please send the e-mail back by replying to the sender and permanently delete the entire message and its attachments from all computers and network systems involved in its receipt. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140407/59f91e10/attachment-0001.html From maxime.falaize at gmail.com Mon Apr 7 10:57:56 2014 From: maxime.falaize at gmail.com (mfalaize) Date: Mon, 7 Apr 2014 07:57:56 -0700 (PDT) Subject: [rules-users] Drools 6.0.1: Pushing changes back to Workbench GIT using SSH In-Reply-To: <1390365162098-4027800.post@n3.nabble.com> References: <1390365162098-4027800.post@n3.nabble.com> Message-ID: <1396882676164-4029140.post@n3.nabble.com> I have the same problem... What's going wrong ? Can anyone help ? dotrc wrote > I am using workbench for managing my rules maven projects within the > embedded GIT repository. I am aware that using git:// protocol, I can > clone an existing rule repository; I can do this successfully. > > For authoring rules, I want to use Eclipse (using EGit). I want to push my > commits back to the GIT repo. I understand that I'll have to use ssh > protocol instead of git for specifying the repo, something like this: > ssh://{userName}@localhost:8001/{repoName} > > When we use a standard GIT repo like stash, it gives us an option to set > our public key on the stash server, but I'm not able to find a way to do > that with the embedded ssh server within workbench. Hence, I'm not able to > authenticate myself and perform a push. > > We tried creating a private-public key pair using ssh-keygen and put that > within c:\users\ > > \.ssh and added the public key to 'authorized_keys(2) (though I know this > may not be the right place) and then used the private key as the identity > file with ssh client directly from cygwin, again to no avail. > > Any pointers will be really appreciated. > > Also, should the username be 'admin' or any other specific one for > pushing? Will the existing Windows username work? > > Thanks, > Rishi -- View this message in context: http://drools.46999.n3.nabble.com/Drools-6-0-1-Pushing-changes-back-to-Workbench-GIT-using-SSH-tp4027800p4029140.html Sent from the Drools: User forum mailing list archive at Nabble.com. From porcelli at redhat.com Mon Apr 7 13:27:37 2014 From: porcelli at redhat.com (Alexandre Porcelli) Date: Mon, 7 Apr 2014 13:27:37 -0400 Subject: [rules-users] Drools 6.0.1: Pushing changes back to Workbench GIT using SSH In-Reply-To: <1390365162098-4027800.post@n3.nabble.com> References: <1390365162098-4027800.post@n3.nabble.com> Message-ID: <8C9EBA44-42A6-4916-BF3E-0564CBB2648E@redhat.com> Hi Rishi, The SSH server public key info for workbench is stored into .security folder (more info about it here: http://docs.jboss.org/drools/release/6.0.1.Final/drools-docs/html/wb.Workbench.html#wb.systemProperties) Regards, --- Alexandre Porcelli Principal Software Engineer Red Hat Business Systems and Intelligence Group On Jan 21, 2014, at 11:32 PM, dotrc wrote: > I am using workbench for managing my rules maven projects within the embedded > GIT repository. I am aware that using git:// protocol, I can clone an > existing rule repository; I can do this successfully. > > For authoring rules, I want to use Eclipse (using EGit). I want to push my > commits back to the GIT repo. I understand that I'll have to use ssh > protocol instead of git for specifying the repo, something like this: > ssh://{userName}@localhost:8001/{repoName} > > When we use a standard GIT repo like stash, it gives us an option to set our > public key on the stash server, but I'm not able to find a way to do that > with the embedded ssh server within workbench. Hence, I'm not able to > authenticate myself and perform a push. > > We tried creating a private-public key pair using ssh-keygen and put that > within c:\users\\.ssh and added the public key to > 'authorized_keys(2) (though I know this may not be the right place) and then > used the private key as the identity file with ssh client directly from > cygwin, again to no avail. > > Any pointers will be really appreciated. > > Also, should the username be 'admin' or any other specific one for pushing? > Will the existing Windows username work? > > Thanks, > Rishi > > > > > > -- > View this message in context: http://drools.46999.n3.nabble.com/Drools-6-0-1-Pushing-changes-back-to-Workbench-GIT-using-SSH-tp4027800.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users From newohybat at gmail.com Mon Apr 7 14:33:47 2014 From: newohybat at gmail.com (=?ISO-8859-2?Q?Jan_=A9=BBastn=FD?=) Date: Mon, 07 Apr 2014 20:33:47 +0200 Subject: [rules-users] Drools Declaring New Types To Use Across Multiple Files Message-ID: <5342EF8B.9000308@gmail.com> Hi, can anybody tell me, how can I declare a type which I can use in multiple files? Sure, I can create a java class and then import to respective files. But I was wondering whether there was a solution which wouldn't demand compilation of source code after each change of rules (extending the rules with new type which is java class would require that). Any suggestion appreciated. Regards Jan From profversaggi at gmail.com Mon Apr 7 17:49:11 2014 From: profversaggi at gmail.com (profversaggi) Date: Mon, 7 Apr 2014 14:49:11 -0700 (PDT) Subject: [rules-users] No setter found for property 'kBaseName' in class 'org.kie.spring.factorybeans.KBaseFactoryBean' Message-ID: <1396907351454-4029143.post@n3.nabble.com> I'm integrating Drools KIE and Spring 3.2.3.RELEASE (MVC Web)- and I'm getting the following error that Google just isn't finding any references for: ERROR: *No setter found for property 'kBaseName' in class 'org.kie.spring.factorybeans.KBaseFactoryBean' * [config set: maven-spring-drools/web-context *application-config.xml* /maven-spring-drools/src/main/resources/spring The Project is a pure Maven project w/out any outside natures imposed upon it (aka. Drools/Spring). It's complaining that it can't find the setters for the kBaseName', which is set here: I'm using a kmodule.xml found in the META-INF dir under the src/main/resources dir. Can anyone help me discover the disconnect? Moreover - do I have to do it this way? The project executes the SPring MVC Web App just fine and the Drools KIE test case runs perfectly in the same Maven project. Can't I just integrate them programmatically instead? Many thanks in advance ... :-) The offending file: *application.xml* -- View this message in context: http://drools.46999.n3.nabble.com/No-setter-found-for-property-kBaseName-in-class-org-kie-spring-factorybeans-KBaseFactoryBean-tp4029143.html Sent from the Drools: User forum mailing list archive at Nabble.com. From mproctor at codehaus.org Mon Apr 7 21:33:29 2014 From: mproctor at codehaus.org (Mark Proctor) Date: Tue, 8 Apr 2014 02:33:29 +0100 Subject: [rules-users] No setter found for property 'kBaseName' in class 'org.kie.spring.factorybeans.KBaseFactoryBean' In-Reply-To: <1396907351454-4029143.post@n3.nabble.com> References: <1396907351454-4029143.post@n3.nabble.com> Message-ID: <4FB7D16F-5737-4689-8A7E-48B7004ED234@codehaus.org> I suspect the current code looks for the different xml, depending on the container. i.e. spring looks for kmodule-spring.xml. I guess what is needed is to fallback to kmodule.xml if that is not present. I?ve cc?d in the author for more feedback. Mark On 7 Apr 2014, at 22:49, profversaggi wrote: > I'm integrating Drools KIE and Spring 3.2.3.RELEASE (MVC Web)- and I'm > getting the following error that Google just isn't finding any references > for: > > ERROR: > *No setter found for property 'kBaseName' in class > 'org.kie.spring.factorybeans.KBaseFactoryBean' * > [config set: maven-spring-drools/web-context *application-config.xml* > /maven-spring-drools/src/main/resources/spring > > The Project is a pure Maven project w/out any outside natures imposed upon > it (aka. Drools/Spring). > > It's complaining that it can't find the setters for the kBaseName', which is > set here: > > > > I'm using a kmodule.xml found in the META-INF dir under the > src/main/resources dir. > > Can anyone help me discover the disconnect? > > Moreover - do I have to do it this way? The project executes the SPring MVC > Web App just fine and the Drools KIE test case runs perfectly in the same > Maven project. Can't I just integrate them programmatically instead? > > Many thanks in advance ... :-) > > The offending file: *application.xml* > > > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:kie="http://drools.org/schema/kie-spring" > xmlns:context="http://www.springframework.org/schema/context" > xsi:schemaLocation="http://www.springframework.org/schema/beans > http://www.springframework.org/schema/beans/spring-beans.xsd > http://www.springframework.org/schema/context > http://www.springframework.org/schema/context/spring-context.xsd > http://drools.org/schema/kie-spring > http://drools.org/schema/kie-spring.xsd"> > > > > > > > > > class="org.kie.spring.KModuleBeanFactoryPostProcessor" /> > > > > > > -- > View this message in context: http://drools.46999.n3.nabble.com/No-setter-found-for-property-kBaseName-in-class-org-kie-spring-factorybeans-KBaseFactoryBean-tp4029143.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users From vinodkiran at usa.net Mon Apr 7 21:49:47 2014 From: vinodkiran at usa.net (vinodkiran) Date: Mon, 7 Apr 2014 18:49:47 -0700 (PDT) Subject: [rules-users] No setter found for property 'kBaseName' in class 'org.kie.spring.factorybeans.KBaseFactoryBean' In-Reply-To: <1396907351454-4029143.post@n3.nabble.com> References: <1396907351454-4029143.post@n3.nabble.com> Message-ID: <1396921787560-4029146.post@n3.nabble.com> Are you having both kmodule.xml and your spring configuration file? With spring, you can configure all your kie resources without the need for a separate kmodule.xml. Can you provide me with the following? 1. Full stack trace 2. your spring configuration file and kmodule.xml -- View this message in context: http://drools.46999.n3.nabble.com/No-setter-found-for-property-kBaseName-in-class-org-kie-spring-factorybeans-KBaseFactoryBean-tp4029143p4029146.html Sent from the Drools: User forum mailing list archive at Nabble.com. From profversaggi at gmail.com Mon Apr 7 21:50:14 2014 From: profversaggi at gmail.com (profversaggi) Date: Mon, 7 Apr 2014 18:50:14 -0700 (PDT) Subject: [rules-users] No setter found for property 'kBaseName' in class 'org.kie.spring.factorybeans.KBaseFactoryBean' In-Reply-To: <4FB7D16F-5737-4689-8A7E-48B7004ED234@codehaus.org> References: <1396907351454-4029143.post@n3.nabble.com> <4FB7D16F-5737-4689-8A7E-48B7004ED234@codehaus.org> Message-ID: <1396921814044-4029147.post@n3.nabble.com> Thanks Mark! I'll try that (*kmodule-spring.xml*) today .... In the mean time I answered one of my own questions: > Moreover - *do I have to do it this way?* The project executes the Spring > MVC > Web App just fine and the Drools KIE test case runs perfectly in the same > Maven project. *Can't I just integrate them programmatically instead?* The answer is *yes*, I can do it programmatically instead. I tested running the simple DroolsTest code in one of the Spring MVC Controllers (just for kicks and giggles) and after fixing the thorny problem articulated below ... IT Worked! I was able to *enter form data in a Spring MVC Web app and have it execute Drools KIE on the back end*.... There was an error which warrants articulating for posterity sake - here it is below: I was Trying to get Drools to execute from Spring MVC WEB in Pure Maven Project (no added natures of any kind) and ran head first into this problem: *ERROR KieContainerImpl - Unknown KieSession name: ksession-rules* Initial RND: (some direction - but no solutions) Unknown KieSession name in drools 6.0 (while trying to add drools to existing maven/eclipse project) http://drools.46999.n3.nabble.com/Null-pointer-exception-when-adding-drools-to-existing-project-td4027944.html#a4028011 Related Problem (... but a big clue): *WARN ClasspathKieProject - Unable to load pom.properties tried recursing down from/Apache-Tomcat7/webapps/maven-spring-drools/WEB-INF/classes* SOLUTION: As it turns out, creating the directory *WEB-INF/classes* and placing the files* pom.properties* and *pom.xml* in it *solves the problem*. The clue came from this link: http://drools.46999.n3.nabble.com/Drools-6-Unable-to-build-index-of-kmodule-xml-td4026791.html - where Mark Proctor indicated that the project has to be a maven project, and it *needs to find pom.properties*. As soon as the KIE finds the *pom.properties* file, it figures out the KieSession name and the problem is solved. Note: I'd suspect you'd have to manually keep that POM.XML file updated but the pom.properties file never changes. This has been my experience - hope it helps someone.... -- View this message in context: http://drools.46999.n3.nabble.com/No-setter-found-for-property-kBaseName-in-class-org-kie-spring-factorybeans-KBaseFactoryBean-tp4029143p4029147.html Sent from the Drools: User forum mailing list archive at Nabble.com. From profversaggi at gmail.com Mon Apr 7 22:25:33 2014 From: profversaggi at gmail.com (profversaggi) Date: Mon, 7 Apr 2014 19:25:33 -0700 (PDT) Subject: [rules-users] No setter found for property 'kBaseName' in class 'org.kie.spring.factorybeans.KBaseFactoryBean' In-Reply-To: <1396921787560-4029146.post@n3.nabble.com> References: <1396907351454-4029143.post@n3.nabble.com> <1396921787560-4029146.post@n3.nabble.com> Message-ID: Hi Vinodkiran! What I did was this - I embarked on a *pure* process and then merged the results. My goal was to create a *pure* Maven project without any specific natures of any kind imposed upon them (in Eclipse) which would run a Drools KIE function as well as a Spring MVC WEB App function from that single Maven project. Prework: (A) I created a standard Drools test project using a Eclipse Drools KIE *Nature* and got it running. (B) I created a standard Spring MVC WEB project using the Eclipse Spring 3 *Nature* and got that running properly as well. These would be inspiration for their pure Maven equivalents counterparts. First: I created a pure Maven Drools KIE project and got that running with the standard DroolsTest and corresponding Sample.drl running as expected. So to be clear it was a Maven project that just so happened to run Drools KIE in it. Execution took place in Eclipse Second: I created a totally different pure Maven Spring MVC WEB project and got that running locally using Tomcat7. Again - it was a pure Maven project that just so happened to run a Spring 3.2.3 MVC Web App in it and deploying it as a WAR to a local Tomcat7 installation. Execution took place through a web browser: http://localhost:8080/maven-spring Third: I created another totally different pure Maven project which was a combination of the (1) pure Maven Drools KIE project and the (2) pure Maven Spring MVC WEB project. I copied the appropriate directory structures over from the individual projects to their respective places in the combination project and (after a bit of fiddling) was able to run *each* (Drools and Spring) projects functionality independently - directly from the single (combination) Maven project. Execution for the spring portion initiated through a web browser: http://localhost:8080/maven-spring-drools, and for the Drools portion from the IDE. Forth: Integration - this is where I started having the problems we are corresponding about. The Drools doc tells us to use variants of the below code to tie Drools KIE and Spring together - except it *never* tells us where to put it. I found references to putting it in the Spring application-config.xml file so I tried it there. Then I received the following error: ERROR: No setter found for property 'kBaseName' in class 'org.kie.spring.factorybeans.KBaseFactoryBean' [config set: maven-spring-drools/web-context application-config.xml /maven-spring-drools/src/main/resources/spring line 8 Spring Beans Problem That's when Mark suspected the current code looks for the different xml, depending on the container. i.e. spring looks for kmodule-spring.xml. Perhaps what is needed is to fallback to kmodule.xml if that is not present. (I haven't tested that yet). In any case I tried another avenue toward integration and that is programmatically integrate Drools KIE into the Spring MVC Web App Controllers - which as it turned out (after a bit of tweeking) - it work quite well. I'm still very curious as to how to accomplish the integration the way the documentation articulates, but I quite glad it can be done programmatically as well. If I can help out in any way just ask .... -matt On Mon, Apr 7, 2014 at 9:49 PM, vinodkiran [via Drools] < ml-node+s46999n4029146h38 at n3.nabble.com> wrote: > Are you having both kmodule.xml and your spring configuration file? With > spring, you can configure all your kie resources without the need for a > separate kmodule.xml. > > > Can you provide me with the following? > > 1. Full stack trace > 2. your spring configuration file and kmodule.xml > > > > ------------------------------ > If you reply to this email, your message will be added to the discussion > below: > > http://drools.46999.n3.nabble.com/No-setter-found-for-property-kBaseName-in-class-org-kie-spring-factorybeans-KBaseFactoryBean-tp4029143p4029146.html > To unsubscribe from No setter found for property 'kBaseName' in class > 'org.kie.spring.factorybeans.KBaseFactoryBean', click here > . > NAML > -- ######################################################### Matthew R. Versaggi, President & CEO Versaggi Information Systems, Inc. Adjunct Professor of eBusiness DePaul University Email: mailto:matt at versaggi.com, ProfVersaggi at gmail.com M: 630-292-8422 LinkedIn: http://www.linkedin.com/in/versaggi About Me: http://www.matt-versaggi.com/resume/ ######################################################### -- View this message in context: http://drools.46999.n3.nabble.com/No-setter-found-for-property-kBaseName-in-class-org-kie-spring-factorybeans-KBaseFactoryBean-tp4029143p4029148.html Sent from the Drools: User forum mailing list archive at Nabble.com. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140407/457e56f1/attachment-0001.html From babuaski at gmail.com Tue Apr 8 03:13:47 2014 From: babuaski at gmail.com (Anton) Date: Tue, 8 Apr 2014 00:13:47 -0700 (PDT) Subject: [rules-users] Consume Dymanic rules from application In-Reply-To: <1396713452808-4029129.post@n3.nabble.com> References: <1396713452808-4029129.post@n3.nabble.com> Message-ID: <1396941227189-4029149.post@n3.nabble.com> I am able to fix this by changing the parameters in the maven settings.xml file. Now in the application, I am trying to get out the latest built files using the Kie scanner start method. But this does not seems to be effective on a on running application. Though the changes are effective on the next startup of the client application. Is nt that kie scanner does the regular polling of the resources and keep the KB updated(Maven build in this case) ? Any pointers will be helpful. Regards, Anton -- View this message in context: http://drools.46999.n3.nabble.com/Consume-Dymanic-rules-from-application-tp4029129p4029149.html Sent from the Drools: User forum mailing list archive at Nabble.com. From babuaski at gmail.com Tue Apr 8 03:19:41 2014 From: babuaski at gmail.com (Anton) Date: Tue, 8 Apr 2014 00:19:41 -0700 (PDT) Subject: [rules-users] Drools workbench camel integration In-Reply-To: References: Message-ID: <1396941581347-4029150.post@n3.nabble.com> On more analysis, reading the documents, forums and XSD Files, there is no explicit configurations found for mapping the correct dynamic knowledge base. In Guvnor, the following does the mapping to the knowledge services Question: Now in workbench, how this been accomplished? If there is no explicit configuration, then does it work like convention over configuration ? Regards, Anton -- View this message in context: http://drools.46999.n3.nabble.com/rules-users-Drools-workbench-camel-integration-tp4029122p4029150.html Sent from the Drools: User forum mailing list archive at Nabble.com. From vinodkiran at usa.net Tue Apr 8 03:26:53 2014 From: vinodkiran at usa.net (vinodkiran) Date: Tue, 8 Apr 2014 00:26:53 -0700 (PDT) Subject: [rules-users] No setter found for property 'kBaseName' in class 'org.kie.spring.factorybeans.KBaseFactoryBean' In-Reply-To: <1396921814044-4029147.post@n3.nabble.com> References: <1396907351454-4029143.post@n3.nabble.com> <4FB7D16F-5737-4689-8A7E-48B7004ED234@codehaus.org> <1396921814044-4029147.post@n3.nabble.com> Message-ID: <1396942013726-4029151.post@n3.nabble.com> Can you take a look at this simple example, and check if this helps? https://github.com/vinodkiran/kie-springmvc -- View this message in context: http://drools.46999.n3.nabble.com/No-setter-found-for-property-kBaseName-in-class-org-kie-spring-factorybeans-KBaseFactoryBean-tp4029143p4029151.html Sent from the Drools: User forum mailing list archive at Nabble.com. From babuaski at gmail.com Tue Apr 8 06:26:15 2014 From: babuaski at gmail.com (Anton) Date: Tue, 8 Apr 2014 03:26:15 -0700 (PDT) Subject: [rules-users] How to feed camel-server with kmodules using kie-ci? In-Reply-To: <1389361431572-4027647.post@n3.nabble.com> References: <1389359208571-4027644.post@n3.nabble.com> <1389361431572-4027647.post@n3.nabble.com> Message-ID: <1396952775872-4029154.post@n3.nabble.com> Hi Wojciech, Were you able to solve your problem? We are also looking in to the same problem, and stuck here for a long time. I am able to connect and consume the local builds from a java program, but while trying to connect from a camel server I could not. Should we feed information in the knowledge-services.xml? Please provide information if you have. Regards, Anton -- View this message in context: http://drools.46999.n3.nabble.com/How-to-feed-camel-server-with-kmodules-using-kie-ci-tp4027644p4029154.html Sent from the Drools: User forum mailing list archive at Nabble.com. From profversaggi at gmail.com Tue Apr 8 06:44:49 2014 From: profversaggi at gmail.com (profversaggi) Date: Tue, 8 Apr 2014 03:44:49 -0700 (PDT) Subject: [rules-users] No setter found for property 'kBaseName' in class 'org.kie.spring.factorybeans.KBaseFactoryBean' In-Reply-To: <1396942013726-4029151.post@n3.nabble.com> References: <1396907351454-4029143.post@n3.nabble.com> <4FB7D16F-5737-4689-8A7E-48B7004ED234@codehaus.org> <1396921814044-4029147.post@n3.nabble.com> <1396942013726-4029151.post@n3.nabble.com> Message-ID: Yes - I think that will fill in the gaps nicely. I'll try it today - thank you! :-) On Tue, Apr 8, 2014 at 3:26 AM, vinodkiran [via Drools] < ml-node+s46999n4029151h93 at n3.nabble.com> wrote: > Can you take a look at this simple example, and check if this helps? > > https://github.com/vinodkiran/kie-springmvc > > > ------------------------------ > If you reply to this email, your message will be added to the discussion > below: > > http://drools.46999.n3.nabble.com/No-setter-found-for-property-kBaseName-in-class-org-kie-spring-factorybeans-KBaseFactoryBean-tp4029143p4029151.html > To unsubscribe from No setter found for property 'kBaseName' in class > 'org.kie.spring.factorybeans.KBaseFactoryBean', click here > . > NAML > -- ######################################################### Matthew R. Versaggi, President & CEO Versaggi Information Systems, Inc. Adjunct Professor of eBusiness DePaul University Email: mailto:matt at versaggi.com, ProfVersaggi at gmail.com M: 630-292-8422 LinkedIn: http://www.linkedin.com/in/versaggi About Me: http://www.matt-versaggi.com/resume/ ######################################################### -- View this message in context: http://drools.46999.n3.nabble.com/No-setter-found-for-property-kBaseName-in-class-org-kie-spring-factorybeans-KBaseFactoryBean-tp4029143p4029155.html Sent from the Drools: User forum mailing list archive at Nabble.com. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140408/2015be39/attachment.html From aermicioi at casenetllc.com Tue Apr 8 07:28:36 2014 From: aermicioi at casenetllc.com (Andrei Ermicioi) Date: Tue, 8 Apr 2014 11:28:36 +0000 Subject: [rules-users] METADATA in Decision Tables Message-ID: Can somebody point me on some article, tutorial, etc where will be describe the work with METADATA from decision tables? In documentation is just said how to set it, but how later reuse the value from METADAT no idea :( -- Andrei Ermicioi aka erani, Software Engineer at CaseNet Phone: +420 776 424 143 Skype: aermicioi_casenet ________________________________ CONFIDENTIALITY NOTICE: This e-mail and the information transmitted within including any attachments is only for the recipient(s) to which it is intended and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of; or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please send the e-mail back by replying to the sender and permanently delete the entire message and its attachments from all computers and network systems involved in its receipt. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140408/cd937ba0/attachment.html From profversaggi at gmail.com Tue Apr 8 08:51:49 2014 From: profversaggi at gmail.com (profversaggi) Date: Tue, 8 Apr 2014 05:51:49 -0700 (PDT) Subject: [rules-users] Integration of Spring MVC 3.2.X and Drools 6.0.0.Final KIE issues .... In-Reply-To: <1396676362332-4029124.post@n3.nabble.com> References: <1396676362332-4029124.post@n3.nabble.com> Message-ID: <1396961509927-4029157.post@n3.nabble.com> Just for the sake of posterity - I figured it out and have it working. If anyone should want some assistance in getting this to work pls contact me directly and I'll help you out. :-) -- View this message in context: http://drools.46999.n3.nabble.com/Integration-of-Spring-MVC-3-2-X-and-Drools-6-0-0-Final-KIE-issues-tp4029124p4029157.html Sent from the Drools: User forum mailing list archive at Nabble.com. From stephen.masters at me.com Tue Apr 8 08:55:00 2014 From: stephen.masters at me.com (Stephen Masters) Date: Tue, 08 Apr 2014 13:55:00 +0100 Subject: [rules-users] METADATA in Decision Tables In-Reply-To: References: Message-ID: <4A470AE5-7A3C-4B57-AA26-AB4B1B5CAE1F@me.com> It?s not available at runtime. It seems to be there just to help you document things and search within Guvnor/Workbench. On 8 Apr 2014, at 12:28, Andrei Ermicioi wrote: > Can somebody point me on some article, tutorial, etc where will be describe the work with METADATA from decision tables? > > In documentation is just said how to set it, but how later reuse the value from METADAT no idea :( > > > -- > Andrei Ermicioi aka erani, > Software Engineer at CaseNet > > Phone: +420 776 424 143 > Skype: aermicioi_casenet > > > > CONFIDENTIALITY NOTICE: This e-mail and the information transmitted within including any attachments is only for the recipient(s) to which it is intended and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of; or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please send the e-mail back by replying to the sender and permanently delete the entire message and its attachments from all computers and network systems involved in its receipt. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140408/dd6d65d7/attachment-0001.html From mproctor at codehaus.org Tue Apr 8 09:21:00 2014 From: mproctor at codehaus.org (Mark Proctor) Date: Tue, 8 Apr 2014 14:21:00 +0100 Subject: [rules-users] Integration of Spring MVC 3.2.X and Drools 6.0.0.Final KIE issues .... In-Reply-To: <1396961509927-4029157.post@n3.nabble.com> References: <1396676362332-4029124.post@n3.nabble.com> <1396961509927-4029157.post@n3.nabble.com> Message-ID: Any chance you could write some details here? As I expect this will come up again. Anything you could maybe submit to the documentation? Mark On 8 Apr 2014, at 13:51, profversaggi wrote: > Just for the sake of posterity - I figured it out and have it working. If > anyone should want some assistance in getting this to work pls contact me > directly and I'll help you out. > > :-) > > > > -- > View this message in context: http://drools.46999.n3.nabble.com/Integration-of-Spring-MVC-3-2-X-and-Drools-6-0-0-Final-KIE-issues-tp4029124p4029157.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users From profversaggi at gmail.com Tue Apr 8 09:30:46 2014 From: profversaggi at gmail.com (profversaggi) Date: Tue, 8 Apr 2014 06:30:46 -0700 (PDT) Subject: [rules-users] Integration of Spring MVC 3.2.X and Drools 6.0.0.Final KIE issues .... In-Reply-To: References: <1396676362332-4029124.post@n3.nabble.com> <1396961509927-4029157.post@n3.nabble.com> Message-ID: Absolutely - I was thinking more on the lines of a decent tutorial to bridge the gap for the newbies. I'll do the write up this week and send it to your for perusal before sending it out to the masses ... :-) On Tue, Apr 8, 2014 at 9:22 AM, Mark Proctor [via Drools] < ml-node+s46999n4029159h41 at n3.nabble.com> wrote: > Any chance you could write some details here? As I expect this will come > up again. > > Anything you could maybe submit to the documentation? > > Mark > On 8 Apr 2014, at 13:51, profversaggi <[hidden email]> > wrote: > > > Just for the sake of posterity - I figured it out and have it working. > If > > anyone should want some assistance in getting this to work pls contact > me > > directly and I'll help you out. > > > > :-) > > > > > > > > -- > > View this message in context: > http://drools.46999.n3.nabble.com/Integration-of-Spring-MVC-3-2-X-and-Drools-6-0-0-Final-KIE-issues-tp4029124p4029157.html > > Sent from the Drools: User forum mailing list archive at Nabble.com. > > _______________________________________________ > > rules-users mailing list > > [hidden email] > > https://lists.jboss.org/mailman/listinfo/rules-users > > > _______________________________________________ > rules-users mailing list > [hidden email] > https://lists.jboss.org/mailman/listinfo/rules-users > > > ------------------------------ > If you reply to this email, your message will be added to the discussion > below: > > http://drools.46999.n3.nabble.com/Integration-of-Spring-MVC-3-2-X-and-Drools-6-0-0-Final-KIE-issues-tp4029124p4029159.html > To unsubscribe from Integration of Spring MVC 3.2.X and Drools > 6.0.0.Final KIE issues ...., click here > . > NAML > -- ######################################################### Matthew R. Versaggi, President & CEO Versaggi Information Systems, Inc. Adjunct Professor of eBusiness DePaul University Email: mailto:matt at versaggi.com, ProfVersaggi at gmail.com M: 630-292-8422 LinkedIn: http://www.linkedin.com/in/versaggi About Me: http://www.matt-versaggi.com/resume/ ######################################################### -- View this message in context: http://drools.46999.n3.nabble.com/Integration-of-Spring-MVC-3-2-X-and-Drools-6-0-0-Final-KIE-issues-tp4029124p4029160.html Sent from the Drools: User forum mailing list archive at Nabble.com. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140408/87914ed7/attachment.html From aermicioi at casenetllc.com Tue Apr 8 10:51:44 2014 From: aermicioi at casenetllc.com (Andrei Ermicioi) Date: Tue, 8 Apr 2014 14:51:44 +0000 Subject: [rules-users] METADATA in Decision Tables In-Reply-To: <4A470AE5-7A3C-4B57-AA26-AB4B1B5CAE1F@me.com> References: <4A470AE5-7A3C-4B57-AA26-AB4B1B5CAE1F@me.com> Message-ID: <2e7e27b3a4ca47c39e366a0647aa5552@CASENET2.cninc.com> Then how it is possible to read from another the value? Let say that the Action column should rely on value specified in differente column. It is possible somehow? From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Stephen Masters Sent: Tuesday, April 08, 2014 2:55 PM To: Drools List Subject: Re: [rules-users] METADATA in Decision Tables It's not available at runtime. It seems to be there just to help you document things and search within Guvnor/Workbench. On 8 Apr 2014, at 12:28, Andrei Ermicioi > wrote: Can somebody point me on some article, tutorial, etc where will be describe the work with METADATA from decision tables? In documentation is just said how to set it, but how later reuse the value from METADAT no idea :( -- Andrei Ermicioi aka erani, Software Engineer at CaseNet Phone: +420 776 424 143 Skype: aermicioi_casenet ________________________________ CONFIDENTIALITY NOTICE: This e-mail and the information transmitted within including any attachments is only for the recipient(s) to which it is intended and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of; or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please send the e-mail back by replying to the sender and permanently delete the entire message and its attachments from all computers and network systems involved in its receipt. _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ________________________________ CONFIDENTIALITY NOTICE: This e-mail and the information transmitted within including any attachments is only for the recipient(s) to which it is intended and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of; or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please send the e-mail back by replying to the sender and permanently delete the entire message and its attachments from all computers and network systems involved in its receipt. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140408/b413f39b/attachment.html From stephen.masters at me.com Tue Apr 8 11:39:59 2014 From: stephen.masters at me.com (Stephen Masters) Date: Tue, 08 Apr 2014 16:39:59 +0100 Subject: [rules-users] METADATA in Decision Tables In-Reply-To: <2e7e27b3a4ca47c39e366a0647aa5552@CASENET2.cninc.com> References: <4A470AE5-7A3C-4B57-AA26-AB4B1B5CAE1F@me.com> <2e7e27b3a4ca47c39e366a0647aa5552@CASENET2.cninc.com> Message-ID: <6FCF3F2A-12CC-4775-9A37-6A5245145A97@me.com> Ah ? you mean to examine LHS values in the RHS? There are ways of doing that in DRL, and since 5.4 (if I remember right) it has been possible to put DRL fragments into decision table cells. However, before sending you on a wild goose chase it might be a good idea if you were to provide an example of what you are trying to do. Also, when you mention decision tables, do you mean spreadsheet decision tables or the web tables in Guvnor/Workbench? On 8 Apr 2014, at 15:51, Andrei Ermicioi wrote: > Then how it is possible to read from another the value? > Let say that the Action column should rely on value specified in differente column. It is possible somehow? > > From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Stephen Masters > Sent: Tuesday, April 08, 2014 2:55 PM > To: Drools List > Subject: Re: [rules-users] METADATA in Decision Tables > > It?s not available at runtime. It seems to be there just to help you document things and search within Guvnor/Workbench. > > > On 8 Apr 2014, at 12:28, Andrei Ermicioi wrote: > > > Can somebody point me on some article, tutorial, etc where will be describe the work with METADATA from decision tables? > > In documentation is just said how to set it, but how later reuse the value from METADAT no idea :( > > > -- > Andrei Ermicioi aka erani, > Software Engineer at CaseNet > > Phone: +420 776 424 143 > Skype: aermicioi_casenet > > > > CONFIDENTIALITY NOTICE: This e-mail and the information transmitted within including any attachments is only for the recipient(s) to which it is intended and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of; or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please send the e-mail back by replying to the sender and permanently delete the entire message and its attachments from all computers and network systems involved in its receipt. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > > > CONFIDENTIALITY NOTICE: This e-mail and the information transmitted within including any attachments is only for the recipient(s) to which it is intended and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of; or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please send the e-mail back by replying to the sender and permanently delete the entire message and its attachments from all computers and network systems involved in its receipt. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140408/e68c197f/attachment-0001.html From profversaggi at gmail.com Tue Apr 8 12:41:37 2014 From: profversaggi at gmail.com (Matthew Versaggi) Date: Tue, 8 Apr 2014 12:41:37 -0400 Subject: [rules-users] Integration of Spring MVC 3.2.X and Drools 6.0.0.Final KIE issues .... In-Reply-To: References: <1396676362332-4029124.post@n3.nabble.com> <1396961509927-4029157.post@n3.nabble.com> Message-ID: Mark, Does this email go straight to you and not a list? I wanted to follow up with you about something interesting and would like it not to be distributed to a list. Many thanks in advance ... -matt On Tue, Apr 8, 2014 at 9:21 AM, Mark Proctor wrote: > Any chance you could write some details here? As I expect this will come > up again. > > Anything you could maybe submit to the documentation? > > Mark > On 8 Apr 2014, at 13:51, profversaggi wrote: > > > Just for the sake of posterity - I figured it out and have it working. If > > anyone should want some assistance in getting this to work pls contact me > > directly and I'll help you out. > > > > :-) > > > > > > > > -- > > View this message in context: > http://drools.46999.n3.nabble.com/Integration-of-Spring-MVC-3-2-X-and-Drools-6-0-0-Final-KIE-issues-tp4029124p4029157.html > > Sent from the Drools: User forum mailing list archive at Nabble.com. > > _______________________________________________ > > rules-users mailing list > > rules-users at lists.jboss.org > > https://lists.jboss.org/mailman/listinfo/rules-users > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -- ######################################################### Matthew R. Versaggi, President & CEO Versaggi Information Systems, Inc. Adjunct Professor of eBusiness DePaul University Email: mailto:matt at versaggi.com, ProfVersaggi at gmail.com M: 630-292-8422 LinkedIn: http://www.linkedin.com/in/versaggi About Me: http://www.matt-versaggi.com/resume/ ######################################################### -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140408/7a0df46a/attachment.html From dave.potts at pinan.co.uk Tue Apr 8 14:55:20 2014 From: dave.potts at pinan.co.uk (Dave Potts) Date: Tue, 08 Apr 2014 19:55:20 +0100 Subject: [rules-users] processing a database with many to many Relationships Message-ID: <53444618.1030806@pinan.co.uk> Most of the drools examples that I seen, will for have an example that process address, look for address with a given post/zip code etc on a data source that is already loaded in the knowledge session, but it include no description of how the data was loaded in the knowledge session. I have a reference database of trading containers , the database describes the source, destination, contents etc, relationships between for example a container may have have many sources and many destinations. Destinations and sources may be shared between different containers. The database is normalised to keep source/destination information as a single place table, with link tables to define the relationship between the different containers and places Q. What is the best way of loading my information in to a knowledge session? Expand all the many to many relationship in to a single pojo objects with multiple references to other pojos or is there a better way? source destination eg Container foo England, England England France England Scotland France England bar England Germany England France regards Dave. /* */ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140408/32512ea5/attachment.html From wolfgang.laun at gmail.com Tue Apr 8 15:55:14 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Tue, 8 Apr 2014 21:55:14 +0200 Subject: [rules-users] processing a database with many to many Relationships In-Reply-To: <53444618.1030806@pinan.co.uk> References: <53444618.1030806@pinan.co.uk> Message-ID: It depends on the rules you're going to have. Usually the relational (normalized) form lends itself well to writing rules. OTOH, Drools provides "from" for unravelling List attributes, and you can use "collect" to create a Collection from separate facts. But, before refactoring the data you have, see how writing rules against the "status quo" works out. -W On 8 April 2014 20:55, Dave Potts wrote: > > Most of the drools examples that I seen, will for have an example that > process address, look for address with a given post/zip code etc on a data > source that is already loaded in the knowledge session, but it include no > description of how the data was loaded in the knowledge session. > > I have a reference database of trading containers , the database describes > the source, destination, contents etc, relationships between for example a > container may have have many sources and many destinations. Destinations > and sources may be shared between different containers. > > The database is normalised to keep source/destination information as a > single place table, with link tables to define the relationship between the > different containers and places > > Q. What is the best way of loading my information in to a knowledge session? > > Expand all the many to many relationship in to a single pojo objects with > multiple references to other pojos or is there a better way? > > source > destination > eg Container foo England, > England > England > France > England > Scotland > France > England > bar England > Germany > England > France > > regards > > > Dave. > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users From vvicky72 at hotmail.com Tue Apr 8 17:53:28 2014 From: vvicky72 at hotmail.com (Vikas Verma) Date: Tue, 8 Apr 2014 17:53:28 -0400 Subject: [rules-users] Simplified view for business users In-Reply-To: References: <1395686200315-4028940.post@n3.nabble.com>, , , Message-ID: Any help on this? I am able to login using roles admin and analyst. But when I try to login using a role of "developer" or "manager" or "user" it gives me "Login failed: Not Authorized". Appreciate your input. Thanks, Vikas. From: vvicky72 at hotmail.com To: rules-users at lists.jboss.org Date: Mon, 24 Mar 2014 15:44:49 -0400 Subject: Re: [rules-users] Simplified view for business users I am using both. And they work great. But so far I have been updating the guided decision table using the "admin" role. When I create a user in JBoss with "user" privileges, it wont allow me to even login to Drools workbench. I know guvnor had a different user management approach. But Drools workbench guide does not have enough info on this. Thanks,Vikas. Date: Mon, 24 Mar 2014 19:12:14 +0000 From: michael.anstis at gmail.com To: rules-users at lists.jboss.org Subject: Re: [rules-users] Simplified view for business users Use of Drools Workbench and KieScanner would provide a solution. On 24 March 2014 18:36, vvicky72 wrote: I have to expose a guided decision table to some non technical users. Is there a different view that they can use to modify/add/delete rows in a guided decision table and do a "hot deploy"? Using Jboss AS7. Thanks, Vikas. -- View this message in context: http://drools.46999.n3.nabble.com/Simplified-view-for-business-users-tp4028940.html Sent from the Drools: User forum mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140408/df58d50a/attachment.html From leonardlindenau at hotmail.com Wed Apr 9 03:56:37 2014 From: leonardlindenau at hotmail.com (Leonard93) Date: Wed, 9 Apr 2014 00:56:37 -0700 (PDT) Subject: [rules-users] Identical Facts over rules, results being cached? Message-ID: <1397030197456-4029169.post@n3.nabble.com> Let's say I have 10 rules and I fire the same object over it multiple times. This means the result that I would get back is the same every time, since it is the same object over the same rules (In a stateless environment). Does Drools cache the result internally for such cases? Knowing that when the same object comes over the same rules it can give the result back right away instead of going over the rules first. Just something I want to know and couldn't really find in the documentation easily. -- View this message in context: http://drools.46999.n3.nabble.com/Identical-Facts-over-rules-results-being-cached-tp4029169.html Sent from the Drools: User forum mailing list archive at Nabble.com. From michael.anstis at gmail.com Wed Apr 9 04:46:57 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Wed, 9 Apr 2014 09:46:57 +0100 Subject: [rules-users] Simplified view for business users In-Reply-To: References: <1395686200315-4028940.post@n3.nabble.com> Message-ID: They're the only roles defined by default for kie-drools-wb: https://github.com/droolsjbpm/kie-wb-distributions/blob/master/kie-drools-wb/kie-drools-wb-distribution-wars/src/main/jbossas7/WEB-INF/web.xml#L508 Roles "developer", "manager" and "user" are used by kie-wb for jBPM related aspects not in kie-drools-wb: https://github.com/droolsjbpm/kie-wb-distributions/blob/master/kie-wb/kie-wb-distribution-wars/src/main/jbossas7/WEB-INF/web.xml#L528 On 8 April 2014 22:53, Vikas Verma wrote: > Any help on this? I am able to login using roles admin and analyst. But > when I try to login using a role of "developer" or "manager" or "user" it > gives me "Login failed: Not Authorized". > > Appreciate your input. > > Thanks, > Vikas. > > ------------------------------ > From: vvicky72 at hotmail.com > To: rules-users at lists.jboss.org > Date: Mon, 24 Mar 2014 15:44:49 -0400 > > Subject: Re: [rules-users] Simplified view for business users > > I am using both. And they work great. But so far I have been updating the > guided decision table using the "admin" role. When I create a user in JBoss > with "user" privileges, it wont allow me to even login to Drools workbench. > I know guvnor had a different user management approach. But Drools > workbench guide does not have enough info on this. > > Thanks, > Vikas. > ------------------------------ > Date: Mon, 24 Mar 2014 19:12:14 +0000 > From: michael.anstis at gmail.com > To: rules-users at lists.jboss.org > Subject: Re: [rules-users] Simplified view for business users > > Use of Drools Workbench and KieScanner would provide a solution. > > > On 24 March 2014 18:36, vvicky72 wrote: > > I have to expose a guided decision table to some non technical users. Is > there a different view that they can use to modify/add/delete rows in a > guided decision table and do a "hot deploy"? > > Using Jboss AS7. > > Thanks, > Vikas. > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Simplified-view-for-business-users-tp4028940.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > > > _______________________________________________ rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > _______________________________________________ rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140409/a969dad5/attachment-0001.html From wolfgang.laun at gmail.com Wed Apr 9 04:52:30 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Wed, 9 Apr 2014 10:52:30 +0200 Subject: [rules-users] Identical Facts over rules, results being cached? In-Reply-To: <1397030197456-4029169.post@n3.nabble.com> References: <1397030197456-4029169.post@n3.nabble.com> Message-ID: OMG, if it would do *that*, its memory consumption would be enormous, and it wouldn't be much faster, given all the overhead this would create, and with more GC effort, and the bugs it would introduce (evil me ;-) ) -W On 09/04/2014, Leonard93 wrote: > Let's say I have 10 rules and I fire the same object over it multiple > times. > > This means the result that I would get back is the same every time, since > it > is the same object over the same rules (In a stateless environment). > Does Drools cache the result internally for such cases? Knowing that when > the same object comes over the same rules it can give the result back right > away instead of going over the rules first. > > Just something I want to know and couldn't really find in the documentation > easily. > > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Identical-Facts-over-rules-results-being-cached-tp4029169.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > From leonardlindenau at hotmail.com Wed Apr 9 05:02:18 2014 From: leonardlindenau at hotmail.com (Leonard93) Date: Wed, 9 Apr 2014 02:02:18 -0700 (PDT) Subject: [rules-users] Identical Facts over rules, results being cached? In-Reply-To: References: <1397030197456-4029169.post@n3.nabble.com> Message-ID: <1397034138307-4029172.post@n3.nabble.com> Wouldn't that depend on how long the data is being kept and how often identical rules are being fired? Or would you say the rule engine is faster than all the actions in between that it wouldnt matter? -- View this message in context: http://drools.46999.n3.nabble.com/Identical-Facts-over-rules-results-being-cached-tp4029169p4029172.html Sent from the Drools: User forum mailing list archive at Nabble.com. From esteban.aliverti at gmail.com Wed Apr 9 05:10:04 2014 From: esteban.aliverti at gmail.com (Esteban Aliverti) Date: Wed, 9 Apr 2014 11:10:04 +0200 Subject: [rules-users] Identical Facts over rules, results being cached? In-Reply-To: <1397034138307-4029172.post@n3.nabble.com> References: <1397030197456-4029169.post@n3.nabble.com> <1397034138307-4029172.post@n3.nabble.com> Message-ID: The question here is: what is the result of fireAllRules()? Caching the result of this method is trivial: it's just a number! I think that what you need to build is your own ad-hoc cache that knows how to extract a 'result' out of the session an keep it handy. Implementing this mechanism shouldn't be that hard (at least for simple - no nested- Facts) and once you have it you can validate the benefits. Regards, XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Esteban Aliverti - Blog @ http://ilesteban.wordpress.com On Wed, Apr 9, 2014 at 11:02 AM, Leonard93 wrote: > Wouldn't that depend on how long the data is being kept and how often > identical rules are being fired? > > Or would you say the rule engine is faster than all the actions in between > that it wouldnt matter? > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Identical-Facts-over-rules-results-being-cached-tp4029169p4029172.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140409/0ea9c9c8/attachment.html From wolfgang.laun at gmail.com Wed Apr 9 05:16:29 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Wed, 9 Apr 2014 11:16:29 +0200 Subject: [rules-users] Identical Facts over rules, results being cached? In-Reply-To: References: <1397030197456-4029169.post@n3.nabble.com> <1397034138307-4029172.post@n3.nabble.com> Message-ID: If it's general enough, it is not something to be shrugged off as "not that hard". You'll have to keep the fact and memorize all rules it fires, and create a mechanism that'll let you call right hand sides when the duplicate fact arrives and with all variables bound to the same values. Huh! -W On 09/04/2014, Esteban Aliverti wrote: > The question here is: what is the result of fireAllRules()? Caching the > result of this method is trivial: it's just a number! I think that what you > need to build is your own ad-hoc cache that knows how to extract a 'result' > out of the session an keep it handy. Implementing this mechanism shouldn't > be that hard (at least for simple - no nested- Facts) and once you have it > you can validate the benefits. > > Regards, > > > XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX > > Esteban Aliverti > - Blog @ http://ilesteban.wordpress.com > > > On Wed, Apr 9, 2014 at 11:02 AM, Leonard93 > wrote: > >> Wouldn't that depend on how long the data is being kept and how often >> identical rules are being fired? >> >> Or would you say the rule engine is faster than all the actions in >> between >> that it wouldnt matter? >> >> >> >> -- >> View this message in context: >> http://drools.46999.n3.nabble.com/Identical-Facts-over-rules-results-being-cached-tp4029169p4029172.html >> Sent from the Drools: User forum mailing list archive at Nabble.com. >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> > From maxime.falaize at gmail.com Wed Apr 9 05:20:08 2014 From: maxime.falaize at gmail.com (Maxime Falaize) Date: Wed, 9 Apr 2014 11:20:08 +0200 Subject: [rules-users] Pooling stateful sessions to have threaded executions of a ruleset In-Reply-To: References: <56b150afa8d92e910c77d85195edebd3@genoscope.cns.fr> Message-ID: I confirm that the multithreaded rules evaluation is not currently supported. See https://github.com/droolsjbpm/drools/blob/master/drools-core/src/main/java/org/drools/core/RuleBaseConfiguration.java#L683 2014-04-07 12:27 GMT+02:00 Maxime Falaize : > I'm sorry but I don't understand what you are talking about. In this > article, there is nothing about multithreaded rules evaluation. It just > says that the Phreak algorithm is designed for thread safety and *future*multicore processors exploitation. It doesn't mean that it is already > multithreaded. Moreover I tested my appliciation with and without > multithreaded sessions (I am using Drools 6.0.1.Final) and I noted a faster > execution in the multithreaded one. > > > 2014-04-04 13:53 GMT+02:00 jmercier : > > Le 04/03/2014 09:55, Maxime Falaize a ?crit : >> > Hello, >> > >> > I want to ask you if it is a good practive to pool stateful sessions >> > for a specific ruleset to improve the execution performance. >> > Actually in my application I execute my rules by calling SOAP >> > webservice. For performance purpose, I test multithreaded calls to my >> > webservice and I noted that when I pool sessions in the server side, >> > it improves the performance a lot. >> > >> > To pool sessions, I just declare multiple ksession tag in my >> > kmodule.xml : >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > In my spring webservice endpoint I just put that code to handle the >> > pool : >> > >> > @Endpoint >> > public class ExampleEndpoint implements InitializingBean { >> > >> > @Autowired >> > private ExampleRuleService ruleService; >> > private Map isRunningMap = new >> > HashMap(); >> > private static final int NB_POOL_SESSIONS = 5; >> > >> > @PayloadRoot(localPart = "com.example.ExampleRequest") >> > @ResponsePayload >> > public ExampleResponse handleRequest( >> > @RequestPayload ExampleRequest request) throws >> > InterruptedException { >> > KieServices ks = KieServices.Factory.get(); >> > KieContainer kc = ks.getKieClasspathContainer(); >> > while (true) { >> > for (int i = 0; i < NB_POOL_SESSIONS; i++) { >> > boolean run = false; >> > >> > synchronized (isRunningMap) { >> > if (!isRunningMap.get(i)) { >> > isRunningMap.put(i, true); >> > run = true; >> > } >> > } >> > >> > if (run) { >> > KieSession ksession = kc.newKieSession("KSession" >> > + (i + 1)); >> > ExampleResponse response = >> > ruleService.run(ksession, request); >> > ksession.dispose(); >> > >> > isRunningMap.put(i, false); >> > return response; >> > } >> > } >> > Thread.sleep(100); >> > } >> > } >> > >> > public void afterPropertiesSet() throws Exception { >> > for (int i = 1; i <= NB_POOL_SESSIONS; i++) { >> > isRunningMap.put((i - 1), false); >> > } >> > } >> > >> > } >> > >> > It works well because in my benchmark I improve 5 times the >> > performance (as I have 5 different threads) but I wondered if it is a >> > good practice and if it does not hide any issues that I could have in >> > the future. >> > >> > Thanks for your help. >> > >> > -- >> > Maxime FALAIZE >> > _______________________________________________ >> > rules-users mailing list >> > rules-users at lists.jboss.org >> > https://lists.jboss.org/mailman/listinfo/rules-users >> >> >> Hi maxime, >> >> I do not remember if use drools 6 or drools 5. If you using drools 6. >> Phreaks algorithm use multi threading according to use 'from >> accummulate' far i understand here: >> >> http://planet.jboss.org/post/drools_6_performance_with_the_phreak_algorithm >> >> Instead to put a thread by ksession here rules evaluation are >> multi-threaded. >> >> >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users > > > > > -- > Maxime FALAIZE > -- Maxime FALAIZE -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140409/6167f041/attachment.html From esteban.aliverti at gmail.com Wed Apr 9 05:23:33 2014 From: esteban.aliverti at gmail.com (Esteban Aliverti) Date: Wed, 9 Apr 2014 11:23:33 +0200 Subject: [rules-users] Identical Facts over rules, results being cached? In-Reply-To: References: <1397030197456-4029169.post@n3.nabble.com> <1397034138307-4029172.post@n3.nabble.com> Message-ID: I'm assuming some kind of stateless classification-type knowledge base. As Wolfgang says, if the RHS of your rules are executing code outside the ksession itself (other than just insert/modify/retract facts), then the implementation is much much complex and I don't think it worth it. Regards, XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Esteban Aliverti - Blog @ http://ilesteban.wordpress.com On Wed, Apr 9, 2014 at 11:16 AM, Wolfgang Laun wrote: > If it's general enough, it is not something to be shrugged off as "not > that hard". > > You'll have to keep the fact and memorize all rules it fires, and > create a mechanism that'll let you call right hand sides when the > duplicate fact > arrives and with all variables bound to the same values. Huh! > > -W > > On 09/04/2014, Esteban Aliverti wrote: > > The question here is: what is the result of fireAllRules()? Caching the > > result of this method is trivial: it's just a number! I think that what > you > > need to build is your own ad-hoc cache that knows how to extract a > 'result' > > out of the session an keep it handy. Implementing this mechanism > shouldn't > > be that hard (at least for simple - no nested- Facts) and once you have > it > > you can validate the benefits. > > > > Regards, > > > > > > XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX > > > > Esteban Aliverti > > - Blog @ http://ilesteban.wordpress.com > > > > > > On Wed, Apr 9, 2014 at 11:02 AM, Leonard93 > > wrote: > > > >> Wouldn't that depend on how long the data is being kept and how often > >> identical rules are being fired? > >> > >> Or would you say the rule engine is faster than all the actions in > >> between > >> that it wouldnt matter? > >> > >> > >> > >> -- > >> View this message in context: > >> > http://drools.46999.n3.nabble.com/Identical-Facts-over-rules-results-being-cached-tp4029169p4029172.html > >> Sent from the Drools: User forum mailing list archive at Nabble.com. > >> _______________________________________________ > >> rules-users mailing list > >> rules-users at lists.jboss.org > >> https://lists.jboss.org/mailman/listinfo/rules-users > >> > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140409/3979fcfd/attachment-0001.html From leonardlindenau at hotmail.com Wed Apr 9 05:32:27 2014 From: leonardlindenau at hotmail.com (Leonard93) Date: Wed, 9 Apr 2014 02:32:27 -0700 (PDT) Subject: [rules-users] Identical Facts over rules, results being cached? In-Reply-To: References: <1397030197456-4029169.post@n3.nabble.com> <1397034138307-4029172.post@n3.nabble.com> Message-ID: <1397035947553-4029177.post@n3.nabble.com> Okay, Thanks for the insights on this point :). I was considering something with caching but if its not worth the hassle then I'd rather spend my time working on other parts of the application. -- View this message in context: http://drools.46999.n3.nabble.com/Identical-Facts-over-rules-results-being-cached-tp4029169p4029177.html Sent from the Drools: User forum mailing list archive at Nabble.com. From shrinath.managuli at aspiresys.com Wed Apr 9 08:07:00 2014 From: shrinath.managuli at aspiresys.com (Shrinath Managuli) Date: Wed, 9 Apr 2014 12:07:00 +0000 Subject: [rules-users] kie-workbench 6.0.2 on WAS 8.5.5 for developers(error in deployment) Message-ID: <6d91f568af5d4a70a91035bea5c40483@HKNPR02MB019.apcprd02.prod.outlook.com> Hi, I'm trying to deploy kie-wb 6.0.2 on WAS 8.5.5 for Developers version. Please guide me through this... I'got the following stack trace: SystemErr.log: [9/4/14 17:21:56:982 IST] 0000004a SystemErr R SLF4J: Class path contains multiple SLF4J bindings. [9/4/14 17:21:56:982 IST] 0000004a SystemErr R SLF4J: Found binding in [wsjar:file:/D:/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/appNode01Cell/kie-wb-distribution-wars-6_0_2-20140401_190816-123-was8_war.ear/kie-wb-distribution-wars-6.0.2-20140401.190816-123-was8.war/WEB-INF/lib/slf4j-jdk14-1.7.2.jar!/org/slf4j/impl/StaticLoggerBinder.class] [9/4/14 17:21:56:983 IST] 0000004a SystemErr R SLF4J: Found binding in [bundleresource://267.fwk1016322233:1/org/slf4j/impl/StaticLoggerBinder.class] [9/4/14 17:21:56:983 IST] 0000004a SystemErr R SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. [9/4/14 17:21:56:984 IST] 0000004a SystemErr R SLF4J: Actual binding is of type [org.slf4j.impl.JDK14LoggerFactory] [9/4/14 17:23:43:702 IST] 00000081 SystemErr R 122 [WebContainer : 3] INFO org.apache.bval.jsr303.ConfigurationImpl - ignoreXmlConfiguration == true [9/4/14 17:23:44:057 IST] 00000081 SystemErr R SLF4J: Class path contains multiple SLF4J bindings. [9/4/14 17:23:44:057 IST] 00000081 SystemErr R SLF4J: Found binding in [wsjar:file:/D:/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/app934Node01Cell/kie-wb-distribution-wars-6_0_2-20140401_190816-123-was8_war.ear/kie-wb-distribution-wars-6.0.2-20140401.190816-123-was8.war/WEB-INF/lib/slf4j-jdk14-1.7.2.jar!/org/slf4j/impl/StaticLoggerBinder.class] [9/4/14 17:23:44:057 IST] 00000081 SystemErr R SLF4J: Found binding in [bundleresource://267.fwk1016322233:1/org/slf4j/impl/StaticLoggerBinder.class] [9/4/14 17:23:44:057 IST] 00000081 SystemErr R SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. [9/4/14 17:23:44:058 IST] 00000081 SystemErr R SLF4J: Actual binding is of type [org.slf4j.impl.JDK14LoggerFactory] [9/4/14 17:23:56:207 IST] 00000081 SystemErr R com.ibm.ws.exception.RuntimeWarning: Error while processing references for EJB-in-WAR: com.ibm.ejs.container.EJBConfigurationException: The KieSessionRequesMessageBean message-driven bean (MDB) class does not define a message listener interface. SystemOut.log: ERROR hbm2ddl.SchemaUpdate: HHH000299: Could not complete schema update java.lang.NullPointerException at org.hibernate.tool.hbm2ddl.DatabaseMetadata.initSequences(DatabaseMetadata.java:156) at org.hibernate.tool.hbm2ddl.DatabaseMetadata.(DatabaseMetadata.java:70) at org.hibernate.tool.hbm2ddl.DatabaseMetadata.(DatabaseMetadata.java:63) at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:196) at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:178) mbean exception: com.ibm.ws.exception.RuntimeWarning: Error while processing references for EJB-in-WAR: com.ibm.ejs.container.EJBConfigurationException: The KieSessionRequesMessageBean message-driven bean (MDB) class does not define a message listener interface. [Aspire Systems] This e-mail message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140409/9c874704/attachment.html From profversaggi at gmail.com Wed Apr 9 08:36:45 2014 From: profversaggi at gmail.com (Matthew Versaggi) Date: Wed, 9 Apr 2014 08:36:45 -0400 Subject: [rules-users] No setter found for property 'kBaseName' in class 'org.kie.spring.factorybeans.KBaseFactoryBean' In-Reply-To: <1396942013726-4029151.post@n3.nabble.com> References: <1396907351454-4029143.post@n3.nabble.com> <4FB7D16F-5737-4689-8A7E-48B7004ED234@codehaus.org> <1396921814044-4029147.post@n3.nabble.com> <1396942013726-4029151.post@n3.nabble.com> Message-ID: Hi Vinodkiran, Thank you for the code base to peruse .... This code, however does NOT run as is. It contains the exact same error as we have written about previously: No setter found for property 'kBaseName' in class 'org.kie.spring.factorybeans.KBaseFactoryBean', in the mvc-dispatcher-servlet.xml file. I will run some more tests/tweaks on it today and see what's needed to make this code run but as it stands the error still propagates. -matt On Tue, Apr 8, 2014 at 3:26 AM, vinodkiran wrote: > Can you take a look at this simple example, and check if this helps? > > https://github.com/vinodkiran/kie-springmvc > > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/No-setter-found-for-property-kBaseName-in-class-org-kie-spring-factorybeans-KBaseFactoryBean-tp4029143p4029151.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -- ######################################################### Matthew R. Versaggi, President & CEO Versaggi Information Systems, Inc. Adjunct Professor of eBusiness DePaul University Email: mailto:matt at versaggi.com, ProfVersaggi at gmail.com M: 630-292-8422 LinkedIn: http://www.linkedin.com/in/versaggi About Me: http://www.matt-versaggi.com/resume/ ######################################################### -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140409/95d5ba95/attachment.html From vinodkiran at usa.net Wed Apr 9 09:24:26 2014 From: vinodkiran at usa.net (P. Vinod Kiran) Date: Wed, 09 Apr 2014 19:14:26 +0550 Subject: [rules-users] No setter found for property 'kBaseName' in class 'org.kie.spring.factorybeans.KBaseFactoryBean' Message-ID: <834sDiNrA4576S02.1397051066@web02.cms.usa.net> Very strange...I have the code running on my local machine and it works fine. -Thanks, Vinod From profversaggi at gmail.com Wed Apr 9 09:48:55 2014 From: profversaggi at gmail.com (profversaggi) Date: Wed, 9 Apr 2014 06:48:55 -0700 (PDT) Subject: [rules-users] No setter found for property 'kBaseName' in class 'org.kie.spring.factorybeans.KBaseFactoryBean' In-Reply-To: <834sDiNrA4576S02.1397051066@web02.cms.usa.net> References: <1396907351454-4029143.post@n3.nabble.com> <834sDiNrA4576S02.1397051066@web02.cms.usa.net> Message-ID: Ditto, but it does generated that error here. What is your set up? I imported it as a pure Maven project, did an update and got the error. I'm very curious as to how our setups are so different as to make this difference? On Wed, Apr 9, 2014 at 9:46 AM, vinodkiran [via Drools] < ml-node+s46999n4029181h23 at n3.nabble.com> wrote: > Very strange...I have the code running on my local machine and it works > fine. > > -Thanks, > Vinod > > > > > _______________________________________________ > rules-users mailing list > [hidden email] > https://lists.jboss.org/mailman/listinfo/rules-users > > > ------------------------------ > If you reply to this email, your message will be added to the discussion > below: > > http://drools.46999.n3.nabble.com/No-setter-found-for-property-kBaseName-in-class-org-kie-spring-factorybeans-KBaseFactoryBean-tp4029143p4029181.html > To unsubscribe from No setter found for property 'kBaseName' in class > 'org.kie.spring.factorybeans.KBaseFactoryBean', click here > . > NAML > -- ######################################################### Matthew R. Versaggi, President & CEO Versaggi Information Systems, Inc. Adjunct Professor of eBusiness DePaul University Email: mailto:matt at versaggi.com, ProfVersaggi at gmail.com M: 630-292-8422 LinkedIn: http://www.linkedin.com/in/versaggi About Me: http://www.matt-versaggi.com/resume/ ######################################################### -- View this message in context: http://drools.46999.n3.nabble.com/No-setter-found-for-property-kBaseName-in-class-org-kie-spring-factorybeans-KBaseFactoryBean-tp4029143p4029184.html Sent from the Drools: User forum mailing list archive at Nabble.com. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140409/03637927/attachment-0001.html From shrinath.managuli at aspiresys.com Wed Apr 9 10:10:32 2014 From: shrinath.managuli at aspiresys.com (Shrinath Managuli) Date: Wed, 9 Apr 2014 14:10:32 +0000 Subject: [rules-users] kie-wb 6.0.2 Deployment error on WAS 8.5.5 Message-ID: <284fbb2809394ca490a3595a660ef6d5@HKNPR02MB019.apcprd02.prod.outlook.com> Hi, Deployment on WAS 8.5.5 gives the following error: com.ibm.ws.exception.RuntimeWarning: Error while processing references for EJB-in-WAR: com.ibm.ejs.container.EJBConfigurationException: The KieSessionRequesMessageBean message-driven bean (MDB) class does not define a message listener interface. Thanks, Shrinath [Aspire Systems] This e-mail message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140409/a4e67cb1/attachment.html From profversaggi at gmail.com Wed Apr 9 12:09:44 2014 From: profversaggi at gmail.com (profversaggi) Date: Wed, 9 Apr 2014 09:09:44 -0700 (PDT) Subject: [rules-users] No setter found for property 'kBaseName' in class 'org.kie.spring.factorybeans.KBaseFactoryBean' In-Reply-To: <834sDiNrA4576S02.1397051066@web02.cms.usa.net> References: <1396907351454-4029143.post@n3.nabble.com> <834sDiNrA4576S02.1397051066@web02.cms.usa.net> Message-ID: Vinod, I've done some quick testing and have isolated it to the "Bean Property Rule" in the Beans Validator of the Spring property of the Project. Once I *only* removed that property (leaving the rest in tact) - it worked. Hope that helps .... -matt On Wed, Apr 9, 2014 at 9:46 AM, vinodkiran [via Drools] < ml-node+s46999n4029181h23 at n3.nabble.com> wrote: > Very strange...I have the code running on my local machine and it works > fine. > > -Thanks, > Vinod > > > > > _______________________________________________ > rules-users mailing list > [hidden email] > https://lists.jboss.org/mailman/listinfo/rules-users > > > ------------------------------ > If you reply to this email, your message will be added to the discussion > below: > > http://drools.46999.n3.nabble.com/No-setter-found-for-property-kBaseName-in-class-org-kie-spring-factorybeans-KBaseFactoryBean-tp4029143p4029181.html > To unsubscribe from No setter found for property 'kBaseName' in class > 'org.kie.spring.factorybeans.KBaseFactoryBean', click here > . > NAML > -- ######################################################### Matthew R. Versaggi, President & CEO Versaggi Information Systems, Inc. Adjunct Professor of eBusiness DePaul University Email: mailto:matt at versaggi.com, ProfVersaggi at gmail.com M: 630-292-8422 LinkedIn: http://www.linkedin.com/in/versaggi About Me: http://www.matt-versaggi.com/resume/ ######################################################### -- View this message in context: http://drools.46999.n3.nabble.com/No-setter-found-for-property-kBaseName-in-class-org-kie-spring-factorybeans-KBaseFactoryBean-tp4029143p4029188.html Sent from the Drools: User forum mailing list archive at Nabble.com. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140409/275d708a/attachment.html From maxime.falaize at gmail.com Thu Apr 10 06:30:43 2014 From: maxime.falaize at gmail.com (Maxime Falaize) Date: Thu, 10 Apr 2014 12:30:43 +0200 Subject: [rules-users] Drools 6.0.1: Pushing changes back to Workbench GIT using SSH In-Reply-To: <8C9EBA44-42A6-4916-BF3E-0564CBB2648E@redhat.com> References: <1390365162098-4027800.post@n3.nabble.com> <8C9EBA44-42A6-4916-BF3E-0564CBB2648E@redhat.com> Message-ID: I've tried to generate a public/private key pair and put the public one into the .security folder but it still doesn't work. Can you explain what I have to do exactly ? Thanks 2014-04-07 19:27 GMT+02:00 Alexandre Porcelli : > Hi Rishi, > > The SSH server public key info for workbench is stored into .security > folder (more info about it here: > http://docs.jboss.org/drools/release/6.0.1.Final/drools-docs/html/wb.Workbench.html#wb.systemProperties > ) > > Regards, > --- > Alexandre Porcelli > Principal Software Engineer > Red Hat Business Systems and Intelligence Group > > On Jan 21, 2014, at 11:32 PM, dotrc wrote: > > > I am using workbench for managing my rules maven projects within the > embedded > > GIT repository. I am aware that using git:// protocol, I can clone an > > existing rule repository; I can do this successfully. > > > > For authoring rules, I want to use Eclipse (using EGit). I want to push > my > > commits back to the GIT repo. I understand that I'll have to use ssh > > protocol instead of git for specifying the repo, something like this: > > ssh://{userName}@localhost:8001/{repoName} > > > > When we use a standard GIT repo like stash, it gives us an option to set > our > > public key on the stash server, but I'm not able to find a way to do that > > with the embedded ssh server within workbench. Hence, I'm not able to > > authenticate myself and perform a push. > > > > We tried creating a private-public key pair using ssh-keygen and put that > > within c:\users\\.ssh and added the public key to > > 'authorized_keys(2) (though I know this may not be the right place) and > then > > used the private key as the identity file with ssh client directly from > > cygwin, again to no avail. > > > > Any pointers will be really appreciated. > > > > Also, should the username be 'admin' or any other specific one for > pushing? > > Will the existing Windows username work? > > > > Thanks, > > Rishi > > > > > > > > > > > > -- > > View this message in context: > http://drools.46999.n3.nabble.com/Drools-6-0-1-Pushing-changes-back-to-Workbench-GIT-using-SSH-tp4027800.html > > Sent from the Drools: User forum mailing list archive at Nabble.com. > > _______________________________________________ > > rules-users mailing list > > rules-users at lists.jboss.org > > https://lists.jboss.org/mailman/listinfo/rules-users > > > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -- Maxime FALAIZE -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140410/d3e6fc9b/attachment.html From leonardlindenau at hotmail.com Thu Apr 10 07:58:12 2014 From: leonardlindenau at hotmail.com (Leonard93) Date: Thu, 10 Apr 2014 04:58:12 -0700 (PDT) Subject: [rules-users] External Jar/Pojo in Drools Workbench. Message-ID: <1397131092286-4029190.post@n3.nabble.com> Hello everyone, I have a small question/problem. I have created a class (POJO) in Eclipse and I want to be able to write rules over this class in the Drools Workbench, thus I exported the class and the classes it depends on (1 other class) to a Jar and imported it in the Drools workbench. Now what I did next is I added the jar dependency to my workbench project, created a new datamodel and set its super class to the external class from the jar and left the rest empty. When I then try to use this datamodel in a guided rule or anything I can access the variables defined in the external class fine when using the rule editor. But when I save I get various compiler errors. Currently I tried to make a rule template and I got these errors (I am using the standard example project to test it out): Unable to create Field Extractor for *'Destination'Field/method 'destination'* not found for class '*org.mortgages.Test' * Unable to Analyse Expression *Destination == GenericDataObject$Country.Germany*: [Error: unable to resolve method using strict-mode: *org.mortgages.Test.GenericDataObject$Country()]* [Near : {...* Destination == GenericDataObject$Country.Germ ....}]* ^ [Line: 9, Column: 2] The class from the jar looks like this: public class GenericDataObject { public enum Country { Egypt, Germany, Turkey, France, Unknown } public GenericDataObject() { result = new Result(); } public Result result; public Country Destination; public void setDiscount(int amount) { result.discount = amount; } } public class Result { public int discount; public Result() { discount = 0; } } -- View this message in context: http://drools.46999.n3.nabble.com/External-Jar-Pojo-in-Drools-Workbench-tp4029190.html Sent from the Drools: User forum mailing list archive at Nabble.com. From michael.anstis at gmail.com Thu Apr 10 08:14:22 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Thu, 10 Apr 2014 13:14:22 +0100 Subject: [rules-users] External Jar/Pojo in Drools Workbench. In-Reply-To: <1397131092286-4029190.post@n3.nabble.com> References: <1397131092286-4029190.post@n3.nabble.com> Message-ID: There should be no need to extend the classes in the JAR using the Data Modeller (unless you really want to of course). Did you import all the classes your rule needs - if they are in different packages - with the "Config" tab? Can you please provide your JAR and a screen-shot of the rule you're trying to author? On 10 April 2014 12:58, Leonard93 wrote: > Hello everyone, I have a small question/problem. > > I have created a class (POJO) in Eclipse and I want to be able to write > rules over this class in the Drools Workbench, thus I exported the class > and > the classes it depends on (1 other class) to a Jar and imported it in the > Drools workbench. > > Now what I did next is I added the jar dependency to my workbench project, > created a new datamodel and set its super class to the external class from > the jar and left the rest empty. > > When I then try to use this datamodel in a guided rule or anything I can > access the variables defined in the external class fine when using the rule > editor. But when I save I get various compiler errors. > > Currently I tried to make a rule template and I got these errors (I am > using > the standard example project to test it out): > > Unable to create Field Extractor for *'Destination'Field/method > 'destination'* not found for class '*org.mortgages.Test' * > > Unable to Analyse Expression *Destination == > GenericDataObject$Country.Germany*: [Error: unable to resolve method using > strict-mode: *org.mortgages.Test.GenericDataObject$Country()]* [Near : > {...* > Destination == GenericDataObject$Country.Germ ....}]* ^ [Line: 9, Column: > 2] > > > The class from the jar looks like this: > public class GenericDataObject { > > public enum Country > { > Egypt, > Germany, > Turkey, > France, > Unknown > } > > public GenericDataObject() > { > result = new Result(); > } > > public Result result; > public Country Destination; > > public void setDiscount(int amount) > { > result.discount = amount; > } > } > > public class Result > { > public int discount; > > public Result() > { > discount = 0; > } > } > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/External-Jar-Pojo-in-Drools-Workbench-tp4029190.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140410/e4103828/attachment-0001.html From leonardlindenau at hotmail.com Thu Apr 10 08:22:44 2014 From: leonardlindenau at hotmail.com (Leonard93) Date: Thu, 10 Apr 2014 05:22:44 -0700 (PDT) Subject: [rules-users] External Jar/Pojo in Drools Workbench. In-Reply-To: References: <1397131092286-4029190.post@n3.nabble.com> Message-ID: <1397132564486-4029192.post@n3.nabble.com> I did not realize you could import them in the config and then reference them right away in the rule without doing the data modelling step. Although I did that and it still has the same problems. GenericDataObject.jar is the jar I am using, The rule I am using for it now is: I added the two classes in the config imports aswell as the enum that is used for the country value. -- View this message in context: http://drools.46999.n3.nabble.com/External-Jar-Pojo-in-Drools-Workbench-tp4029190p4029192.html Sent from the Drools: User forum mailing list archive at Nabble.com. From michael.anstis at gmail.com Thu Apr 10 08:40:21 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Thu, 10 Apr 2014 13:40:21 +0100 Subject: [rules-users] External Jar/Pojo in Drools Workbench. In-Reply-To: <1397131092286-4029190.post@n3.nabble.com> References: <1397131092286-4029190.post@n3.nabble.com> Message-ID: OK, I imported your JAR and created a rule as shown below. The Guided Rule Editor had the option to select the enums for Country. Theonly issue I had was with "Destination" itself - as it should be a lower case "d". Drools Compiler did report an error that is was ..."Unable to create Field Extractor for 'Destination'Field/method 'destination' not found for class 'com.sample.GenericDataObject'". I suspect if you change the field name to "destination" it would work OK. This was with the latest code @master in github. 1.|package org.anstis.p1;2.|3.|import java.lang.Number;4.|import com.sample.GenericDataObject;5.|import com.sample.GenericDataObject.Airline;6.|import com.sample.GenericDataObject.Country;7.|import com.sample.Result;8.|9.|rule "r1"10.| dialect "mvel"11.| when12.| GenericDataObject( Destination == Country.Egypt )13.| then14.|end On 10 April 2014 12:58, Leonard93 wrote: > Hello everyone, I have a small question/problem. > > I have created a class (POJO) in Eclipse and I want to be able to write > rules over this class in the Drools Workbench, thus I exported the class > and > the classes it depends on (1 other class) to a Jar and imported it in the > Drools workbench. > > Now what I did next is I added the jar dependency to my workbench project, > created a new datamodel and set its super class to the external class from > the jar and left the rest empty. > > When I then try to use this datamodel in a guided rule or anything I can > access the variables defined in the external class fine when using the rule > editor. But when I save I get various compiler errors. > > Currently I tried to make a rule template and I got these errors (I am > using > the standard example project to test it out): > > Unable to create Field Extractor for *'Destination'Field/method > 'destination'* not found for class '*org.mortgages.Test' * > > Unable to Analyse Expression *Destination == > GenericDataObject$Country.Germany*: [Error: unable to resolve method using > strict-mode: *org.mortgages.Test.GenericDataObject$Country()]* [Near : > {...* > Destination == GenericDataObject$Country.Germ ....}]* ^ [Line: 9, Column: > 2] > > > The class from the jar looks like this: > public class GenericDataObject { > > public enum Country > { > Egypt, > Germany, > Turkey, > France, > Unknown > } > > public GenericDataObject() > { > result = new Result(); > } > > public Result result; > public Country Destination; > > public void setDiscount(int amount) > { > result.discount = amount; > } > } > > public class Result > { > public int discount; > > public Result() > { > discount = 0; > } > } > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/External-Jar-Pojo-in-Drools-Workbench-tp4029190.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140410/545fd493/attachment.html From leonardlindenau at hotmail.com Thu Apr 10 08:49:02 2014 From: leonardlindenau at hotmail.com (Leonard93) Date: Thu, 10 Apr 2014 05:49:02 -0700 (PDT) Subject: [rules-users] External Jar/Pojo in Drools Workbench. In-Reply-To: References: <1397131092286-4029190.post@n3.nabble.com> Message-ID: <1397134142853-4029194.post@n3.nabble.com> Ah thank you, I will look into that and try :) It seems like that would be indeed the problem. -- View this message in context: http://drools.46999.n3.nabble.com/External-Jar-Pojo-in-Drools-Workbench-tp4029190p4029194.html Sent from the Drools: User forum mailing list archive at Nabble.com. From dbrownell83 at hotmail.com Thu Apr 10 11:13:17 2014 From: dbrownell83 at hotmail.com (djb) Date: Thu, 10 Apr 2014 08:13:17 -0700 (PDT) Subject: [rules-users] Drools 6 Unable to load pom.properties Message-ID: <1397142797692-4029198.post@n3.nabble.com> Hi guys, Drools 5 was so nice. I am struggling with 6. (6.0.1-Final) So I've made a Maven project, ctCharges-0.1-SNAPSHOT, to contain my rules, and it's basically the same as the named-kiesession example, without any java files in it. Same kmodule.xml, just my own parentless maven group instead of org.drools. I add the dependency to my main project, but when I try this: KieServices kServices = KieServices.Factory.get(); KieContainer kContainer = kServices.getKieClasspathContainer(); KieSession ksession = kContainer.newKieSession("ksession1"); it gets this: Found kmodule: vfs:/C:/jboss-eap/standalone/deployments/iconRules6.war/WEB-INF/lib/ctCharges-0.1-SNAPSHOT.jar/META-INF/kmodule.xml Virtual file physical path = C:\jboss-eap\standalone\tmp\vfs\deployment\deployment59bc0232401e9992\ctCharges-0.1-SNAPSHOT.jar-2808edf3c95bef92\ctCharges-0.1-SNAPSHOT.jar *Unable to load pom.properties* from\jboss-eap\standalone\tmp\vfs\deployment\deployment59bc0232401e9992\ctCharges-0.1-SNAPSHOT.jar-2808edf3c95bef92\ctCharges-0.1-SNAPSHOT.jar null (And then repeats this error couple of times) If I look in the jar, I see: META-INF/maven/com.mycompany/myArtifactName/pom.xml and pom.properties What is going on? -- View this message in context: http://drools.46999.n3.nabble.com/Drools-6-Unable-to-load-pom-properties-tp4029198.html Sent from the Drools: User forum mailing list archive at Nabble.com. From dbrownell83 at hotmail.com Thu Apr 10 11:26:30 2014 From: dbrownell83 at hotmail.com (djb) Date: Thu, 10 Apr 2014 08:26:30 -0700 (PDT) Subject: [rules-users] Drools 6 Unable to load pom.properties In-Reply-To: <1397142797692-4029198.post@n3.nabble.com> References: <1397142797692-4029198.post@n3.nabble.com> Message-ID: <1397143590118-4029199.post@n3.nabble.com> Hmm, so it does seem though, that while my Maven .m2 repo version of ctCharges-0.1-SNAPSHOT.jar has the pom files, my main application, application.war/WEB-INF/lib/ctCharges-0.1-SNAPSHOT.jar is missing them. Huh. -- View this message in context: http://drools.46999.n3.nabble.com/Drools-6-Unable-to-load-pom-properties-tp4029198p4029199.html Sent from the Drools: User forum mailing list archive at Nabble.com. From dbrownell83 at hotmail.com Thu Apr 10 11:49:11 2014 From: dbrownell83 at hotmail.com (djb) Date: Thu, 10 Apr 2014 08:49:11 -0700 (PDT) Subject: [rules-users] Drools 6 Unable to load pom.properties In-Reply-To: <1397143590118-4029199.post@n3.nabble.com> References: <1397142797692-4029198.post@n3.nabble.com> <1397143590118-4029199.post@n3.nabble.com> Message-ID: <1397144951233-4029200.post@n3.nabble.com> Ok, so I've found a workaround: Deploy my main project, and then manually copy the correct ctCharges-0.1-SNAPSHOT.jar into the deployed WEB-INF/lib folder. My war file with the jar file inside it looks good in the maven target directory, but once deployed using Eclipse to my JBoss folder, the jar file loses its maven directory. Wtf. -- View this message in context: http://drools.46999.n3.nabble.com/Drools-6-Unable-to-load-pom-properties-tp4029198p4029200.html Sent from the Drools: User forum mailing list archive at Nabble.com. From dbrownell83 at hotmail.com Thu Apr 10 12:11:09 2014 From: dbrownell83 at hotmail.com (djb) Date: Thu, 10 Apr 2014 09:11:09 -0700 (PDT) Subject: [rules-users] Drools 6 Unable to load pom.properties In-Reply-To: <1397144951233-4029200.post@n3.nabble.com> References: <1397142797692-4029198.post@n3.nabble.com> <1397143590118-4029199.post@n3.nabble.com> <1397144951233-4029200.post@n3.nabble.com> Message-ID: <1397146269658-4029201.post@n3.nabble.com> So, anyway, it seems like it's Eclipse's fault. If I just drop the war file from the /target dir into my JBoss deployment folder, all is well. But if I do the Web Tools Server deploy, it loses the maven folder. :( I really liked Eclipse Web Tools. -- View this message in context: http://drools.46999.n3.nabble.com/Drools-6-Unable-to-load-pom-properties-tp4029198p4029201.html Sent from the Drools: User forum mailing list archive at Nabble.com. From ven.tadipatri at ll.mit.edu Thu Apr 10 14:25:01 2014 From: ven.tadipatri at ll.mit.edu (Ven Tadipatri) Date: Thu, 10 Apr 2014 14:25:01 -0400 Subject: [rules-users] Problems deploying war Message-ID: <5346E1FD.6030805@ll.mit.edu> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140410/fd89dedf/attachment.html From mmadhavan at facs.org Thu Apr 10 15:39:52 2014 From: mmadhavan at facs.org (mattmadhavan) Date: Thu, 10 Apr 2014 12:39:52 -0700 (PDT) Subject: [rules-users] Guvnor - Importing Drl FIle and its associated model Message-ID: <1397158792837-4029203.post@n3.nabble.com> Hello, In have a working Drools project. I would like to import existing DRL files and associated Model file. I have a custom operator as well. I have packaged the Model and necessary operators and util global functions into a jar with their dependencies. How do I import my DRL and the model jar so that, the DRL's imports 'see' the referenced operators and functions and the Model (FACT) classes. Can some one please let me have the sequence of steps? Thanks Matt -- View this message in context: http://drools.46999.n3.nabble.com/Guvnor-Importing-Drl-FIle-and-its-associated-model-tp4029203.html Sent from the Drools: User forum mailing list archive at Nabble.com. From bbarani at gmail.com Thu Apr 10 19:13:14 2014 From: bbarani at gmail.com (bbarani) Date: Thu, 10 Apr 2014 16:13:14 -0700 (PDT) Subject: [rules-users] How to install Drool web WB - Tomcat? Message-ID: <1397171594339-4029204.post@n3.nabble.com> I download the drools workbench war (kie-drools-wb-distribution-6.0.1.Final.zip) and tried deploying it on Tomcat. The application gets deployed but not getting started (when seen from server console). Do I need to do anything else apart from placing the WAR file in the webapps directory? please advise -- View this message in context: http://drools.46999.n3.nabble.com/How-to-install-Drool-web-WB-Tomcat-tp4029204.html Sent from the Drools: User forum mailing list archive at Nabble.com. From jmercier at genoscope.cns.fr Fri Apr 11 03:48:29 2014 From: jmercier at genoscope.cns.fr (Mercier Jonathan) Date: Fri, 11 Apr 2014 09:48:29 +0200 Subject: [rules-users] Pooling stateful sessions to have threaded executions of a ruleset In-Reply-To: References: <56b150afa8d92e910c77d85195edebd3@genoscope.cns.fr> Message-ID: <53479E4D.1050103@genoscope.cns.fr> Le 09/04/2014 11:20, Maxime Falaize a ?crit : > I confirm that the multithreaded rules evaluation is not currently > supported. See > https://github.com/droolsjbpm/drools/blob/master/drools-core/src/main/java/org/drools/core/RuleBaseConfiguration.java#L683 > > > 2014-04-07 12:27 GMT+02:00 Maxime Falaize >: > > I'm sorry but I don't understand what you are talking about. In > this article, there is nothing about multithreaded rules > evaluation. It just says that the Phreak algorithm is designed for > thread safety and *future* multicore processors exploitation. It > doesn't mean that it is already multithreaded. Moreover I tested > my appliciation with and without multithreaded sessions (I am > using Drools 6.0.1.Final) and I noted a faster execution in the > multithreaded one. > > > 2014-04-04 13:53 GMT+02:00 jmercier >: > > Le 04/03/2014 09:55, Maxime Falaize a ?crit : > > Hello, > > > > I want to ask you if it is a good practive to pool stateful > sessions > > for a specific ruleset to improve the execution performance. > > Actually in my application I execute my rules by calling SOAP > > webservice. For performance purpose, I test multithreaded > calls to my > > webservice and I noted that when I pool sessions in the > server side, > > it improves the performance a lot. > > > > To pool sessions, I just declare multiple ksession tag in my > > kmodule.xml : > > > > > > > > > > > > > > > > > > > > In my spring webservice endpoint I just put that code to > handle the > > pool : > > > > @Endpoint > > public class ExampleEndpoint implements InitializingBean { > > > > @Autowired > > private ExampleRuleService ruleService; > > private Map isRunningMap = new > > HashMap(); > > private static final int NB_POOL_SESSIONS = 5; > > > > @PayloadRoot(localPart = "com.example.ExampleRequest") > > @ResponsePayload > > public ExampleResponse handleRequest( > > @RequestPayload ExampleRequest request) throws > > InterruptedException { > > KieServices ks = KieServices.Factory.get(); > > KieContainer kc = ks.getKieClasspathContainer(); > > while (true) { > > for (int i = 0; i < NB_POOL_SESSIONS; i++) { > > boolean run = false; > > > > synchronized (isRunningMap) { > > if (!isRunningMap.get(i)) { > > isRunningMap.put(i, true); > > run = true; > > } > > } > > > > if (run) { > > KieSession ksession = > kc.newKieSession("KSession" > > + (i + 1)); > > ExampleResponse response = > > ruleService.run(ksession, request); > > ksession.dispose(); > > > > isRunningMap.put(i, false); > > return response; > > } > > } > > Thread.sleep(100); > > } > > } > > > > public void afterPropertiesSet() throws Exception { > > for (int i = 1; i <= NB_POOL_SESSIONS; i++) { > > isRunningMap.put((i - 1), false); > > } > > } > > > > } > > > > It works well because in my benchmark I improve 5 times the > > performance (as I have 5 different threads) but I wondered > if it is a > > good practice and if it does not hide any issues that I > could have in > > the future. > > > > Thanks for your help. > > > > -- > > Maxime FALAIZE > > _______________________________________________ > > rules-users mailing list > > rules-users at lists.jboss.org > > https://lists.jboss.org/mailman/listinfo/rules-users > > > Hi maxime, > > I do not remember if use drools 6 or drools 5. If you using > drools 6. > Phreaks algorithm use multi threading according to use 'from > accummulate' far i understand here: > http://planet.jboss.org/post/drools_6_performance_with_the_phreak_algorithm > > Instead to put a thread by ksession here rules evaluation are > multi-threaded. > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > > > > -- > Maxime FALAIZE > > > > > -- > Maxime FALAIZE > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users Ah yes. Maybe Mark Proktor could tell some information about this -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140411/c95b173c/attachment-0001.html From dbrownell83 at hotmail.com Fri Apr 11 07:17:25 2014 From: dbrownell83 at hotmail.com (djb) Date: Fri, 11 Apr 2014 04:17:25 -0700 (PDT) Subject: [rules-users] Best practices to hand over from dev to business Message-ID: <1397215045517-4029206.post@n3.nabble.com> Hi, So I've worked with Drools v5 on a few projects, and made the move to v6 yesterday. My programs typically have a model of pojos, plus some service utilities that do the stuff that's easier in Java than in Drools. I have implemented the system with DRLs and agenda groups, and one of the next steps is to hand over to business. My comments will allow a junior developer to maintain the program, but you'd be surprised how non-technical the business users can be. They won't touch code. So I'm hoping that Workbench will be what I need to facilitate the transition. With Drools 6, I've separated my web app from the DRL files, which now reside in their own mavenized Jar. Deployment is also very manual at the moment. Run mvn install, ftp war to server, drop in Jboss. So step 1 is probably to load the model and drl files into WB. Should a kiesession jar have pojos too? Only the parts you want to manage in WB? Then I presume that the main goal of WB is to provide a graphical ui to maintain rules, with business users messing around in their sandbox, making new snapshot versions of the rules jar? Then i change the web app's dependency to the new snapshot, rebuild and redeploy? What is the best scenario, to allow business users a UI and myself a simple deployment mechanism when business users want to test their changes, that i can hope to achieve with Drools and it's Uberfire parts? -- View this message in context: http://drools.46999.n3.nabble.com/Best-practices-to-hand-over-from-dev-to-business-tp4029206.html Sent from the Drools: User forum mailing list archive at Nabble.com. From alexsim_88 at hotmail.com Fri Apr 11 08:35:13 2014 From: alexsim_88 at hotmail.com (SSWA) Date: Fri, 11 Apr 2014 05:35:13 -0700 (PDT) Subject: [rules-users] If I have a rule that has a lot of permutation, which is the best approach to set it up? (Currently using decision table) Message-ID: <1397219713253-4029207.post@n3.nabble.com> Attached is a sample rule decision table that I have set up. As you can see, I have designed my conditions very nicely in the picture. But if I were to add a new check, I will actually have to slowly key in the values. I'm wondering if there is any way that when I slot a condition into row 4, it will auto populate the other fields that are "grouped" together. This way, I wouldn't have to re-write those condition's information. So example if I have a new module coming in for P1 called MODULE-A, and I want to create a condition for it to say if the nationality is FR and Eligibility is Y, it is 500 dollar. I will probably click the + button at row 5 or even row 6. Then the fields, "P1", "Nationality", "Eligibility", "Fee Code" will all be populated since they are grouped, and I will just key in the Module Code. Is there any way to do this? -- View this message in context: http://drools.46999.n3.nabble.com/If-I-have-a-rule-that-has-a-lot-of-permutation-which-is-the-best-approach-to-set-it-up-Currently-usi-tp4029207.html Sent from the Drools: User forum mailing list archive at Nabble.com. From michael.anstis at gmail.com Fri Apr 11 09:05:12 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Fri, 11 Apr 2014 14:05:12 +0100 Subject: [rules-users] If I have a rule that has a lot of permutation, which is the best approach to set it up? (Currently using decision table) In-Reply-To: <1397219713253-4029207.post@n3.nabble.com> References: <1397219713253-4029207.post@n3.nabble.com> Message-ID: If rows have default values they will populate the cells when you add a new row. You could set default values, add your rows, and then remove said default values if no longer applicable. On 11 April 2014 13:35, SSWA wrote: > Attached is a sample rule decision table that I have set up. > > As you can see, I have designed my conditions very nicely in the picture. > But if I were to add a new check, I will actually have to slowly key in the > values. > > I'm wondering if there is any way that when I slot a condition into row 4, > it will auto populate the other fields that are "grouped" together. This > way, I wouldn't have to re-write those condition's information. > > So example if I have a new module coming in for P1 called MODULE-A, and I > want to create a condition for it to say if the nationality is FR and > Eligibility is Y, it is 500 dollar. I will probably click the + button at > row 5 or even row 6. Then the fields, "P1", "Nationality", "Eligibility", > "Fee Code" will all be populated since they are grouped, and I will just > key > in the Module Code. > > Is there any way to do this? > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/If-I-have-a-rule-that-has-a-lot-of-permutation-which-is-the-best-approach-to-set-it-up-Currently-usi-tp4029207.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140411/30f7abd3/attachment.html From michael.anstis at gmail.com Fri Apr 11 10:49:42 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Fri, 11 Apr 2014 15:49:42 +0100 Subject: [rules-users] Problems deploying war In-Reply-To: <5346E1FD.6030805@ll.mit.edu> References: <5346E1FD.6030805@ll.mit.edu> Message-ID: Hi, There have been a few people with Tomcat deployment issues for kie-drools-wb, so I thought I'd give it a try. These are the steps I followed for *successful* deployment (most of which is already documented, but not obvious, in the WAR's README.txt file):- *6.0.1* Starting with a clean install of Tomcat 7. 1. Copy "kie-tomcat-integration" JAR into TOMCAT_HOME/lib (org.kie:kie-tomcat-integration) 2. Copy "JACC" JAR into TOMCAT_HOME/lib(javax.security.jacc:artifactId=javax.security.jacc-api in JBoss Maven Repository) 3. Copy "slf4j-api" JAR into TOMCAT_HOME/lib(org.slf4j:artifactId=slf4j-api in JBoss Maven Repository) 4. Add valve configuration into TOMCAT_HOME/conf/server.xml inside element as last valve definition: 5. Edit TOMCAT_HOME/conf/tomcat-users.xml to include roles and users, make sure there will be 'analyst' or 'admin' roles defined as it's required to be authorized to use kie-wb 6. Delete org.uberfire.security.auth.AuthenticationSource inside WEB-INF/classes/META-INF/services 7. Rename org.uberfire.security.auth.AuthenticationSource-TOMCAT-JEE-SECURITY to org.uberfire.security.auth.AuthenticationSource inside WEB-INF/classes/META-INF/services 8. Increase Java's PermGen space by adding file TOMCAT_HOME/bin/setenv.sh containing export JAVA_OPTS="-Xmx1024m -XX:MaxPermSize=256m" 9. Start Tomcat with TOMCAT_HOME/bin/startup.sh 10. Go to Management Console, http://localhost:8080/management 11. Deploy modified WAR If you do not complete these steps the WAR works "out of the box" but you'll need to define Users in WEB-INF/classes/login.config *6.1.0-SNAPSHOT* Starting with a clean install of Tomcat 7. 1. Copy "kie-tomcat-integration" JAR into TOMCAT_HOME/lib (org.kie:kie-tomcat-integration) 2. Copy "JACC" JAR into TOMCAT_HOME/lib (javax.security.jacc:artifactId=javax.security.jacc-api in JBoss Maven Repository) 3. Copy "slf4j-api" JAR into TOMCAT_HOME/lib (org.slf4j:artifactId=slf4j-api in JBoss Maven Repository) 4. Add valve configuration into TOMCAT_HOME/conf/server.xml inside Host element as last valve definition: 5. Edit TOMCAT_HOME/conf/tomcat-users.xml to include roles and users, make sure there will be 'analyst' or 'admin' roles defined as it's required to be authorized to use kie-wb 6. Start Tomcat with TOMCAT_HOME/bin/startup.sh 7. Go to Management Console, http://localhost:8080/management 8. Deploy modified WAR With kind regards, Mike On 10 April 2014 19:25, Ven Tadipatri wrote: > Hi, > I'm trying to get set up with Drools and Guvnor. I've had some success > building a test program with Drools, but when I saw that there's a webapp > to manage and view rules, I was interested in getting that working as > well. Unfortunately I haven't had much success with that. > I downloaded the kie-drools-wb-distribution-6.0.1.Final.zip file from > the JBoss drools website and dropped the > binaries/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war > into my Tomcat directory. Tomcat was just hanging for a while, then spit > out a bunch of error messages: > Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext > startInternal > INFO: Deploying web application archive > /opt/tomcat/tomcat7/webapps/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war > Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext > startInternal > SEVERE: Error listenerStart > Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext > startInternal > SEVERE: Context [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] > startup failed due to previous errors > Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader > clearReferencesThreads > SEVERE: The web application > [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have > started a thread named [pool-4-thread-1] but has failed to stop it. This is > very likely to create a memory leak. > Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader > clearReferencesThreads > SEVERE: The web application > [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have > started a thread named [Thread-3] but has failed to stop it. This is very > likely to create a memory leak. > Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader > clearReferencesThreads > SEVERE: The web application > [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have > started a thread named [pool-7-thread-1] but has failed to stop it. This is > very likely to create a memory leak. > Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader > clearReferencesThreads > SEVERE: The web application > [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have > started a thread named [Git-Daemon-Accept] but has failed to stop it. This > is very likely to create a memory leak. > Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader > checkThreadLocalMapForLeaks > SEVERE: The web application > [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a > ThreadLocal with key of type [org.jboss.errai.config.util.ClassScanner$1] > (value [org.jboss.errai.config.util.ClassScanner$1 at 1b3870a5]) and a value > of type [java.lang.Boolean] (value [true]) but failed to remove it when the > web application was stopped. Threads are going to be renewed over time to > try and avoid a probable memory leak. > Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader > checkThreadLocalMapForLeaks > SEVERE: The web application > [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a > ThreadLocal with key of type > [org.jboss.solder.servlet.beanManager.ServletContextAttributeProvider$1] > (value > [org.jboss.solder.servlet.beanManager.ServletContextAttributeProvider$1 at 166b6e99]) > and a value of type [org.apache.catalina.core.ApplicationContextFacade] > (value [org.apache.catalina.core.ApplicationContextFacade at 672a0a4e]) but > failed to remove it when the web application was stopped. Threads are going > to be renewed over time to try and avoid a probable memory leak. > Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader > checkThreadLocalMapForLeaks > SEVERE: The web application > [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a > ThreadLocal with key of type [org.eclipse.jgit.nls.NLS$1] (value > [org.eclipse.jgit.nls.NLS$1 at 790abbcb]) and a value of type > [org.eclipse.jgit.nls.NLS] (value [org.eclipse.jgit.nls.NLS at 2faf4a82]) > but failed to remove it when the web application was stopped. Threads are > going to be renewed over time to try and avoid a probable memory leak. > > Next I tried building the workbench from source: > https://github.com/droolsjbpm/drools-wb/archive/6.0.1.Final.zip > The maven build worked, and I dropped the tomcat war into the tomcat > directory (removing any existing webapps and wars). Starting Tomcat now > produced these errors: > > INFO: Deploying web application archive > /opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0.war > 2014-04-10 13:46:31,975 [localhost-startStop-1] > > ERROR Failed to setup Repository 'uf-playground' > java.lang.RuntimeException: > https://github.com/guvnorngtestuser1/guvnorng-playground.git: cannot open > git-upload-pack > > What is the webapp trying to do with Git? Do I need to point it at some > git repo? > > I tried the jboss instructions here: > > http://blog.athico.com/2013/05/how-to-build-and-run-drools-and-guvnor.html > > But that didn't work either, with Jboss just hanging as well. Any clues > on what might be going wrong? > > Thanks, > Ven > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140411/6b7878e6/attachment-0001.html From michael.anstis at gmail.com Fri Apr 11 10:50:49 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Fri, 11 Apr 2014 15:50:49 +0100 Subject: [rules-users] Guvnor - Importing Drl FIle and its associated model In-Reply-To: <1397158792837-4029203.post@n3.nabble.com> References: <1397158792837-4029203.post@n3.nabble.com> Message-ID: What version are you using? On 10 April 2014 20:39, mattmadhavan wrote: > Hello, > In have a working Drools project. I would like to import existing DRL files > and associated Model file. > > I have a custom operator as well. I have packaged the Model and necessary > operators and util global functions into a jar with their dependencies. > > How do I import my DRL and the model jar so that, the DRL's imports 'see' > the referenced operators and functions and the Model (FACT) classes. > > Can some one please let me have the sequence of steps? > > Thanks > Matt > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Guvnor-Importing-Drl-FIle-and-its-associated-model-tp4029203.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140411/4afeb65c/attachment.html From michael.anstis at gmail.com Fri Apr 11 10:52:03 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Fri, 11 Apr 2014 15:52:03 +0100 Subject: [rules-users] How to install Drool web WB - Tomcat? In-Reply-To: <1397171594339-4029204.post@n3.nabble.com> References: <1397171594339-4029204.post@n3.nabble.com> Message-ID: Please see other email on this subject to which I've replied. On 11 April 2014 00:13, bbarani wrote: > I download the drools workbench war > (kie-drools-wb-distribution-6.0.1.Final.zip) and tried deploying it on > Tomcat. The application gets deployed but not getting started (when seen > from server console). > > Do I need to do anything else apart from placing the WAR file in the > webapps > directory? please advise > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/How-to-install-Drool-web-WB-Tomcat-tp4029204.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140411/6e78c253/attachment.html From michael.anstis at gmail.com Fri Apr 11 10:57:17 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Fri, 11 Apr 2014 15:57:17 +0100 Subject: [rules-users] Problems deploying war In-Reply-To: References: <5346E1FD.6030805@ll.mit.edu> Message-ID: To answer your remaining questions: > What is the webapp trying to do with Git? Do I need to point it at some git repo? The Workbench tries to clone a demo repository from github.com on startup. This can be disabled. See here. You'll need to set "org.kie.demo" to false. If you don't have an internet connection to github.com you can use the demo repositories bundled with the distribution (kie-wb-example-repositories-6.0.1.Final.zip in the download). You will need to set "org.kie.example.repositories" > I tried the jboss instructions here: http://blog.athico.com/2013/05/how-to-build-and-run-drools-and-guvnor.html These relate to 5.5 not 6.0. Guvnor used to be the whole web app; now it is just a small component. See here . On 11 April 2014 15:49, Michael Anstis wrote: > Hi, > > There have been a few people with Tomcat deployment issues for > kie-drools-wb, so I thought I'd give it a try. > > These are the steps I followed for *successful* deployment (most of which > is already documented, but not obvious, in the WAR's README.txt file):- > > *6.0.1* > > Starting with a clean install of Tomcat 7. > > 1. Copy "kie-tomcat-integration" JAR into TOMCAT_HOME/lib > (org.kie:kie-tomcat-integration) > 2. Copy "JACC" JAR into TOMCAT_HOME/lib(javax.security.jacc:artifactId=javax.security.jacc-api in JBoss Maven > Repository) > 3. Copy "slf4j-api" JAR into TOMCAT_HOME/lib(org.slf4j:artifactId=slf4j-api in JBoss Maven Repository) > 4. Add valve configuration into TOMCAT_HOME/conf/server.xml inside element as last valve definition: > > > > 5. Edit TOMCAT_HOME/conf/tomcat-users.xml to include roles and users, > make sure there will be 'analyst' or 'admin' roles defined as it's required > to be authorized to use kie-wb > 6. Delete org.uberfire.security.auth.AuthenticationSource inside > WEB-INF/classes/META-INF/services > 7. Rename > org.uberfire.security.auth.AuthenticationSource-TOMCAT-JEE-SECURITY to > org.uberfire.security.auth.AuthenticationSource inside > WEB-INF/classes/META-INF/services > 8. Increase Java's PermGen space by adding file TOMCAT_HOME/bin/setenv.sh > containing export JAVA_OPTS="-Xmx1024m -XX:MaxPermSize=256m" > 9. Start Tomcat with TOMCAT_HOME/bin/startup.sh > 10. Go to Management Console, http://localhost:8080/management > 11. Deploy modified WAR > > If you do not complete these steps the WAR works "out of the box" but > you'll need to define Users in WEB-INF/classes/login.config > > *6.1.0-SNAPSHOT* > > Starting with a clean install of Tomcat 7. > > 1. Copy "kie-tomcat-integration" JAR into TOMCAT_HOME/lib > (org.kie:kie-tomcat-integration) > 2. Copy "JACC" JAR into TOMCAT_HOME/lib > (javax.security.jacc:artifactId=javax.security.jacc-api in JBoss Maven > Repository) > 3. Copy "slf4j-api" JAR into TOMCAT_HOME/lib > (org.slf4j:artifactId=slf4j-api in JBoss Maven Repository) > 4. Add valve configuration into TOMCAT_HOME/conf/server.xml inside Host > element as last valve definition: > > > > 5. Edit TOMCAT_HOME/conf/tomcat-users.xml to include roles and users, make > sure there will be 'analyst' or 'admin' roles defined as it's required to > be authorized to use kie-wb > 6. Start Tomcat with TOMCAT_HOME/bin/startup.sh > 7. Go to Management Console, http://localhost:8080/management > 8. Deploy modified WAR > > With kind regards, > > Mike > > > > > On 10 April 2014 19:25, Ven Tadipatri wrote: > >> Hi, >> I'm trying to get set up with Drools and Guvnor. I've had some success >> building a test program with Drools, but when I saw that there's a webapp >> to manage and view rules, I was interested in getting that working as >> well. Unfortunately I haven't had much success with that. >> I downloaded the kie-drools-wb-distribution-6.0.1.Final.zip file from >> the JBoss drools website and dropped the >> binaries/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war >> into my Tomcat directory. Tomcat was just hanging for a while, then spit >> out a bunch of error messages: >> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >> startInternal >> INFO: Deploying web application archive >> /opt/tomcat/tomcat7/webapps/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war >> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >> startInternal >> SEVERE: Error listenerStart >> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >> startInternal >> SEVERE: Context [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] >> startup failed due to previous errors >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> clearReferencesThreads >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >> started a thread named [pool-4-thread-1] but has failed to stop it. This is >> very likely to create a memory leak. >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> clearReferencesThreads >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >> started a thread named [Thread-3] but has failed to stop it. This is very >> likely to create a memory leak. >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> clearReferencesThreads >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >> started a thread named [pool-7-thread-1] but has failed to stop it. This is >> very likely to create a memory leak. >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> clearReferencesThreads >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >> started a thread named [Git-Daemon-Accept] but has failed to stop it. This >> is very likely to create a memory leak. >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> checkThreadLocalMapForLeaks >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >> ThreadLocal with key of type [org.jboss.errai.config.util.ClassScanner$1] >> (value [org.jboss.errai.config.util.ClassScanner$1 at 1b3870a5]) and a >> value of type [java.lang.Boolean] (value [true]) but failed to remove it >> when the web application was stopped. Threads are going to be renewed over >> time to try and avoid a probable memory leak. >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> checkThreadLocalMapForLeaks >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >> ThreadLocal with key of type >> [org.jboss.solder.servlet.beanManager.ServletContextAttributeProvider$1] >> (value >> [org.jboss.solder.servlet.beanManager.ServletContextAttributeProvider$1 at 166b6e99]) >> and a value of type [org.apache.catalina.core.ApplicationContextFacade] >> (value [org.apache.catalina.core.ApplicationContextFacade at 672a0a4e]) but >> failed to remove it when the web application was stopped. Threads are going >> to be renewed over time to try and avoid a probable memory leak. >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> checkThreadLocalMapForLeaks >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >> ThreadLocal with key of type [org.eclipse.jgit.nls.NLS$1] (value >> [org.eclipse.jgit.nls.NLS$1 at 790abbcb]) and a value of type >> [org.eclipse.jgit.nls.NLS] (value [org.eclipse.jgit.nls.NLS at 2faf4a82]) >> but failed to remove it when the web application was stopped. Threads are >> going to be renewed over time to try and avoid a probable memory leak. >> >> Next I tried building the workbench from source: >> https://github.com/droolsjbpm/drools-wb/archive/6.0.1.Final.zip >> The maven build worked, and I dropped the tomcat war into the tomcat >> directory (removing any existing webapps and wars). Starting Tomcat now >> produced these errors: >> >> INFO: Deploying web application archive >> /opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0.war >> 2014-04-10 13:46:31,975 [localhost-startStop-1] >> >> ERROR Failed to setup Repository 'uf-playground' >> java.lang.RuntimeException: >> https://github.com/guvnorngtestuser1/guvnorng-playground.git: cannot >> open git-upload-pack >> >> What is the webapp trying to do with Git? Do I need to point it at some >> git repo? >> >> I tried the jboss instructions here: >> >> http://blog.athico.com/2013/05/how-to-build-and-run-drools-and-guvnor.html >> >> But that didn't work either, with Jboss just hanging as well. Any clues >> on what might be going wrong? >> >> Thanks, >> Ven >> >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140411/651b976a/attachment-0001.html From Cwen at regenstrief.org Fri Apr 11 23:43:22 2014 From: Cwen at regenstrief.org (Cwen) Date: Fri, 11 Apr 2014 20:43:22 -0700 (PDT) Subject: [rules-users] KnowledgeAgentImpl registeredResourceMap memory issue Message-ID: <1397274202805-4029216.post@n3.nabble.com> We are seeing this HashMap (KnowledgeAgentImpl.registeredResourceMap) keeps growing when a pkg is updated. It looks like creating more CompositeClassLoader and not removing the old rule references. So it causes KnowledgeAgentImpl use large memory. We are using 5.5.0.final.I am attaching an image from memory analyzer to show how the HashMap holds up multiple CompositeClassLoader and they are using about 230MB of memory. It increases when the pkg gets updated with about 150 rules. -- View this message in context: http://drools.46999.n3.nabble.com/KnowledgeAgentImpl-registeredResourceMap-memory-issue-tp4029216.html Sent from the Drools: User forum mailing list archive at Nabble.com. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140411/beb85467/attachment.html From Cwen at regenstrief.org Fri Apr 11 23:45:26 2014 From: Cwen at regenstrief.org (Cwen) Date: Fri, 11 Apr 2014 20:45:26 -0700 (PDT) Subject: [rules-users] KnowledgeAgentImpl registeredResourceMap memory issue In-Reply-To: <1397274202805-4029216.post@n3.nabble.com> References: <1397274202805-4029216.post@n3.nabble.com> Message-ID: <1397274326535-4029217.post@n3.nabble.com> -- View this message in context: http://drools.46999.n3.nabble.com/KnowledgeAgentImpl-registeredResourceMap-memory-issue-tp4029216p4029217.html Sent from the Drools: User forum mailing list archive at Nabble.com. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140411/dc8b4a3f/attachment.html From dsotty at gmail.com Fri Apr 11 23:49:11 2014 From: dsotty at gmail.com (Davide Sottara) Date: Fri, 11 Apr 2014 20:49:11 -0700 Subject: [rules-users] KnowledgeAgentImpl registeredResourceMap memory issue In-Reply-To: <1397274326535-4029217.post@n3.nabble.com> References: <1397274202805-4029216.post@n3.nabble.com> <1397274326535-4029217.post@n3.nabble.com> Message-ID: <5348B7B7.4040309@gmail.com> Can you try 5.6.0.Final? Many issues regarding the KnowledgeAgent were fixed in that version Thanks Davide On 04/11/2014 08:45 PM, Cwen wrote: > > ------------------------------------------------------------------------ > View this message in context: Re: KnowledgeAgentImpl > registeredResourceMap memory issue > > Sent from the Drools: User forum mailing list archive > at > Nabble.com. > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140411/708286b0/attachment.html From mohanm.eee at gmail.com Fri Apr 11 23:56:15 2014 From: mohanm.eee at gmail.com (mohanm) Date: Fri, 11 Apr 2014 20:56:15 -0700 (PDT) Subject: [rules-users] Problem with Collection Message-ID: <1397274975060-4029219.post@n3.nabble.com> Hi, I am using Drools 5.5.0 Final Expert to do Alarm Co-relation. I was trying to collect the facts in to the ArrayList collection. My drl file will look like below. From the Rule I calling an Java method to access the collected facts. /rule "Rule [Alarm Collection]" no-loop when $alarmColl : ArrayList() from collect(Alarm ( JustInserted == true; )) then // act on $alarmColl end/ while in my Java code I am loop through the collection to set an attribute of the Alarm Object. But while I am trying to set this attribute in the collection, the collection is getting updated and indexes are changed. Due to which all the objects are not updated. Even I tried using the iterator to access the ArrayList collection. Still the same issue. / while(index < alarmColl.size()){ Alarm alarmObj=alarmColl.get(index) if(alarmObj.isJustInserted()) { alarmObj.setJustInserted(false); theScenario.getSession().update(alarmObj); } index++; }/ How can I update the objects in collection without changing the index or any other way to achieve this. -- View this message in context: http://drools.46999.n3.nabble.com/Problem-with-Collection-tp4029219.html Sent from the Drools: User forum mailing list archive at Nabble.com. From wolfgang.laun at gmail.com Sat Apr 12 00:16:12 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Sat, 12 Apr 2014 06:16:12 +0200 Subject: [rules-users] Problem with Collection In-Reply-To: <1397274975060-4029219.post@n3.nabble.com> References: <1397274975060-4029219.post@n3.nabble.com> Message-ID: If there is no cogent reason for collecting a List and acting on it you should match a single Alarm and update it on the rule's right hand side: rule "Rule [Alarm Collection]" when $alarm: Alarm ( justInserted == true ) then modify( $alarm ){ setJustInserted( false ) } end Note that you still can store a reference to this Alarm in some global or call Java code for additional processing. If you do need a collected List, you'll have to copy it on the rule's right hand side before you call your Java code. ArrayList copy = new ArrayList( $alarmColl ); The update() call is causing instant reorganisation and the collect result is some sort of cache. On 12 April 2014 05:56, mohanm wrote: > Hi, > > I am using Drools 5.5.0 Final Expert to do Alarm Co-relation. I was trying > to collect the facts in to the ArrayList collection. My drl file will look > like below. From the Rule I calling an Java method to access the collected > facts. > > /rule "Rule [Alarm Collection]" > no-loop > when > $alarmColl : ArrayList() from collect(Alarm > ( > JustInserted == true; > )) > > then > // act on $alarmColl > end/ > > while in my Java code I am loop through the collection to set an attribute > of the Alarm Object. But while I am trying to set this attribute in the > collection, the collection is getting updated and indexes are changed. Due > to which all the objects are not updated. Even I tried using the iterator > to > access the ArrayList collection. Still the same issue. > > / > while(index < alarmColl.size()){ > Alarm alarmObj=alarmColl.get(index) > > if(alarmObj.isJustInserted()) { > alarmObj.setJustInserted(false); > theScenario.getSession().update(alarmObj); > } > index++; > }/ > > > How can I update the objects in collection without changing the index or > any > other way to achieve this. > > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Problem-with-Collection-tp4029219.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140412/0ad95b22/attachment.html From mohanm.eee at gmail.com Sat Apr 12 06:57:59 2014 From: mohanm.eee at gmail.com (mohanm) Date: Sat, 12 Apr 2014 03:57:59 -0700 (PDT) Subject: [rules-users] Problem with Collection In-Reply-To: References: <1397274975060-4029219.post@n3.nabble.com> Message-ID: <1397300279750-4029222.post@n3.nabble.com> Hi laune, Number of facts inserted into the working memory will be high at times. Events are facts for us. After first fact matching condition in the working memory, we want to wait for few seconds to collect similar facts and do an action on that. when we changed any attribute on the facts in the collection, the collection got refreshed. I tried copying the Collection to another Arraylist in java code, it didnt work properly. I will try as per your suggestion to do in the RHS of the rule. Is there a way to change the attributes of the facts in the collection and then update all the facts belonging to particular class. Thanks for your reply and suggestion. Mohan -- View this message in context: http://drools.46999.n3.nabble.com/Problem-with-Collection-tp4029219p4029222.html Sent from the Drools: User forum mailing list archive at Nabble.com. From Cwen at regenstrief.org Sat Apr 12 08:30:36 2014 From: Cwen at regenstrief.org (Cwen) Date: Sat, 12 Apr 2014 05:30:36 -0700 (PDT) Subject: [rules-users] KnowledgeAgentImpl registeredResourceMap memory issue In-Reply-To: <5348B7B7.4040309@gmail.com> References: <1397274202805-4029216.post@n3.nabble.com> <1397274326535-4029217.post@n3.nabble.com> <5348B7B7.4040309@gmail.com> Message-ID: <1397305836953-4029223.post@n3.nabble.com> Thank you for your advice Davide! I actually tried upgrade to 5.6.0.final. However there were a lot of compile errors from our system. So it's not easy for us to upgrade. I have couple of questions: 1. Is this a known issue documented and fixed with 5.6.0.final? Is there a JIRA ticket tracking this? 2. Is it possible to patch 5.5.0 version with the fixes? Thank you! -- View this message in context: http://drools.46999.n3.nabble.com/KnowledgeAgentImpl-registeredResourceMap-memory-issue-tp4029216p4029223.html Sent from the Drools: User forum mailing list archive at Nabble.com. From wolfgang.laun at gmail.com Sat Apr 12 10:11:11 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Sat, 12 Apr 2014 16:11:11 +0200 Subject: [rules-users] Problem with Collection In-Reply-To: <1397300279750-4029222.post@n3.nabble.com> References: <1397274975060-4029219.post@n3.nabble.com> <1397300279750-4029222.post@n3.nabble.com> Message-ID: On 12 April 2014 12:57, mohanm wrote: > Hi laune, > > Number of facts inserted into the working memory will be high at times. > Events are facts for us. After first fact matching condition in the working > memory, we want to wait for few seconds to collect similar facts and do an > action on that. I still don't see a good reason for waiting and doing a collect. -W > when we changed any attribute on the facts in the > collection, the collection got refreshed. > > I tried copying the Collection to another Arraylist in java code, it didnt > work properly. I will try as per your suggestion to do in the RHS of the > rule. > > Is there a way to change the attributes of the facts in the collection and > then update all the facts belonging to particular class. > > Thanks for your reply and suggestion. > > Mohan > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Problem-with-Collection-tp4029219p4029222.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140412/19cb702a/attachment-0001.html From dsotty at gmail.com Sat Apr 12 16:00:06 2014 From: dsotty at gmail.com (Davide Sottara) Date: Sat, 12 Apr 2014 13:00:06 -0700 Subject: [rules-users] KnowledgeAgentImpl registeredResourceMap memory issue In-Reply-To: <1397305836953-4029223.post@n3.nabble.com> References: <1397274202805-4029216.post@n3.nabble.com> <1397274326535-4029217.post@n3.nabble.com> <5348B7B7.4040309@gmail.com> <1397305836953-4029223.post@n3.nabble.com> Message-ID: <53499B46.6060505@gmail.com> Strange.. the APIs should have not changed between 5.5 and 5.6... what kind of compilation errors are you getting exactly? 1) The KA was partially rewritten because of a sub-project (drools-mas), so it was a combination of fixes and "natural evolution" You can try the tickets here, however: https://issues.jboss.org/browse/DROOLS-273?jql=text%20~%20%22KnowledgeAgent%22%20AND%20project%3DDrools 2) The easiest thing to try would be to replace the 5.5 KA with the 5.6 and recompile + test.. Next week I may have some time to assist you Best Davide On 04/12/2014 05:30 AM, Cwen wrote: > Thank you for your advice Davide! I actually tried upgrade to 5.6.0.final. > However there were a lot of compile errors from our system. So it's not easy > for us to upgrade. I have couple of questions: > 1. Is this a known issue documented and fixed with 5.6.0.final? Is there a > JIRA ticket tracking this? > 2. Is it possible to patch 5.5.0 version with the fixes? > > Thank you! > > > > -- > View this message in context: http://drools.46999.n3.nabble.com/KnowledgeAgentImpl-registeredResourceMap-memory-issue-tp4029216p4029223.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > From Cwen at regenstrief.org Sat Apr 12 22:39:45 2014 From: Cwen at regenstrief.org (Cwen) Date: Sat, 12 Apr 2014 19:39:45 -0700 (PDT) Subject: [rules-users] KnowledgeAgentImpl registeredResourceMap memory issue In-Reply-To: <53499B46.6060505@gmail.com> References: <1397274202805-4029216.post@n3.nabble.com> <1397274326535-4029217.post@n3.nabble.com> <5348B7B7.4040309@gmail.com> <1397305836953-4029223.post@n3.nabble.com> <53499B46.6060505@gmail.com> Message-ID: <1397356785354-4029226.post@n3.nabble.com> Thank you Davide. I don't have the compile errors in hand at this moment. I will try upgrade again and collect the errors next week. I will try replace KA too if the compile errors cannot be solved. Will update with you. Thank you! -- View this message in context: http://drools.46999.n3.nabble.com/KnowledgeAgentImpl-registeredResourceMap-memory-issue-tp4029216p4029226.html Sent from the Drools: User forum mailing list archive at Nabble.com. From mohanm.eee at gmail.com Sat Apr 12 23:26:54 2014 From: mohanm.eee at gmail.com (mohanm) Date: Sat, 12 Apr 2014 20:26:54 -0700 (PDT) Subject: [rules-users] Problem with Collection In-Reply-To: References: <1397274975060-4029219.post@n3.nabble.com> <1397300279750-4029222.post@n3.nabble.com> Message-ID: <1397359614195-4029227.post@n3.nabble.com> Hi Laune, Drools is integrated to an application A which is communicating to another application B through webservice. Based on the facts in the working memory we are going to do send an request to Application B to do some action either create,update or delete existing events. All the calls to the Application B is synchronous. If we have more and more requests going to Application B through synchronous calls, Application B is taking time to process those requests. we need to limit these calls as low as possible, Any faults at device can generate more than 100 events which in turn converted in to facts and inserted into working memory. For each facts, I don't want to create 100 requests to Application B. I need to send only one request to Application B for all the facts together, So we are using collection to control this. While using collection we were facing the problem as mentioned below. Hope I made you understand -- View this message in context: http://drools.46999.n3.nabble.com/Problem-with-Collection-tp4029219p4029227.html Sent from the Drools: User forum mailing list archive at Nabble.com. From wolfgang.laun at gmail.com Sun Apr 13 00:57:43 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Sun, 13 Apr 2014 06:57:43 +0200 Subject: [rules-users] Problem with Collection In-Reply-To: <1397359614195-4029227.post@n3.nabble.com> References: <1397274975060-4029219.post@n3.nabble.com> <1397300279750-4029222.post@n3.nabble.com> <1397359614195-4029227.post@n3.nabble.com> Message-ID: Making the rules more complicated in order to achieve control over sending messages to some other application does not strike me as the best option. As an alternative, processed facts could be collected on the interface between Drools and your application A. -W On 13 April 2014 05:26, mohanm wrote: > Hi Laune, > > Drools is integrated to an application A which is communicating to another > application B through webservice. Based on the facts in the working memory > we are going to do send an request to Application B to do some action > either > create,update or delete existing events. All the calls to the Application B > is synchronous. If we have more and more requests going to Application B > through synchronous calls, Application B is taking time to process those > requests. we need to limit these calls as low as possible, Any faults at > device can generate more than 100 events which in turn converted in to > facts > and inserted into working memory. For each facts, I don't want to create > 100 > requests to Application B. I need to send only one request to Application B > for all the facts together, So we are using collection to control this. > > While using collection we were facing the problem as mentioned below. > > Hope I made you understand > > > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Problem-with-Collection-tp4029219p4029227.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140413/abfcaa25/attachment.html From mproctor at codehaus.org Sun Apr 13 16:42:44 2014 From: mproctor at codehaus.org (Mark Proctor) Date: Sun, 13 Apr 2014 21:42:44 +0100 Subject: [rules-users] Pooling stateful sessions to have threaded executions of a ruleset In-Reply-To: <53479E4D.1050103@genoscope.cns.fr> References: <56b150afa8d92e910c77d85195edebd3@genoscope.cns.fr> <53479E4D.1050103@genoscope.cns.fr> Message-ID: as it says in the docs. we?ve designed things to put in foundations for future multi-threaded exploitation, but there is nothing there now. The example code doesn?t make too much sense to me. As you are saying you are using them as a pool, but you are disposing after use. Mark On 11 Apr 2014, at 08:48, Mercier Jonathan wrote: > Le 09/04/2014 11:20, Maxime Falaize a ?crit : >> I confirm that the multithreaded rules evaluation is not currently supported. See https://github.com/droolsjbpm/drools/blob/master/drools-core/src/main/java/org/drools/core/RuleBaseConfiguration.java#L683 >> >> >> 2014-04-07 12:27 GMT+02:00 Maxime Falaize : >> I'm sorry but I don't understand what you are talking about. In this article, there is nothing about multithreaded rules evaluation. It just says that the Phreak algorithm is designed for thread safety and future multicore processors exploitation. It doesn't mean that it is already multithreaded. Moreover I tested my appliciation with and without multithreaded sessions (I am using Drools 6.0.1.Final) and I noted a faster execution in the multithreaded one. >> >> >> 2014-04-04 13:53 GMT+02:00 jmercier : >> >> Le 04/03/2014 09:55, Maxime Falaize a ?crit : >> > Hello, >> > >> > I want to ask you if it is a good practive to pool stateful sessions >> > for a specific ruleset to improve the execution performance. >> > Actually in my application I execute my rules by calling SOAP >> > webservice. For performance purpose, I test multithreaded calls to my >> > webservice and I noted that when I pool sessions in the server side, >> > it improves the performance a lot. >> > >> > To pool sessions, I just declare multiple ksession tag in my >> > kmodule.xml : >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > In my spring webservice endpoint I just put that code to handle the >> > pool : >> > >> > @Endpoint >> > public class ExampleEndpoint implements InitializingBean { >> > >> > @Autowired >> > private ExampleRuleService ruleService; >> > private Map isRunningMap = new >> > HashMap(); >> > private static final int NB_POOL_SESSIONS = 5; >> > >> > @PayloadRoot(localPart = "com.example.ExampleRequest") >> > @ResponsePayload >> > public ExampleResponse handleRequest( >> > @RequestPayload ExampleRequest request) throws >> > InterruptedException { >> > KieServices ks = KieServices.Factory.get(); >> > KieContainer kc = ks.getKieClasspathContainer(); >> > while (true) { >> > for (int i = 0; i < NB_POOL_SESSIONS; i++) { >> > boolean run = false; >> > >> > synchronized (isRunningMap) { >> > if (!isRunningMap.get(i)) { >> > isRunningMap.put(i, true); >> > run = true; >> > } >> > } >> > >> > if (run) { >> > KieSession ksession = kc.newKieSession("KSession" >> > + (i + 1)); >> > ExampleResponse response = >> > ruleService.run(ksession, request); >> > ksession.dispose(); >> > >> > isRunningMap.put(i, false); >> > return response; >> > } >> > } >> > Thread.sleep(100); >> > } >> > } >> > >> > public void afterPropertiesSet() throws Exception { >> > for (int i = 1; i <= NB_POOL_SESSIONS; i++) { >> > isRunningMap.put((i - 1), false); >> > } >> > } >> > >> > } >> > >> > It works well because in my benchmark I improve 5 times the >> > performance (as I have 5 different threads) but I wondered if it is a >> > good practice and if it does not hide any issues that I could have in >> > the future. >> > >> > Thanks for your help. >> > >> > -- >> > Maxime FALAIZE >> > _______________________________________________ >> > rules-users mailing list >> > rules-users at lists.jboss.org >> > https://lists.jboss.org/mailman/listinfo/rules-users >> >> >> Hi maxime, >> >> I do not remember if use drools 6 or drools 5. If you using drools 6. >> Phreaks algorithm use multi threading according to use 'from >> accummulate' far i understand here: >> http://planet.jboss.org/post/drools_6_performance_with_the_phreak_algorithm >> >> Instead to put a thread by ksession here rules evaluation are >> multi-threaded. >> >> >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> >> >> >> -- >> Maxime FALAIZE >> >> >> >> -- >> Maxime FALAIZE >> >> >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users > > Ah yes. Maybe Mark Proktor could tell some information about this > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140413/63e3c782/attachment-0001.html From douxf at asiainfo-linkage.com Sun Apr 13 22:23:44 2014 From: douxf at asiainfo-linkage.com (=?gb2312?B?8bzP/rfl?=) Date: Mon, 14 Apr 2014 10:23:44 +0800 Subject: [rules-users] how KnowledgeAgent to use guvnor cluster? Message-ID: <002801cf5788$8f719c70$ae54d550$@asiainfo-linkage.com> Hello, every one: I am newbie for drools and guvnor, so excuse me if the question is duplicated for others. I am use guvnor 5.5.0 final and set up two nodes guvnor cluster successfully. But I don?t know how to configure the knowledge agent to use the cluster for HA?(before the cluster set up a nginx for banlance?) Thx a lot -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140414/585a467f/attachment.html From maxime.falaize at gmail.com Mon Apr 14 04:08:58 2014 From: maxime.falaize at gmail.com (Maxime Falaize) Date: Mon, 14 Apr 2014 10:08:58 +0200 Subject: [rules-users] Pooling stateful sessions to have threaded executions of a ruleset In-Reply-To: References: <56b150afa8d92e910c77d85195edebd3@genoscope.cns.fr> <53479E4D.1050103@genoscope.cns.fr> Message-ID: I'm disposing after use because if i'm not the working memory is not empty between 2 calls right ? And I am saying that I'm using them as a pool because I have 5 sessions that could be used at the same time, which is impossible if I declare only one. If you have recommandation for my use case, please tell me as I found nothing in the doc about this. 2014-04-13 22:42 GMT+02:00 Mark Proctor : > as it says in the docs. we've designed things to put in foundations for > future multi-threaded exploitation, but there is nothing there now. > > The example code doesn't make too much sense to me. As you are saying you > are using them as a pool, but you are disposing after use. > > Mark > > On 11 Apr 2014, at 08:48, Mercier Jonathan > wrote: > > Le 09/04/2014 11:20, Maxime Falaize a ?crit : > > I confirm that the multithreaded rules evaluation is not currently > supported. See > https://github.com/droolsjbpm/drools/blob/master/drools-core/src/main/java/org/drools/core/RuleBaseConfiguration.java#L683 > > > 2014-04-07 12:27 GMT+02:00 Maxime Falaize : > >> I'm sorry but I don't understand what you are talking about. In this >> article, there is nothing about multithreaded rules evaluation. It just >> says that the Phreak algorithm is designed for thread safety and *future*multicore processors exploitation. It doesn't mean that it is already >> multithreaded. Moreover I tested my appliciation with and without >> multithreaded sessions (I am using Drools 6.0.1.Final) and I noted a faster >> execution in the multithreaded one. >> >> >> 2014-04-04 13:53 GMT+02:00 jmercier : >> >> Le 04/03/2014 09:55, Maxime Falaize a ?crit : >>> > Hello, >>> > >>> > I want to ask you if it is a good practive to pool stateful sessions >>> > for a specific ruleset to improve the execution performance. >>> > Actually in my application I execute my rules by calling SOAP >>> > webservice. For performance purpose, I test multithreaded calls to my >>> > webservice and I noted that when I pool sessions in the server side, >>> > it improves the performance a lot. >>> > >>> > To pool sessions, I just declare multiple ksession tag in my >>> > kmodule.xml : >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > In my spring webservice endpoint I just put that code to handle the >>> > pool : >>> > >>> > @Endpoint >>> > public class ExampleEndpoint implements InitializingBean { >>> > >>> > @Autowired >>> > private ExampleRuleService ruleService; >>> > private Map isRunningMap = new >>> > HashMap(); >>> > private static final int NB_POOL_SESSIONS = 5; >>> > >>> > @PayloadRoot(localPart = "com.example.ExampleRequest") >>> > @ResponsePayload >>> > public ExampleResponse handleRequest( >>> > @RequestPayload ExampleRequest request) throws >>> > InterruptedException { >>> > KieServices ks = KieServices.Factory.get(); >>> > KieContainer kc = ks.getKieClasspathContainer(); >>> > while (true) { >>> > for (int i = 0; i < NB_POOL_SESSIONS; i++) { >>> > boolean run = false; >>> > >>> > synchronized (isRunningMap) { >>> > if (!isRunningMap.get(i)) { >>> > isRunningMap.put(i, true); >>> > run = true; >>> > } >>> > } >>> > >>> > if (run) { >>> > KieSession ksession = kc.newKieSession("KSession" >>> > + (i + 1)); >>> > ExampleResponse response = >>> > ruleService.run(ksession, request); >>> > ksession.dispose(); >>> > >>> > isRunningMap.put(i, false); >>> > return response; >>> > } >>> > } >>> > Thread.sleep(100); >>> > } >>> > } >>> > >>> > public void afterPropertiesSet() throws Exception { >>> > for (int i = 1; i <= NB_POOL_SESSIONS; i++) { >>> > isRunningMap.put((i - 1), false); >>> > } >>> > } >>> > >>> > } >>> > >>> > It works well because in my benchmark I improve 5 times the >>> > performance (as I have 5 different threads) but I wondered if it is a >>> > good practice and if it does not hide any issues that I could have in >>> > the future. >>> > >>> > Thanks for your help. >>> > >>> > -- >>> > Maxime FALAIZE >>> > _______________________________________________ >>> > rules-users mailing list >>> > rules-users at lists.jboss.org >>> > https://lists.jboss.org/mailman/listinfo/rules-users >>> >>> >>> Hi maxime, >>> >>> I do not remember if use drools 6 or drools 5. If you using drools 6. >>> Phreaks algorithm use multi threading according to use 'from >>> accummulate' far i understand here: >>> >>> http://planet.jboss.org/post/drools_6_performance_with_the_phreak_algorithm >>> >>> Instead to put a thread by ksession here rules evaluation are >>> multi-threaded. >>> >>> >>> _______________________________________________ >>> rules-users mailing list >>> rules-users at lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/rules-users >> >> >> >> >> -- >> Maxime FALAIZE >> > > > > -- > Maxime FALAIZE > > > _______________________________________________ > rules-users mailing listrules-users at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users > > > Ah yes. Maybe Mark Proktor could tell some information about this > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -- Maxime FALAIZE -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140414/918a33c5/attachment.html From michael.anstis at gmail.com Mon Apr 14 05:56:34 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Mon, 14 Apr 2014 10:56:34 +0100 Subject: [rules-users] how KnowledgeAgent to use guvnor cluster? In-Reply-To: <002801cf5788$8f719c70$ae54d550$@asiainfo-linkage.com> References: <002801cf5788$8f719c70$ae54d550$@asiainfo-linkage.com> Message-ID: Presumably your cluster is fronted by a load-balancer? I'd think (but not tried) you'd simply be able to configure KA to use your load-balancer's address? On 14 April 2014 03:23, ??? wrote: > Hello, every one: > > I am newbie for drools and guvnor, so excuse me if the question > is duplicated for others. > > I am use guvnor 5.5.0 final and set up two nodes guvnor cluster > successfully. But I don?t know how to configure the knowledge agent to use > the cluster for HA?(before the cluster set up a nginx for banlance?) > > > > Thx a lot > > > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140414/a6e04afd/attachment-0001.html From leonardlindenau at hotmail.com Mon Apr 14 06:31:29 2014 From: leonardlindenau at hotmail.com (Leonard93) Date: Mon, 14 Apr 2014 03:31:29 -0700 (PDT) Subject: [rules-users] Drools causes switch(enum e) to break? Message-ID: <1397471489169-4029233.post@n3.nabble.com> So I have a really weird problem and I think it could be relate-able to Drools, or maybe not but maybe some people here have seen it before. I have a simple enum called 'RuleTypes' which is defined in its own file. I have somewhere in my class a switch statement where I use the enum like this: (The method is not finished, but its enough to show the problem) public IResult EvaluateRule(Object obj, RuleType type) { //TODO switch(type) { case Discount : TripRequest lr = (TripRequest) obj; _Session.execute(lr); return lr.getResult(); case Content: break; case None: break; default: break; } return null; } But I get an error saying 'Cannot switch on a value of type RuleType. Only convertible int values or enum variables are permitted'. While RuleType an enum is 100% sure. Yet if I make a new project (with no drools libraries), make the same RuleType enum in its own file and have an empty class doing: public Test(RuleType type) { switch(type) { case Discount : break; case Content: break; case None: break; default: break; } } There are no compiler errors. Anyone know here what could possibly happen? The only thing I could find was a possible Eclipse bug but that one had a fix that does not work for me ( https://bugs.eclipse.org/bugs/show_bug.cgi?id=413368 ). -- View this message in context: http://drools.46999.n3.nabble.com/Drools-causes-switch-enum-e-to-break-tp4029233.html Sent from the Drools: User forum mailing list archive at Nabble.com. From wolfgang.laun at gmail.com Mon Apr 14 06:45:34 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Mon, 14 Apr 2014 12:45:34 +0200 Subject: [rules-users] Drools causes switch(enum e) to break? In-Reply-To: <1397471489169-4029233.post@n3.nabble.com> References: <1397471489169-4029233.post@n3.nabble.com> Message-ID: RuleType*s* or RuleType? Also, you are posting Java code. How is this related to Drools? Above all, post error messages in full, stating when and due to which command they are emitted. -W On 14/04/2014, Leonard93 wrote: > So I have a really weird problem and I think it could be relate-able to > Drools, or maybe not but maybe some people here have seen it before. > > I have a simple enum called 'RuleTypes' which is defined in its own file. > I have somewhere in my class a switch statement where I use the enum like > this: > > (The method is not finished, but its enough to show the problem) > > public IResult EvaluateRule(Object obj, RuleType type) > { > //TODO > switch(type) > { > case Discount : > TripRequest lr = (TripRequest) obj; > _Session.execute(lr); > return lr.getResult(); > case Content: > break; > case None: > break; > default: > break; > } > > return null; > } > > But I get an error saying 'Cannot switch on a value of type RuleType. Only > convertible int values or enum variables are permitted'. While RuleType an > enum is 100% sure. > > Yet if I make a new project (with no drools libraries), make the same > RuleType enum in its own file and have an empty class doing: > > public Test(RuleType type) > { > switch(type) > { > case Discount : > break; > case Content: > break; > case None: > break; > default: > break; > } > } > > There are no compiler errors. Anyone know here what could possibly happen? > The only thing I could find was a possible Eclipse bug but that one had a > fix that does not work for me ( > https://bugs.eclipse.org/bugs/show_bug.cgi?id=413368 ). > > > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Drools-causes-switch-enum-e-to-break-tp4029233.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > From leonardlindenau at hotmail.com Mon Apr 14 07:06:52 2014 From: leonardlindenau at hotmail.com (Leonard93) Date: Mon, 14 Apr 2014 04:06:52 -0700 (PDT) Subject: [rules-users] Drools causes switch(enum e) to break? In-Reply-To: References: <1397471489169-4029233.post@n3.nabble.com> Message-ID: <1397473612978-4029235.post@n3.nabble.com> The enum is called RuleType, sorry. I am posting this here because this error only happens within Drools projects, in normal java projects this error does not happen. The error is /"Cannot switch on a value of type RuleType. Only convertible int values or enum variables are permitted"/ no more, no less. It happens on the *switch(type)*. I don't really know how it can happen but maybe someone here could give some pointers. Once again, the same switch and enum in a bland java project gives no problems. -- View this message in context: http://drools.46999.n3.nabble.com/Drools-causes-switch-enum-e-to-break-tp4029233p4029235.html Sent from the Drools: User forum mailing list archive at Nabble.com. From wolfgang.laun at gmail.com Mon Apr 14 07:48:01 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Mon, 14 Apr 2014 13:48:01 +0200 Subject: [rules-users] Drools causes switch(enum e) to break? In-Reply-To: <1397473612978-4029235.post@n3.nabble.com> References: <1397471489169-4029233.post@n3.nabble.com> <1397473612978-4029235.post@n3.nabble.com> Message-ID: This would mean that setting a project as "Drools project" has an impact on the compilation of plain old Java code? That would be an evil bug in some Drools plugin. Posting all the details might interest the Drools developer group. -W On 14/04/2014, Leonard93 wrote: > The enum is called RuleType, sorry. I am posting this here because this > error > only happens within Drools projects, in normal java projects this error > does > not happen. > > The error is /"Cannot switch on a value of type RuleType. Only convertible > int values or enum variables are permitted"/ no more, no less. It happens > on > the *switch(type)*. I don't really know how it can happen but maybe > someone > here could give some pointers. > > Once again, the same switch and enum in a bland java project gives no > problems. > > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Drools-causes-switch-enum-e-to-break-tp4029233p4029235.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > From leonardlindenau at hotmail.com Mon Apr 14 07:56:30 2014 From: leonardlindenau at hotmail.com (Leonard93) Date: Mon, 14 Apr 2014 04:56:30 -0700 (PDT) Subject: [rules-users] Drools causes switch(enum e) to break? In-Reply-To: References: <1397471489169-4029233.post@n3.nabble.com> <1397473612978-4029235.post@n3.nabble.com> Message-ID: <1397476590713-4029237.post@n3.nabble.com> Well I don't know. It is just a guess that I made since it is the only lead I have on it so far. What I have tried so far: -The error happens in Eclipse Kepler and Juno when opening the same project. -A netbeans project with the drools binaries imported (opened the same project still) works fine with no errors. So maybe its something within eclipse? Since Netbeans works fine for me now together with Drools. -- View this message in context: http://drools.46999.n3.nabble.com/Drools-causes-switch-enum-e-to-break-tp4029233p4029237.html Sent from the Drools: User forum mailing list archive at Nabble.com. From ven.tadipatri at ll.mit.edu Mon Apr 14 08:21:20 2014 From: ven.tadipatri at ll.mit.edu (Ven Tadipatri) Date: Mon, 14 Apr 2014 08:21:20 -0400 Subject: [rules-users] Problems deploying war In-Reply-To: References: <5346E1FD.6030805@ll.mit.edu> Message-ID: <534BD2C0.7070805@ll.mit.edu> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140414/b0a34cde/attachment-0001.html From michael.anstis at gmail.com Mon Apr 14 08:31:56 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Mon, 14 Apr 2014 13:31:56 +0100 Subject: [rules-users] Problems deploying war In-Reply-To: <534BD2C0.7070805@ll.mit.edu> References: <5346E1FD.6030805@ll.mit.edu> <534BD2C0.7070805@ll.mit.edu> Message-ID: http://search.maven.org/#search%7Cga%7C1%7Ckie-tomcat-integration http://search.maven.org/#search%7Cga%7C1%7Cjavax.security.jacc-api On 14 April 2014 13:21, Ven Tadipatri wrote: > Hi Michael, > Thank you for the instructions. I wasn't able to find these > instructions anywhere, but I'll check the readme again. > Where can I get the jacc and kie-tomcat-integration jar files from? > > Thanks, > Ven > > > On 04/11/2014 10:49 AM, Michael Anstis wrote: > > Hi, > > There have been a few people with Tomcat deployment issues for > kie-drools-wb, so I thought I'd give it a try. > > These are the steps I followed for *successful* deployment (most of > which is already documented, but not obvious, in the WAR's README.txt > file):- > > *6.0.1* > > Starting with a clean install of Tomcat 7. > > 1. Copy "kie-tomcat-integration" JAR into TOMCAT_HOME/lib > (org.kie:kie-tomcat-integration) > 2. Copy "JACC" JAR into TOMCAT_HOME/lib(javax.security.jacc:artifactId=javax.security.jacc-api in JBoss Maven > Repository) > 3. Copy "slf4j-api" JAR into TOMCAT_HOME/lib(org.slf4j:artifactId=slf4j-api in JBoss Maven Repository) > 4. Add valve configuration into TOMCAT_HOME/conf/server.xml inside element as last valve definition: > > > > 5. Edit TOMCAT_HOME/conf/tomcat-users.xml to include roles and users, > make sure there will be 'analyst' or 'admin' roles defined as it's required > to be authorized to use kie-wb > 6. Delete org.uberfire.security.auth.AuthenticationSource inside > WEB-INF/classes/META-INF/services > 7. Rename > org.uberfire.security.auth.AuthenticationSource-TOMCAT-JEE-SECURITY to > org.uberfire.security.auth.AuthenticationSource inside > WEB-INF/classes/META-INF/services > 8. Increase Java's PermGen space by adding file TOMCAT_HOME/bin/setenv.sh > containing export JAVA_OPTS="-Xmx1024m -XX:MaxPermSize=256m" > 9. Start Tomcat with TOMCAT_HOME/bin/startup.sh > 10. Go to Management Console, http://localhost:8080/management > 11. Deploy modified WAR > > If you do not complete these steps the WAR works "out of the box" but > you'll need to define Users in WEB-INF/classes/login.config > > *6.1.0-SNAPSHOT* > > Starting with a clean install of Tomcat 7. > > 1. Copy "kie-tomcat-integration" JAR into TOMCAT_HOME/lib > (org.kie:kie-tomcat-integration) > 2. Copy "JACC" JAR into TOMCAT_HOME/lib > (javax.security.jacc:artifactId=javax.security.jacc-api in JBoss Maven > Repository) > 3. Copy "slf4j-api" JAR into TOMCAT_HOME/lib > (org.slf4j:artifactId=slf4j-api in JBoss Maven Repository) > 4. Add valve configuration into TOMCAT_HOME/conf/server.xml inside Host > element as last valve definition: > > > > 5. Edit TOMCAT_HOME/conf/tomcat-users.xml to include roles and users, > make sure there will be 'analyst' or 'admin' roles defined as it's required > to be authorized to use kie-wb > 6. Start Tomcat with TOMCAT_HOME/bin/startup.sh > 7. Go to Management Console, http://localhost:8080/management > 8. Deploy modified WAR > > With kind regards, > > Mike > > > > > On 10 April 2014 19:25, Ven Tadipatri wrote: > >> Hi, >> I'm trying to get set up with Drools and Guvnor. I've had some success >> building a test program with Drools, but when I saw that there's a webapp >> to manage and view rules, I was interested in getting that working as >> well. Unfortunately I haven't had much success with that. >> I downloaded the kie-drools-wb-distribution-6.0.1.Final.zip file from >> the JBoss drools website and dropped the >> binaries/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war >> into my Tomcat directory. Tomcat was just hanging for a while, then spit >> out a bunch of error messages: >> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >> startInternal >> INFO: Deploying web application archive >> /opt/tomcat/tomcat7/webapps/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war >> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >> startInternal >> SEVERE: Error listenerStart >> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >> startInternal >> SEVERE: Context [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] >> startup failed due to previous errors >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> clearReferencesThreads >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >> started a thread named [pool-4-thread-1] but has failed to stop it. This is >> very likely to create a memory leak. >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> clearReferencesThreads >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >> started a thread named [Thread-3] but has failed to stop it. This is very >> likely to create a memory leak. >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> clearReferencesThreads >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >> started a thread named [pool-7-thread-1] but has failed to stop it. This is >> very likely to create a memory leak. >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> clearReferencesThreads >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >> started a thread named [Git-Daemon-Accept] but has failed to stop it. This >> is very likely to create a memory leak. >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> checkThreadLocalMapForLeaks >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >> ThreadLocal with key of type [org.jboss.errai.config.util.ClassScanner$1] >> (value [org.jboss.errai.config.util.ClassScanner$1 at 1b3870a5]) and a >> value of type [java.lang.Boolean] (value [true]) but failed to remove it >> when the web application was stopped. Threads are going to be renewed over >> time to try and avoid a probable memory leak. >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> checkThreadLocalMapForLeaks >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >> ThreadLocal with key of type >> [org.jboss.solder.servlet.beanManager.ServletContextAttributeProvider$1] >> (value >> [org.jboss.solder.servlet.beanManager.ServletContextAttributeProvider$1 at 166b6e99]) >> and a value of type [org.apache.catalina.core.ApplicationContextFacade] >> (value [org.apache.catalina.core.ApplicationContextFacade at 672a0a4e]) but >> failed to remove it when the web application was stopped. Threads are going >> to be renewed over time to try and avoid a probable memory leak. >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> checkThreadLocalMapForLeaks >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >> ThreadLocal with key of type [org.eclipse.jgit.nls.NLS$1] (value >> [org.eclipse.jgit.nls.NLS$1 at 790abbcb]) and a value of type >> [org.eclipse.jgit.nls.NLS] (value [org.eclipse.jgit.nls.NLS at 2faf4a82]) >> but failed to remove it when the web application was stopped. Threads are >> going to be renewed over time to try and avoid a probable memory leak. >> >> Next I tried building the workbench from source: >> https://github.com/droolsjbpm/drools-wb/archive/6.0.1.Final.zip >> The maven build worked, and I dropped the tomcat war into the tomcat >> directory (removing any existing webapps and wars). Starting Tomcat now >> produced these errors: >> >> INFO: Deploying web application archive >> /opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0.war >> 2014-04-10 13:46:31,975 [localhost-startStop-1] >> >> ERROR Failed to setup Repository 'uf-playground' >> java.lang.RuntimeException: >> https://github.com/guvnorngtestuser1/guvnorng-playground.git: cannot >> open git-upload-pack >> >> What is the webapp trying to do with Git? Do I need to point it at some >> git repo? >> >> I tried the jboss instructions here: >> >> http://blog.athico.com/2013/05/how-to-build-and-run-drools-and-guvnor.html >> >> But that didn't work either, with Jboss just hanging as well. Any clues >> on what might be going wrong? >> >> Thanks, >> Ven >> >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140414/a3b88e82/attachment.html From ven.tadipatri at ll.mit.edu Mon Apr 14 08:53:21 2014 From: ven.tadipatri at ll.mit.edu (Ven Tadipatri) Date: Mon, 14 Apr 2014 08:53:21 -0400 Subject: [rules-users] Problems deploying war In-Reply-To: References: <5346E1FD.6030805@ll.mit.edu> Message-ID: <534BDA41.5040704@ll.mit.edu> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140414/689236b3/attachment-0001.html From michael.anstis at gmail.com Mon Apr 14 08:57:11 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Mon, 14 Apr 2014 13:57:11 +0100 Subject: [rules-users] Problems deploying war In-Reply-To: <534BDA41.5040704@ll.mit.edu> References: <5346E1FD.6030805@ll.mit.edu> <534BDA41.5040704@ll.mit.edu> Message-ID: If apply the additional configuration you are telling Tomcat to use Users defined in /conf/tomcat-users.xml I modified the WAR by unzipping it, modifying the relevant files and then zipping it back into a WAR before deploying. On 14 April 2014 13:53, Ven Tadipatri wrote: > Hi Michael, > Unfortunately I can't seem to get the 6.0.1 version up and running. I > followed the steps below, finding the 3 jars listed below online. > But still, Tomcat just hangs for a bit, then throws a bunch of severe > warnings. There don't seem to be any log messages describing the problem. > Also, I'm a bit confused by the directions - how can we modify the WEB-INF > directory before the war is deployed? And how do we define users > in the login.config file? > > > Thanks, > Ven > > On 04/11/2014 10:49 AM, Michael Anstis wrote: > > Hi, > > There have been a few people with Tomcat deployment issues for > kie-drools-wb, so I thought I'd give it a try. > > These are the steps I followed for *successful* deployment (most of > which is already documented, but not obvious, in the WAR's README.txt > file):- > > *6.0.1* > > Starting with a clean install of Tomcat 7. > > 1. Copy "kie-tomcat-integration" JAR into TOMCAT_HOME/lib > (org.kie:kie-tomcat-integration) > 2. Copy "JACC" JAR into TOMCAT_HOME/lib(javax.security.jacc:artifactId=javax.security.jacc-api in JBoss Maven > Repository) > 3. Copy "slf4j-api" JAR into TOMCAT_HOME/lib(org.slf4j:artifactId=slf4j-api in JBoss Maven Repository) > 4. Add valve configuration into TOMCAT_HOME/conf/server.xml inside element as last valve definition: > > > > 5. Edit TOMCAT_HOME/conf/tomcat-users.xml to include roles and users, > make sure there will be 'analyst' or 'admin' roles defined as it's required > to be authorized to use kie-wb > 6. Delete org.uberfire.security.auth.AuthenticationSource inside > WEB-INF/classes/META-INF/services > 7. Rename > org.uberfire.security.auth.AuthenticationSource-TOMCAT-JEE-SECURITY to > org.uberfire.security.auth.AuthenticationSource inside > WEB-INF/classes/META-INF/services > 8. Increase Java's PermGen space by adding file TOMCAT_HOME/bin/setenv.sh > containing export JAVA_OPTS="-Xmx1024m -XX:MaxPermSize=256m" > 9. Start Tomcat with TOMCAT_HOME/bin/startup.sh > 10. Go to Management Console, http://localhost:8080/management > 11. Deploy modified WAR > > If you do not complete these steps the WAR works "out of the box" but > you'll need to define Users in WEB-INF/classes/login.config > > *6.1.0-SNAPSHOT* > > Starting with a clean install of Tomcat 7. > > 1. Copy "kie-tomcat-integration" JAR into TOMCAT_HOME/lib > (org.kie:kie-tomcat-integration) > 2. Copy "JACC" JAR into TOMCAT_HOME/lib > (javax.security.jacc:artifactId=javax.security.jacc-api in JBoss Maven > Repository) > 3. Copy "slf4j-api" JAR into TOMCAT_HOME/lib > (org.slf4j:artifactId=slf4j-api in JBoss Maven Repository) > 4. Add valve configuration into TOMCAT_HOME/conf/server.xml inside Host > element as last valve definition: > > > > 5. Edit TOMCAT_HOME/conf/tomcat-users.xml to include roles and users, > make sure there will be 'analyst' or 'admin' roles defined as it's required > to be authorized to use kie-wb > 6. Start Tomcat with TOMCAT_HOME/bin/startup.sh > 7. Go to Management Console, http://localhost:8080/management > 8. Deploy modified WAR > > With kind regards, > > Mike > > > > > On 10 April 2014 19:25, Ven Tadipatri wrote: > >> Hi, >> I'm trying to get set up with Drools and Guvnor. I've had some success >> building a test program with Drools, but when I saw that there's a webapp >> to manage and view rules, I was interested in getting that working as >> well. Unfortunately I haven't had much success with that. >> I downloaded the kie-drools-wb-distribution-6.0.1.Final.zip file from >> the JBoss drools website and dropped the >> binaries/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war >> into my Tomcat directory. Tomcat was just hanging for a while, then spit >> out a bunch of error messages: >> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >> startInternal >> INFO: Deploying web application archive >> /opt/tomcat/tomcat7/webapps/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war >> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >> startInternal >> SEVERE: Error listenerStart >> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >> startInternal >> SEVERE: Context [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] >> startup failed due to previous errors >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> clearReferencesThreads >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >> started a thread named [pool-4-thread-1] but has failed to stop it. This is >> very likely to create a memory leak. >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> clearReferencesThreads >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >> started a thread named [Thread-3] but has failed to stop it. This is very >> likely to create a memory leak. >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> clearReferencesThreads >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >> started a thread named [pool-7-thread-1] but has failed to stop it. This is >> very likely to create a memory leak. >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> clearReferencesThreads >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >> started a thread named [Git-Daemon-Accept] but has failed to stop it. This >> is very likely to create a memory leak. >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> checkThreadLocalMapForLeaks >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >> ThreadLocal with key of type [org.jboss.errai.config.util.ClassScanner$1] >> (value [org.jboss.errai.config.util.ClassScanner$1 at 1b3870a5]) and a >> value of type [java.lang.Boolean] (value [true]) but failed to remove it >> when the web application was stopped. Threads are going to be renewed over >> time to try and avoid a probable memory leak. >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> checkThreadLocalMapForLeaks >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >> ThreadLocal with key of type >> [org.jboss.solder.servlet.beanManager.ServletContextAttributeProvider$1] >> (value >> [org.jboss.solder.servlet.beanManager.ServletContextAttributeProvider$1 at 166b6e99]) >> and a value of type [org.apache.catalina.core.ApplicationContextFacade] >> (value [org.apache.catalina.core.ApplicationContextFacade at 672a0a4e]) but >> failed to remove it when the web application was stopped. Threads are going >> to be renewed over time to try and avoid a probable memory leak. >> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >> checkThreadLocalMapForLeaks >> SEVERE: The web application >> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >> ThreadLocal with key of type [org.eclipse.jgit.nls.NLS$1] (value >> [org.eclipse.jgit.nls.NLS$1 at 790abbcb]) and a value of type >> [org.eclipse.jgit.nls.NLS] (value [org.eclipse.jgit.nls.NLS at 2faf4a82]) >> but failed to remove it when the web application was stopped. Threads are >> going to be renewed over time to try and avoid a probable memory leak. >> >> Next I tried building the workbench from source: >> https://github.com/droolsjbpm/drools-wb/archive/6.0.1.Final.zip >> The maven build worked, and I dropped the tomcat war into the tomcat >> directory (removing any existing webapps and wars). Starting Tomcat now >> produced these errors: >> >> INFO: Deploying web application archive >> /opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0.war >> 2014-04-10 13:46:31,975 [localhost-startStop-1] >> >> ERROR Failed to setup Repository 'uf-playground' >> java.lang.RuntimeException: >> https://github.com/guvnorngtestuser1/guvnorng-playground.git: cannot >> open git-upload-pack >> >> What is the webapp trying to do with Git? Do I need to point it at some >> git repo? >> >> I tried the jboss instructions here: >> >> http://blog.athico.com/2013/05/how-to-build-and-run-drools-and-guvnor.html >> >> But that didn't work either, with Jboss just hanging as well. Any clues >> on what might be going wrong? >> >> Thanks, >> Ven >> >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140414/e221f903/attachment.html From ven.tadipatri at ll.mit.edu Mon Apr 14 09:14:30 2014 From: ven.tadipatri at ll.mit.edu (Ven Tadipatri) Date: Mon, 14 Apr 2014 09:14:30 -0400 Subject: [rules-users] Problems deploying war In-Reply-To: References: <5346E1FD.6030805@ll.mit.edu> <534BDA41.5040704@ll.mit.edu> Message-ID: <534BDF36.1030508@ll.mit.edu> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140414/cd63fcde/attachment-0001.html From michael.anstis at gmail.com Mon Apr 14 09:17:58 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Mon, 14 Apr 2014 14:17:58 +0100 Subject: [rules-users] Problems deploying war In-Reply-To: <534BDF36.1030508@ll.mit.edu> References: <5346E1FD.6030805@ll.mit.edu> <534BDA41.5040704@ll.mit.edu> <534BDF36.1030508@ll.mit.edu> Message-ID: You're almost there by the look of it!!! I replied to your other questions about why the workbench is trying to access git.. you can disable this and then you shouldn't get the error you paste (I assume you can't access github.com from where you're trying to deploy). The JBoss AS7 WAR works "out of the box".. no need to configure anything extra, or download any WARs :) I would encourage you to delete .niogit folder in /bin when trying to deploy (if you had errors before). .niogit is where the workbench stores it's configuration and any downloaded git repositories. On 14 April 2014 14:14, Ven Tadipatri wrote: > I'm not quite sure why it's so challenging to get the war deployed with > Tomcat. Is it easier to deploy the war with Jboss? > These are the exceptions I'm getting, even after adding > "-Dorg.kie.demo=false" to the CATALINA_OPTS in catalina.sh > I want to disable the access to remote git repos. > > INFO: Deploying web application archive > /opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0.war > 2014-04-14 09:04:23,985 [localhost-startStop-1] INFO Found kmodule: > jar:file:/opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar!/META-INF/kmodule.xml > 2014-04-14 09:04:24,036 [localhost-startStop-1] INFO KieModule was > added:ZipKieModule[ > ReleaseId=org.drools:drools-wb-rest-defaultapprover:6.0.1.Finalfile=/opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar] > 2014-04-14 09:04:24,036 [localhost-startStop-1] INFO Found kmodule: > jar:file:/opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar!/META-INF/kmodule.xml > 2014-04-14 09:04:24,039 [localhost-startStop-1] INFO KieModule was > added:ZipKieModule[ > ReleaseId=org.drools:drools-wb-rest-defaultapprover:6.0.1.Finalfile=/opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar] > 2014-04-14 09:07:36,460 [localhost-startStop-1] ERROR Failed to setup > Repository 'uf-playground' > > java.lang.RuntimeException: > https://github.com/guvnorngtestuser1/guvnorng-playground.git: cannot open > git-upload-pack > at > org.uberfire.backend.server.repositories.git.GitRepositoryFactoryHelper.newRepository(GitRepositoryFactoryHelper.java:80) > ~[uberfire-backend-server-0.3.1.Final.jar:0.3.1.Final] > at > org.uberfire.backend.server.repositories.git.GitRepositoryFactoryHelper$Proxy$_$$_WeldClientProxy.newRepository(GitRepositoryFactoryHelper$Proxy$_$$_WeldClientProxy.java) > ~[uberfire-backend-server-0.3.1.Final.jar:0.3.1.Final] > > > Thanks, > Ven > > > On 04/14/2014 08:57 AM, Michael Anstis wrote: > > If apply the additional configuration you are telling Tomcat to use Users > defined in /conf/tomcat-users.xml > > I modified the WAR by unzipping it, modifying the relevant files and > then zipping it back into a WAR before deploying. > > > On 14 April 2014 13:53, Ven Tadipatri wrote: > >> Hi Michael, >> Unfortunately I can't seem to get the 6.0.1 version up and running. I >> followed the steps below, finding the 3 jars listed below online. >> But still, Tomcat just hangs for a bit, then throws a bunch of severe >> warnings. There don't seem to be any log messages describing the problem. >> Also, I'm a bit confused by the directions - how can we modify the >> WEB-INF directory before the war is deployed? And how do we define users >> in the login.config file? >> >> >> Thanks, >> Ven >> >> On 04/11/2014 10:49 AM, Michael Anstis wrote: >> >> Hi, >> >> There have been a few people with Tomcat deployment issues for >> kie-drools-wb, so I thought I'd give it a try. >> >> These are the steps I followed for *successful* deployment (most of >> which is already documented, but not obvious, in the WAR's README.txt >> file):- >> >> *6.0.1* >> >> Starting with a clean install of Tomcat 7. >> >> 1. Copy "kie-tomcat-integration" JAR into TOMCAT_HOME/lib >> (org.kie:kie-tomcat-integration) >> 2. Copy "JACC" JAR into TOMCAT_HOME/lib(javax.security.jacc:artifactId=javax.security.jacc-api in JBoss Maven >> Repository) >> 3. Copy "slf4j-api" JAR into TOMCAT_HOME/lib(org.slf4j:artifactId=slf4j-api in JBoss Maven Repository) >> 4. Add valve configuration into TOMCAT_HOME/conf/server.xml inside element as last valve definition: >> >> >> >> 5. Edit TOMCAT_HOME/conf/tomcat-users.xml to include roles and users, >> make sure there will be 'analyst' or 'admin' roles defined as it's required >> to be authorized to use kie-wb >> 6. Delete org.uberfire.security.auth.AuthenticationSource inside >> WEB-INF/classes/META-INF/services >> 7. Rename >> org.uberfire.security.auth.AuthenticationSource-TOMCAT-JEE-SECURITY to >> org.uberfire.security.auth.AuthenticationSource inside >> WEB-INF/classes/META-INF/services >> 8. Increase Java's PermGen space by adding file TOMCAT_HOME/bin/setenv.sh >> containing export JAVA_OPTS="-Xmx1024m -XX:MaxPermSize=256m" >> 9. Start Tomcat with TOMCAT_HOME/bin/startup.sh >> 10. Go to Management Console, http://localhost:8080/management >> 11. Deploy modified WAR >> >> If you do not complete these steps the WAR works "out of the box" but >> you'll need to define Users in WEB-INF/classes/login.config >> >> *6.1.0-SNAPSHOT* >> >> Starting with a clean install of Tomcat 7. >> >> 1. Copy "kie-tomcat-integration" JAR into TOMCAT_HOME/lib >> (org.kie:kie-tomcat-integration) >> 2. Copy "JACC" JAR into TOMCAT_HOME/lib >> (javax.security.jacc:artifactId=javax.security.jacc-api in JBoss Maven >> Repository) >> 3. Copy "slf4j-api" JAR into TOMCAT_HOME/lib >> (org.slf4j:artifactId=slf4j-api in JBoss Maven Repository) >> 4. Add valve configuration into TOMCAT_HOME/conf/server.xml inside Host >> element as last valve definition: >> >> >> >> 5. Edit TOMCAT_HOME/conf/tomcat-users.xml to include roles and users, >> make sure there will be 'analyst' or 'admin' roles defined as it's required >> to be authorized to use kie-wb >> 6. Start Tomcat with TOMCAT_HOME/bin/startup.sh >> 7. Go to Management Console, http://localhost:8080/management >> 8. Deploy modified WAR >> >> With kind regards, >> >> Mike >> >> >> >> >> On 10 April 2014 19:25, Ven Tadipatri wrote: >> >>> Hi, >>> I'm trying to get set up with Drools and Guvnor. I've had some >>> success building a test program with Drools, but when I saw that there's a >>> webapp >>> to manage and view rules, I was interested in getting that working as >>> well. Unfortunately I haven't had much success with that. >>> I downloaded the kie-drools-wb-distribution-6.0.1.Final.zip file from >>> the JBoss drools website and dropped the >>> binaries/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war >>> into my Tomcat directory. Tomcat was just hanging for a while, then >>> spit out a bunch of error messages: >>> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >>> startInternal >>> INFO: Deploying web application archive >>> /opt/tomcat/tomcat7/webapps/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war >>> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >>> startInternal >>> SEVERE: Error listenerStart >>> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >>> startInternal >>> SEVERE: Context >>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] startup failed due >>> to previous errors >>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>> clearReferencesThreads >>> SEVERE: The web application >>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >>> started a thread named [pool-4-thread-1] but has failed to stop it. This is >>> very likely to create a memory leak. >>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>> clearReferencesThreads >>> SEVERE: The web application >>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >>> started a thread named [Thread-3] but has failed to stop it. This is very >>> likely to create a memory leak. >>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>> clearReferencesThreads >>> SEVERE: The web application >>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >>> started a thread named [pool-7-thread-1] but has failed to stop it. This is >>> very likely to create a memory leak. >>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>> clearReferencesThreads >>> SEVERE: The web application >>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >>> started a thread named [Git-Daemon-Accept] but has failed to stop it. This >>> is very likely to create a memory leak. >>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>> checkThreadLocalMapForLeaks >>> SEVERE: The web application >>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >>> ThreadLocal with key of type [org.jboss.errai.config.util.ClassScanner$1] >>> (value [org.jboss.errai.config.util.ClassScanner$1 at 1b3870a5]) and a >>> value of type [java.lang.Boolean] (value [true]) but failed to remove it >>> when the web application was stopped. Threads are going to be renewed over >>> time to try and avoid a probable memory leak. >>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>> checkThreadLocalMapForLeaks >>> SEVERE: The web application >>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >>> ThreadLocal with key of type >>> [org.jboss.solder.servlet.beanManager.ServletContextAttributeProvider$1] >>> (value >>> [org.jboss.solder.servlet.beanManager.ServletContextAttributeProvider$1 at 166b6e99]) >>> and a value of type [org.apache.catalina.core.ApplicationContextFacade] >>> (value [org.apache.catalina.core.ApplicationContextFacade at 672a0a4e]) >>> but failed to remove it when the web application was stopped. Threads are >>> going to be renewed over time to try and avoid a probable memory leak. >>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>> checkThreadLocalMapForLeaks >>> SEVERE: The web application >>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >>> ThreadLocal with key of type [org.eclipse.jgit.nls.NLS$1] (value >>> [org.eclipse.jgit.nls.NLS$1 at 790abbcb]) and a value of type >>> [org.eclipse.jgit.nls.NLS] (value [org.eclipse.jgit.nls.NLS at 2faf4a82]) >>> but failed to remove it when the web application was stopped. Threads are >>> going to be renewed over time to try and avoid a probable memory leak. >>> >>> Next I tried building the workbench from source: >>> https://github.com/droolsjbpm/drools-wb/archive/6.0.1.Final.zip >>> The maven build worked, and I dropped the tomcat war into the tomcat >>> directory (removing any existing webapps and wars). Starting Tomcat now >>> produced these errors: >>> >>> INFO: Deploying web application archive >>> /opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0.war >>> 2014-04-10 13:46:31,975 [localhost-startStop-1] >>> >>> ERROR Failed to setup Repository 'uf-playground' >>> java.lang.RuntimeException: >>> https://github.com/guvnorngtestuser1/guvnorng-playground.git: cannot >>> open git-upload-pack >>> >>> What is the webapp trying to do with Git? Do I need to point it at some >>> git repo? >>> >>> I tried the jboss instructions here: >>> >>> >>> http://blog.athico.com/2013/05/how-to-build-and-run-drools-and-guvnor.html >>> >>> But that didn't work either, with Jboss just hanging as well. Any clues >>> on what might be going wrong? >>> >>> Thanks, >>> Ven >>> >>> _______________________________________________ >>> rules-users mailing list >>> rules-users at lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/rules-users >>> >> >> >> >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> > > > > _______________________________________________ > rules-users mailing listrules-users at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140414/312bc44c/attachment-0001.html From ven.tadipatri at ll.mit.edu Mon Apr 14 09:36:27 2014 From: ven.tadipatri at ll.mit.edu (Ven Tadipatri) Date: Mon, 14 Apr 2014 09:36:27 -0400 Subject: [rules-users] Problems deploying war In-Reply-To: References: <5346E1FD.6030805@ll.mit.edu> <534BDA41.5040704@ll.mit.edu> <534BDF36.1030508@ll.mit.edu> Message-ID: <534BE45B.5040100@ll.mit.edu> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140414/008f259f/attachment-0001.html From Cwen at regenstrief.org Mon Apr 14 11:15:56 2014 From: Cwen at regenstrief.org (Cwen) Date: Mon, 14 Apr 2014 08:15:56 -0700 (PDT) Subject: [rules-users] KnowledgeAgentImpl registeredResourceMap memory issue In-Reply-To: <1397356785354-4029226.post@n3.nabble.com> References: <1397274202805-4029216.post@n3.nabble.com> <1397274326535-4029217.post@n3.nabble.com> <5348B7B7.4040309@gmail.com> <1397305836953-4029223.post@n3.nabble.com> <53499B46.6060505@gmail.com> <1397356785354-4029226.post@n3.nabble.com> Message-ID: <1397488556958-4029246.post@n3.nabble.com> Hi Davide, Here are some of the errors I am getting after upgrade to 5.6.0.final. Looks like we are extending class of BaseEvaluator. Any quick way to work around it? Thank you! -- View this message in context: http://drools.46999.n3.nabble.com/KnowledgeAgentImpl-registeredResourceMap-memory-issue-tp4029216p4029246.html Sent from the Drools: User forum mailing list archive at Nabble.com. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140414/c2dd8c0b/attachment.html From Cwen at regenstrief.org Mon Apr 14 11:29:33 2014 From: Cwen at regenstrief.org (Cwen) Date: Mon, 14 Apr 2014 08:29:33 -0700 (PDT) Subject: [rules-users] KnowledgeAgentImpl registeredResourceMap memory issue In-Reply-To: <1397488556958-4029246.post@n3.nabble.com> References: <1397274202805-4029216.post@n3.nabble.com> <1397274326535-4029217.post@n3.nabble.com> <5348B7B7.4040309@gmail.com> <1397305836953-4029223.post@n3.nabble.com> <53499B46.6060505@gmail.com> <1397356785354-4029226.post@n3.nabble.com> <1397488556958-4029246.post@n3.nabble.com> Message-ID: <1397489373133-4029247.post@n3.nabble.com> Davide, please ignore my last post. I looked into the code more and it's the interface changes Evaluator cause the errors. evaluate() methods now have InternalFactHandle as an argument instead of Object. Let me work on those and I will update with you if I see more problems. Thanks. -- View this message in context: http://drools.46999.n3.nabble.com/KnowledgeAgentImpl-registeredResourceMap-memory-issue-tp4029216p4029247.html Sent from the Drools: User forum mailing list archive at Nabble.com. From dsotty at gmail.com Mon Apr 14 11:32:15 2014 From: dsotty at gmail.com (Davide Sottara) Date: Mon, 14 Apr 2014 08:32:15 -0700 Subject: [rules-users] KnowledgeAgentImpl registeredResourceMap memory issue In-Reply-To: <1397489373133-4029247.post@n3.nabble.com> References: <1397274202805-4029216.post@n3.nabble.com> <1397274326535-4029217.post@n3.nabble.com> <5348B7B7.4040309@gmail.com> <1397305836953-4029223.post@n3.nabble.com> <53499B46.6060505@gmail.com> <1397356785354-4029226.post@n3.nabble.com> <1397488556958-4029246.post@n3.nabble.com> <1397489373133-4029247.post@n3.nabble.com> Message-ID: <534BFF7F.6030207@gmail.com> Ok, perfect. That internal "interface" was indeed changed. Please note that there is a potential problem with the implementation of the custom evaluators in 5.6. It has been fixed in 6.x, but it should probably be backported. Let me know if you have problems. Davide On 04/14/2014 08:29 AM, Cwen wrote: > Davide, please ignore my last post. I looked into the code more and it's the > interface changes Evaluator cause the errors. evaluate() methods now have > InternalFactHandle as an argument instead of Object. Let me work on those > and I will update with you if I see more problems. Thanks. > > > > -- > View this message in context: http://drools.46999.n3.nabble.com/KnowledgeAgentImpl-registeredResourceMap-memory-issue-tp4029216p4029247.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > From michael.anstis at gmail.com Mon Apr 14 11:50:15 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Mon, 14 Apr 2014 16:50:15 +0100 Subject: [rules-users] Problems deploying war In-Reply-To: <534BE45B.5040100@ll.mit.edu> References: <5346E1FD.6030805@ll.mit.edu> <534BDA41.5040704@ll.mit.edu> <534BDF36.1030508@ll.mit.edu> <534BE45B.5040100@ll.mit.edu> Message-ID: You'll need to add the additional libraries to /lib and configure Catalina with the additional "Valve", as described in previous emails. These configure Tomcat to use the tomcat-users.xml file. On 14 April 2014 14:36, Ven Tadipatri wrote: > You're right - I'm getting closer :) > Now, the > http://localhost:8080/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0/url comes up, but when I try to log in with the user and password in my > tomcat-users.xml file, it doesn't log me in. > > I was able to bring up the main page both with the binary distribution > (which came up with a KIE IDE logo) and the one I built with maven from > sources > (which came up with a UF logo). The login page looked identical except for > the logo. > > This is what my tomcat-users.xml file looks like: > > > > > > (The password has been starred out in this e-mail) > The only change I made to the war was > mv org.uberfire.security.auth.AuthenticationSource-TOMCAT-JEE-SECURITY > org.uberfire.security.auth.AuthenticationSource > > Is there something I have to do with the login.config or realm.properties? > > Thanks, > Ven > > > On 04/14/2014 09:17 AM, Michael Anstis wrote: > > You're almost there by the look of it!!! > > I replied to your other questions about why the workbench is trying to > access git.. you can disable this and then you shouldn't get the error you > paste (I assume you can't access github.com from where you're trying to > deploy). > > The JBoss AS7 WAR works "out of the box".. no need to configure anything > extra, or download any WARs :) > > I would encourage you to delete .niogit folder in /bin when trying to > deploy (if you had errors before). > > .niogit is where the workbench stores it's configuration and any > downloaded git repositories. > > > On 14 April 2014 14:14, Ven Tadipatri wrote: > >> I'm not quite sure why it's so challenging to get the war deployed with >> Tomcat. Is it easier to deploy the war with Jboss? >> These are the exceptions I'm getting, even after adding >> "-Dorg.kie.demo=false" to the CATALINA_OPTS in catalina.sh >> I want to disable the access to remote git repos. >> >> INFO: Deploying web application archive >> /opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0.war >> 2014-04-14 09:04:23,985 [localhost-startStop-1] INFO Found kmodule: >> jar:file:/opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar!/META-INF/kmodule.xml >> 2014-04-14 09:04:24,036 [localhost-startStop-1] INFO KieModule was >> added:ZipKieModule[ >> ReleaseId=org.drools:drools-wb-rest-defaultapprover:6.0.1.Finalfile=/opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar] >> 2014-04-14 09:04:24,036 [localhost-startStop-1] INFO Found kmodule: >> jar:file:/opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar!/META-INF/kmodule.xml >> 2014-04-14 09:04:24,039 [localhost-startStop-1] INFO KieModule was >> added:ZipKieModule[ >> ReleaseId=org.drools:drools-wb-rest-defaultapprover:6.0.1.Finalfile=/opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar] >> 2014-04-14 09:07:36,460 [localhost-startStop-1] ERROR Failed to setup >> Repository 'uf-playground' >> >> java.lang.RuntimeException: >> https://github.com/guvnorngtestuser1/guvnorng-playground.git: cannot >> open git-upload-pack >> at >> org.uberfire.backend.server.repositories.git.GitRepositoryFactoryHelper.newRepository(GitRepositoryFactoryHelper.java:80) >> ~[uberfire-backend-server-0.3.1.Final.jar:0.3.1.Final] >> at >> org.uberfire.backend.server.repositories.git.GitRepositoryFactoryHelper$Proxy$_$$_WeldClientProxy.newRepository(GitRepositoryFactoryHelper$Proxy$_$$_WeldClientProxy.java) >> ~[uberfire-backend-server-0.3.1.Final.jar:0.3.1.Final] >> >> >> Thanks, >> Ven >> >> >> On 04/14/2014 08:57 AM, Michael Anstis wrote: >> >> If apply the additional configuration you are telling Tomcat to use Users >> defined in /conf/tomcat-users.xml >> >> I modified the WAR by unzipping it, modifying the relevant files and >> then zipping it back into a WAR before deploying. >> >> >> On 14 April 2014 13:53, Ven Tadipatri wrote: >> >>> Hi Michael, >>> Unfortunately I can't seem to get the 6.0.1 version up and running. I >>> followed the steps below, finding the 3 jars listed below online. >>> But still, Tomcat just hangs for a bit, then throws a bunch of severe >>> warnings. There don't seem to be any log messages describing the problem. >>> Also, I'm a bit confused by the directions - how can we modify the >>> WEB-INF directory before the war is deployed? And how do we define users >>> in the login.config file? >>> >>> >>> Thanks, >>> Ven >>> >>> On 04/11/2014 10:49 AM, Michael Anstis wrote: >>> >>> Hi, >>> >>> There have been a few people with Tomcat deployment issues for >>> kie-drools-wb, so I thought I'd give it a try. >>> >>> These are the steps I followed for *successful* deployment (most of >>> which is already documented, but not obvious, in the WAR's README.txt >>> file):- >>> >>> *6.0.1* >>> >>> Starting with a clean install of Tomcat 7. >>> >>> 1. Copy "kie-tomcat-integration" JAR into TOMCAT_HOME/lib >>> (org.kie:kie-tomcat-integration) >>> 2. Copy "JACC" JAR into TOMCAT_HOME/lib(javax.security.jacc:artifactId=javax.security.jacc-api in JBoss Maven >>> Repository) >>> 3. Copy "slf4j-api" JAR into TOMCAT_HOME/lib(org.slf4j:artifactId=slf4j-api in JBoss Maven Repository) >>> 4. Add valve configuration into TOMCAT_HOME/conf/server.xml inside >>> element as last valve definition: >>> >>> >>> >>> 5. Edit TOMCAT_HOME/conf/tomcat-users.xml to include roles and users, >>> make sure there will be 'analyst' or 'admin' roles defined as it's required >>> to be authorized to use kie-wb >>> 6. Delete org.uberfire.security.auth.AuthenticationSource inside >>> WEB-INF/classes/META-INF/services >>> 7. Rename >>> org.uberfire.security.auth.AuthenticationSource-TOMCAT-JEE-SECURITY to >>> org.uberfire.security.auth.AuthenticationSource inside >>> WEB-INF/classes/META-INF/services >>> 8. Increase Java's PermGen space by adding file TOMCAT_HOME/bin/ >>> setenv.sh containing export JAVA_OPTS="-Xmx1024m -XX:MaxPermSize=256m" >>> 9. Start Tomcat with TOMCAT_HOME/bin/startup.sh >>> 10. Go to Management Console, http://localhost:8080/management >>> 11. Deploy modified WAR >>> >>> If you do not complete these steps the WAR works "out of the box" but >>> you'll need to define Users in WEB-INF/classes/login.config >>> >>> *6.1.0-SNAPSHOT* >>> >>> Starting with a clean install of Tomcat 7. >>> >>> 1. Copy "kie-tomcat-integration" JAR into TOMCAT_HOME/lib >>> (org.kie:kie-tomcat-integration) >>> 2. Copy "JACC" JAR into TOMCAT_HOME/lib >>> (javax.security.jacc:artifactId=javax.security.jacc-api in JBoss Maven >>> Repository) >>> 3. Copy "slf4j-api" JAR into TOMCAT_HOME/lib >>> (org.slf4j:artifactId=slf4j-api in JBoss Maven Repository) >>> 4. Add valve configuration into TOMCAT_HOME/conf/server.xml inside Host >>> element as last valve definition: >>> >>> >>> >>> 5. Edit TOMCAT_HOME/conf/tomcat-users.xml to include roles and users, >>> make sure there will be 'analyst' or 'admin' roles defined as it's required >>> to be authorized to use kie-wb >>> 6. Start Tomcat with TOMCAT_HOME/bin/startup.sh >>> 7. Go to Management Console, http://localhost:8080/management >>> 8. Deploy modified WAR >>> >>> With kind regards, >>> >>> Mike >>> >>> >>> >>> >>> On 10 April 2014 19:25, Ven Tadipatri wrote: >>> >>>> Hi, >>>> I'm trying to get set up with Drools and Guvnor. I've had some >>>> success building a test program with Drools, but when I saw that there's a >>>> webapp >>>> to manage and view rules, I was interested in getting that working as >>>> well. Unfortunately I haven't had much success with that. >>>> I downloaded the kie-drools-wb-distribution-6.0.1.Final.zip file from >>>> the JBoss drools website and dropped the >>>> binaries/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war >>>> into my Tomcat directory. Tomcat was just hanging for a while, then >>>> spit out a bunch of error messages: >>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >>>> startInternal >>>> INFO: Deploying web application archive >>>> /opt/tomcat/tomcat7/webapps/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war >>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >>>> startInternal >>>> SEVERE: Error listenerStart >>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >>>> startInternal >>>> SEVERE: Context >>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] startup failed due >>>> to previous errors >>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>> clearReferencesThreads >>>> SEVERE: The web application >>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >>>> started a thread named [pool-4-thread-1] but has failed to stop it. This is >>>> very likely to create a memory leak. >>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>> clearReferencesThreads >>>> SEVERE: The web application >>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >>>> started a thread named [Thread-3] but has failed to stop it. This is very >>>> likely to create a memory leak. >>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>> clearReferencesThreads >>>> SEVERE: The web application >>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >>>> started a thread named [pool-7-thread-1] but has failed to stop it. This is >>>> very likely to create a memory leak. >>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>> clearReferencesThreads >>>> SEVERE: The web application >>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >>>> started a thread named [Git-Daemon-Accept] but has failed to stop it. This >>>> is very likely to create a memory leak. >>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>> checkThreadLocalMapForLeaks >>>> SEVERE: The web application >>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >>>> ThreadLocal with key of type [org.jboss.errai.config.util.ClassScanner$1] >>>> (value [org.jboss.errai.config.util.ClassScanner$1 at 1b3870a5]) and a >>>> value of type [java.lang.Boolean] (value [true]) but failed to remove it >>>> when the web application was stopped. Threads are going to be renewed over >>>> time to try and avoid a probable memory leak. >>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>> checkThreadLocalMapForLeaks >>>> SEVERE: The web application >>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >>>> ThreadLocal with key of type >>>> [org.jboss.solder.servlet.beanManager.ServletContextAttributeProvider$1] >>>> (value >>>> [org.jboss.solder.servlet.beanManager.ServletContextAttributeProvider$1 at 166b6e99]) >>>> and a value of type [org.apache.catalina.core.ApplicationContextFacade] >>>> (value [org.apache.catalina.core.ApplicationContextFacade at 672a0a4e]) >>>> but failed to remove it when the web application was stopped. Threads are >>>> going to be renewed over time to try and avoid a probable memory leak. >>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>> checkThreadLocalMapForLeaks >>>> SEVERE: The web application >>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >>>> ThreadLocal with key of type [org.eclipse.jgit.nls.NLS$1] (value >>>> [org.eclipse.jgit.nls.NLS$1 at 790abbcb]) and a value of type >>>> [org.eclipse.jgit.nls.NLS] (value [org.eclipse.jgit.nls.NLS at 2faf4a82]) >>>> but failed to remove it when the web application was stopped. Threads are >>>> going to be renewed over time to try and avoid a probable memory leak. >>>> >>>> Next I tried building the workbench from source: >>>> https://github.com/droolsjbpm/drools-wb/archive/6.0.1.Final.zip >>>> The maven build worked, and I dropped the tomcat war into the tomcat >>>> directory (removing any existing webapps and wars). Starting Tomcat now >>>> produced these errors: >>>> >>>> INFO: Deploying web application archive >>>> /opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0.war >>>> 2014-04-10 13:46:31,975 [localhost-startStop-1] >>>> >>>> ERROR Failed to setup Repository 'uf-playground' >>>> java.lang.RuntimeException: >>>> https://github.com/guvnorngtestuser1/guvnorng-playground.git: cannot >>>> open git-upload-pack >>>> >>>> What is the webapp trying to do with Git? Do I need to point it at some >>>> git repo? >>>> >>>> I tried the jboss instructions here: >>>> >>>> >>>> http://blog.athico.com/2013/05/how-to-build-and-run-drools-and-guvnor.html >>>> >>>> But that didn't work either, with Jboss just hanging as well. Any >>>> clues on what might be going wrong? >>>> >>>> Thanks, >>>> Ven >>>> >>>> _______________________________________________ >>>> rules-users mailing list >>>> rules-users at lists.jboss.org >>>> https://lists.jboss.org/mailman/listinfo/rules-users >>>> >>> >>> >>> >>> _______________________________________________ >>> rules-users mailing list >>> rules-users at lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/rules-users >>> >> >> >> >> _______________________________________________ >> rules-users mailing listrules-users at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users >> >> >> >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> > > > > _______________________________________________ > rules-users mailing listrules-users at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140414/c71979db/attachment-0001.html From Cwen at regenstrief.org Mon Apr 14 14:08:31 2014 From: Cwen at regenstrief.org (Cwen) Date: Mon, 14 Apr 2014 11:08:31 -0700 (PDT) Subject: [rules-users] KnowledgeAgentImpl registeredResourceMap memory issue In-Reply-To: <534BFF7F.6030207@gmail.com> References: <1397274202805-4029216.post@n3.nabble.com> <1397274326535-4029217.post@n3.nabble.com> <5348B7B7.4040309@gmail.com> <1397305836953-4029223.post@n3.nabble.com> <53499B46.6060505@gmail.com> <1397356785354-4029226.post@n3.nabble.com> <1397488556958-4029246.post@n3.nabble.com> <1397489373133-4029247.post@n3.nabble.com> <534BFF7F.6030207@gmail.com> Message-ID: <1397498911783-4029251.post@n3.nabble.com> Davide, I tried change our methods signature and run the application. Getting following stack trace when calling KnowledgeAgent.applyChangeSet(Resource resource): java.lang.RuntimeException: KnowledgeAgent exception while trying to deserialize KnowledgeDefinitionsPackage at org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(KnowledgeAgentImpl.java:796) at org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:1094) at org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(KnowledgeAgentImpl.java:844) at org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:684) at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:207) at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:186) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1004) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:957) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:490) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:271) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:121) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:353) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:154) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1391) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1132) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4350) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4816) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1028) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:773) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1028) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:278) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:429) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:662) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) at org.apache.catalina.startup.Catalina.start(Catalina.java:592) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:290) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:418) Caused by: java.io.InvalidClassException: org.drools.rule.constraint.MvelConstraint; local class incompatible: stream classdesc serialVersionUID = 8537626313322861096, local class serialVersionUID = 148857042101396396 at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1582) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) at java.util.ArrayList.readObject(ArrayList.java:593) at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) at org.drools.rule.Pattern.readExternal(Pattern.java:125) at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) at java.util.ArrayList.readObject(ArrayList.java:593) at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) at org.drools.rule.GroupElement.readExternal(GroupElement.java:63) at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) at org.drools.rule.Rule.readExternal(Rule.java:186) at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) at java.util.IdentityHashMap.readObject(IdentityHashMap.java:1188) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) at org.drools.rule.MVELDialectRuntimeData.readExternal(MVELDialectRuntimeData.java:90) at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) at java.util.HashMap.readObject(HashMap.java:1030) at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) at org.drools.rule.DialectRuntimeRegistry.readExternal(DialectRuntimeRegistry.java:58) at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) at org.drools.rule.Package.readExternal(Package.java:212) at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) at org.drools.core.util.DroolsStreamUtils.streamIn(DroolsStreamUtils.java:205) at org.drools.core.util.DroolsStreamUtils.streamIn(DroolsStreamUtils.java:189) at org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(KnowledgeAgentImpl.java:769) ... 58 more -- View this message in context: http://drools.46999.n3.nabble.com/KnowledgeAgentImpl-registeredResourceMap-memory-issue-tp4029216p4029251.html Sent from the Drools: User forum mailing list archive at Nabble.com. From dsotty at gmail.com Mon Apr 14 14:11:25 2014 From: dsotty at gmail.com (Davide Sottara) Date: Mon, 14 Apr 2014 11:11:25 -0700 Subject: [rules-users] KnowledgeAgentImpl registeredResourceMap memory issue In-Reply-To: <1397498911783-4029251.post@n3.nabble.com> References: <1397274202805-4029216.post@n3.nabble.com> <1397274326535-4029217.post@n3.nabble.com> <5348B7B7.4040309@gmail.com> <1397305836953-4029223.post@n3.nabble.com> <53499B46.6060505@gmail.com> <1397356785354-4029226.post@n3.nabble.com> <1397488556958-4029246.post@n3.nabble.com> <1397489373133-4029247.post@n3.nabble.com> <534BFF7F.6030207@gmail.com> <1397498911783-4029251.post@n3.nabble.com> Message-ID: <534C24CD.90108@gmail.com> Are you downloading a compiled PKG resource? You'd have to rebuild the PKG with 5.6, or use the source DRL.. On 04/14/2014 11:08 AM, Cwen wrote: > Davide, > I tried change our methods signature and run the application. Getting > following stack trace when calling KnowledgeAgent.applyChangeSet(Resource > resource): > > java.lang.RuntimeException: KnowledgeAgent exception while trying to > deserialize KnowledgeDefinitionsPackage > at > org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(KnowledgeAgentImpl.java:796) > at > org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:1094) > at > org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(KnowledgeAgentImpl.java:844) > at > org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:684) > at > org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:207) > at > org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:186) > > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:513) > at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148) > at > org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1004) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:957) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:490) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) > at > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:271) > at > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:121) > at > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:353) > at > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:154) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1391) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1132) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) > at > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) > at > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) > at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) > at > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) > at > org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) > at > org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389) > at > org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294) > at > org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) > at > org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4350) > at > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4816) > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) > at > org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1028) > at > org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:773) > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) > at > org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1028) > at > org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:278) > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) > at > org.apache.catalina.core.StandardService.startInternal(StandardService.java:429) > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) > at > org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:662) > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) > at org.apache.catalina.startup.Catalina.start(Catalina.java:592) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:290) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:418) > Caused by: java.io.InvalidClassException: > org.drools.rule.constraint.MvelConstraint; local class incompatible: stream > classdesc serialVersionUID = 8537626313322861096, local class > serialVersionUID = 148857042101396396 > at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562) > at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1582) > at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731) > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) > at java.util.ArrayList.readObject(ArrayList.java:593) > at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) > at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752) > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) > at org.drools.rule.Pattern.readExternal(Pattern.java:125) > at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750) > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) > at java.util.ArrayList.readObject(ArrayList.java:593) > at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) > at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752) > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) > at org.drools.rule.GroupElement.readExternal(GroupElement.java:63) > at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750) > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) > at org.drools.rule.Rule.readExternal(Rule.java:186) > at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750) > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) > at java.util.IdentityHashMap.readObject(IdentityHashMap.java:1188) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) > at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752) > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) > at > org.drools.rule.MVELDialectRuntimeData.readExternal(MVELDialectRuntimeData.java:90) > at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750) > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) > at java.util.HashMap.readObject(HashMap.java:1030) > at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) > at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752) > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) > at > org.drools.rule.DialectRuntimeRegistry.readExternal(DialectRuntimeRegistry.java:58) > at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750) > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) > at org.drools.rule.Package.readExternal(Package.java:212) > at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750) > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) > at > org.drools.core.util.DroolsStreamUtils.streamIn(DroolsStreamUtils.java:205) > at > org.drools.core.util.DroolsStreamUtils.streamIn(DroolsStreamUtils.java:189) > at > org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(KnowledgeAgentImpl.java:769) > ... 58 more > > > > > -- > View this message in context: http://drools.46999.n3.nabble.com/KnowledgeAgentImpl-registeredResourceMap-memory-issue-tp4029216p4029251.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > From Cwen at regenstrief.org Mon Apr 14 14:59:47 2014 From: Cwen at regenstrief.org (Cwen) Date: Mon, 14 Apr 2014 11:59:47 -0700 (PDT) Subject: [rules-users] KnowledgeAgentImpl registeredResourceMap memory issue In-Reply-To: <534C24CD.90108@gmail.com> References: <1397274326535-4029217.post@n3.nabble.com> <5348B7B7.4040309@gmail.com> <1397305836953-4029223.post@n3.nabble.com> <53499B46.6060505@gmail.com> <1397356785354-4029226.post@n3.nabble.com> <1397488556958-4029246.post@n3.nabble.com> <1397489373133-4029247.post@n3.nabble.com> <534BFF7F.6030207@gmail.com> <1397498911783-4029251.post@n3.nabble.com> <534C24CD.90108@gmail.com> Message-ID: <1397501987209-4029253.post@n3.nabble.com> Thank you Davide. That helped. I re-compiled the pkg and it got loaded successfully. However the run execution is throwing the following errors. I am looking into it. Not sure if that's something you have any insight. [Error: could not access: size; in class: java.util.ArrayList] [Near : {... size > 0 ....}] ^ [Line: 1, Column: 1] at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanProperty(ReflectiveAccessorOptimizer.java:683) at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanPropertyAO(ReflectiveAccessorOptimizer.java:465) at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:370) at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:140) at org.mvel2.ast.ASTNode.optimize(ASTNode.java:159) at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:115) at org.mvel2.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:114) at org.mvel2.MVELRuntime.execute(MVELRuntime.java:86) at org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123) at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119) at org.mvel2.MVEL.executeExpression(MVEL.java:930) at org.drools.rule.constraint.MvelConditionEvaluator.evaluate(MvelConditionEvaluator.java:73) at org.drools.rule.constraint.MvelConditionEvaluator.evaluate(MvelConditionEvaluator.java:52) at org.drools.rule.constraint.MvelConstraint.evaluate(MvelConstraint.java:218) at org.drools.rule.constraint.MvelConstraint.isAllowed(MvelConstraint.java:175) at org.drools.reteoo.AccumulateNode.evaluateResultConstraints(AccumulateNode.java:655) at org.drools.reteoo.AccumulateNode.assertLeftTuple(AccumulateNode.java:185) at org.drools.reteoo.CompositeLeftTupleSinkAdapter.doPropagateAssertLeftTuple(CompositeLeftTupleSinkAdapter.java:232) at org.drools.reteoo.CompositeLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(CompositeLeftTupleSinkAdapter.java:116) at org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:151) at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:497) at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:382) at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:364) at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:302) at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:254) at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:366) at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:327) at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:950) at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:894) at org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:269) -- View this message in context: http://drools.46999.n3.nabble.com/KnowledgeAgentImpl-registeredResourceMap-memory-issue-tp4029216p4029253.html Sent from the Drools: User forum mailing list archive at Nabble.com. From dsotty at gmail.com Mon Apr 14 15:12:53 2014 From: dsotty at gmail.com (Davide Sottara) Date: Mon, 14 Apr 2014 12:12:53 -0700 Subject: [rules-users] KnowledgeAgentImpl registeredResourceMap memory issue In-Reply-To: <1397501987209-4029253.post@n3.nabble.com> References: <1397274326535-4029217.post@n3.nabble.com> <5348B7B7.4040309@gmail.com> <1397305836953-4029223.post@n3.nabble.com> <53499B46.6060505@gmail.com> <1397356785354-4029226.post@n3.nabble.com> <1397488556958-4029246.post@n3.nabble.com> <1397489373133-4029247.post@n3.nabble.com> <534BFF7F.6030207@gmail.com> <1397498911783-4029251.post@n3.nabble.com> <534C24CD.90108@gmail.com> <1397501987209-4029253.post@n3.nabble.com> Message-ID: <534C3335.8030804@gmail.com> MVEL glitch, try size() > 0 On 04/14/2014 11:59 AM, Cwen wrote: > Thank you Davide. That helped. I re-compiled the pkg and it got loaded > successfully. However the run execution is throwing the following errors. I > am looking into it. Not sure if that's something you have any insight. > > [Error: could not access: size; in class: java.util.ArrayList] > [Near : {... size > 0 ....}] > ^ > [Line: 1, Column: 1] > at > org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanProperty(ReflectiveAccessorOptimizer.java:683) > at > org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanPropertyAO(ReflectiveAccessorOptimizer.java:465) > at > org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:370) > at > org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:140) > at org.mvel2.ast.ASTNode.optimize(ASTNode.java:159) > at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:115) > at > org.mvel2.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:114) > at org.mvel2.MVELRuntime.execute(MVELRuntime.java:86) > at > org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123) > at > org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119) > at org.mvel2.MVEL.executeExpression(MVEL.java:930) > at > org.drools.rule.constraint.MvelConditionEvaluator.evaluate(MvelConditionEvaluator.java:73) > at > org.drools.rule.constraint.MvelConditionEvaluator.evaluate(MvelConditionEvaluator.java:52) > at > org.drools.rule.constraint.MvelConstraint.evaluate(MvelConstraint.java:218) > at > org.drools.rule.constraint.MvelConstraint.isAllowed(MvelConstraint.java:175) > at > org.drools.reteoo.AccumulateNode.evaluateResultConstraints(AccumulateNode.java:655) > at > org.drools.reteoo.AccumulateNode.assertLeftTuple(AccumulateNode.java:185) > at > org.drools.reteoo.CompositeLeftTupleSinkAdapter.doPropagateAssertLeftTuple(CompositeLeftTupleSinkAdapter.java:232) > at > org.drools.reteoo.CompositeLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(CompositeLeftTupleSinkAdapter.java:116) > at > org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:151) > at > org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:497) > at > org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:382) > at > org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:364) > at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:302) > at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:254) > at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:366) > at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:327) > at > org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:950) > at > org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:894) > at > org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:269) > > > > > -- > View this message in context: http://drools.46999.n3.nabble.com/KnowledgeAgentImpl-registeredResourceMap-memory-issue-tp4029216p4029253.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > From Cwen at regenstrief.org Mon Apr 14 16:32:43 2014 From: Cwen at regenstrief.org (Cwen) Date: Mon, 14 Apr 2014 13:32:43 -0700 (PDT) Subject: [rules-users] KnowledgeAgentImpl registeredResourceMap memory issue In-Reply-To: <534C3335.8030804@gmail.com> References: <1397305836953-4029223.post@n3.nabble.com> <53499B46.6060505@gmail.com> <1397356785354-4029226.post@n3.nabble.com> <1397488556958-4029246.post@n3.nabble.com> <1397489373133-4029247.post@n3.nabble.com> <534BFF7F.6030207@gmail.com> <1397498911783-4029251.post@n3.nabble.com> <534C24CD.90108@gmail.com> <1397501987209-4029253.post@n3.nabble.com> <534C3335.8030804@gmail.com> Message-ID: <1397507563677-4029255.post@n3.nabble.com> Thanks! That helped. I am analyzing the memory usage and trying to convert our old rule syntax... Will update with you later. Thank you. -- View this message in context: http://drools.46999.n3.nabble.com/KnowledgeAgentImpl-registeredResourceMap-memory-issue-tp4029216p4029255.html Sent from the Drools: User forum mailing list archive at Nabble.com. From Joe.White at recondotech.com Mon Apr 14 18:01:55 2014 From: Joe.White at recondotech.com (Joe White) Date: Mon, 14 Apr 2014 22:01:55 +0000 Subject: [rules-users] Free Form DRL through BRL in guided decision table Message-ID: <809b641abca949e597aeee905cdb0570@DM2PR08MB335.namprd08.prod.outlook.com> Does the workbench extended entry guided decision table support this kind of syntax: ServiceLineStatusInfo( claimStatusCodes contains "$param" ) Where $param is replaced with the value of the column? When I add that through New Column->Add a Condition BRL Fragment->Free Form DRL all I get is a checkbox column. Is there a way to set that up so that it allows entry and does the substitution? I know the line above could be built easily in other ways. It is just an example to illustrate. I have some more complex logical constructs that I'd like to do in straight DRL fragments if possible. Thanks, Joe -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140414/6819bbcc/attachment.html From michael.anstis at gmail.com Mon Apr 14 18:07:39 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Mon, 14 Apr 2014 23:07:39 +0100 Subject: [rules-users] Free Form DRL through BRL in guided decision table In-Reply-To: <809b641abca949e597aeee905cdb0570@DM2PR08MB335.namprd08.prod.outlook.com> References: <809b641abca949e597aeee905cdb0570@DM2PR08MB335.namprd08.prod.outlook.com> Message-ID: You need to use a "Template variable" in the BRL fragment. ServiceLineStatusInfo( claimStatusCodes contains "@{param}") On 14 April 2014 23:01, Joe White wrote: > Does the workbench extended entry guided decision table support this > kind of syntax: > > ServiceLineStatusInfo( claimStatusCodes contains "$param" ) > > > > Where $param is replaced with the value of the column? When I add that > through New Column->Add a Condition BRL Fragment->Free Form DRL all I get > is a checkbox column. Is there a way to set that up so that it allows entry > and does the substitution? > > > > I know the line above could be built easily in other ways. It is just an > example to illustrate. I have some more complex logical constructs that I?d > like to do in straight DRL fragments if possible. > > > > Thanks, > > > > Joe > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140414/e5f37737/attachment.html From Joe.White at recondotech.com Mon Apr 14 18:11:55 2014 From: Joe.White at recondotech.com (Joe White) Date: Mon, 14 Apr 2014 22:11:55 +0000 Subject: [rules-users] Free Form DRL through BRL in guided decision table In-Reply-To: References: <809b641abca949e597aeee905cdb0570@DM2PR08MB335.namprd08.prod.outlook.com> Message-ID: Thanks Mike. I see that in the Rule Templates section of the docs. If you want I?ll add that the Guided Decision Table of the documents as well and issue a pull. Let me know. Joe From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Michael Anstis Sent: Monday, April 14, 2014 4:08 PM To: Rules Users List Subject: Re: [rules-users] Free Form DRL through BRL in guided decision table You need to use a "Template variable" in the BRL fragment. ServiceLineStatusInfo( claimStatusCodes contains "@{param}") On 14 April 2014 23:01, Joe White > wrote: Does the workbench extended entry guided decision table support this kind of syntax: ServiceLineStatusInfo( claimStatusCodes contains "$param" ) Where $param is replaced with the value of the column? When I add that through New Column->Add a Condition BRL Fragment->Free Form DRL all I get is a checkbox column. Is there a way to set that up so that it allows entry and does the substitution? I know the line above could be built easily in other ways. It is just an example to illustrate. I have some more complex logical constructs that I?d like to do in straight DRL fragments if possible. Thanks, Joe _______________________________________________ rules-users mailing list rules-users at lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140414/d2446914/attachment-0001.html From michael.anstis at gmail.com Mon Apr 14 18:18:27 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Mon, 14 Apr 2014 23:18:27 +0100 Subject: [rules-users] Free Form DRL through BRL in guided decision table In-Reply-To: References: <809b641abca949e597aeee905cdb0570@DM2PR08MB335.namprd08.prod.outlook.com> Message-ID: That'd be great :-) Saw III looks promising ;-) Sent on the move On 14 Apr 2014 23:13, "Joe White" wrote: > Thanks Mike. I see that in the Rule Templates section of the docs. If > you want I?ll add that the Guided Decision Table of the documents as well > and issue a pull. Let me know. > > > > Joe > > > > *From:* rules-users-bounces at lists.jboss.org [mailto: > rules-users-bounces at lists.jboss.org] *On Behalf Of *Michael Anstis > *Sent:* Monday, April 14, 2014 4:08 PM > *To:* Rules Users List > *Subject:* Re: [rules-users] Free Form DRL through BRL in guided decision > table > > > > You need to use a "Template variable" in the BRL fragment. > > > > ServiceLineStatusInfo( claimStatusCodes contains "@{param}") > > > > On 14 April 2014 23:01, Joe White wrote: > > Does the workbench extended entry guided decision table support this > kind of syntax: > > ServiceLineStatusInfo( claimStatusCodes contains "$param" ) > > > > Where $param is replaced with the value of the column? When I add that > through New Column->Add a Condition BRL Fragment->Free Form DRL all I get > is a checkbox column. Is there a way to set that up so that it allows entry > and does the substitution? > > > > I know the line above could be built easily in other ways. It is just an > example to illustrate. I have some more complex logical constructs that I?d > like to do in straight DRL fragments if possible. > > > > Thanks, > > > > Joe > > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140414/5f4fe725/attachment.html From michael.anstis at gmail.com Mon Apr 14 18:29:42 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Mon, 14 Apr 2014 23:29:42 +0100 Subject: [rules-users] Free Form DRL through BRL in guided decision table In-Reply-To: References: <809b641abca949e597aeee905cdb0570@DM2PR08MB335.namprd08.prod.outlook.com> Message-ID: Hmmmm... not a family film. Sent on the move On 14 Apr 2014 23:18, "Michael Anstis" wrote: > That'd be great :-) > > Saw III looks promising ;-) > > Sent on the move > On 14 Apr 2014 23:13, "Joe White" wrote: > >> Thanks Mike. I see that in the Rule Templates section of the docs. If >> you want I?ll add that the Guided Decision Table of the documents as well >> and issue a pull. Let me know. >> >> >> >> Joe >> >> >> >> *From:* rules-users-bounces at lists.jboss.org [mailto: >> rules-users-bounces at lists.jboss.org] *On Behalf Of *Michael Anstis >> *Sent:* Monday, April 14, 2014 4:08 PM >> *To:* Rules Users List >> *Subject:* Re: [rules-users] Free Form DRL through BRL in guided >> decision table >> >> >> >> You need to use a "Template variable" in the BRL fragment. >> >> >> >> ServiceLineStatusInfo( claimStatusCodes contains "@{param}") >> >> >> >> On 14 April 2014 23:01, Joe White wrote: >> >> Does the workbench extended entry guided decision table support this >> kind of syntax: >> >> ServiceLineStatusInfo( claimStatusCodes contains "$param" ) >> >> >> >> Where $param is replaced with the value of the column? When I add that >> through New Column->Add a Condition BRL Fragment->Free Form DRL all I get >> is a checkbox column. Is there a way to set that up so that it allows entry >> and does the substitution? >> >> >> >> I know the line above could be built easily in other ways. It is just an >> example to illustrate. I have some more complex logical constructs that I?d >> like to do in straight DRL fragments if possible. >> >> >> >> Thanks, >> >> >> >> Joe >> >> >> >> >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> >> >> >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140414/32092905/attachment.html From vvicky72 at hotmail.com Mon Apr 14 19:50:08 2014 From: vvicky72 at hotmail.com (vvicky72) Date: Mon, 14 Apr 2014 16:50:08 -0700 (PDT) Subject: [rules-users] KieScanner with remote repository? Message-ID: <1397519408832-4029261.post@n3.nabble.com> I am able to get KieScanner (6.1 beta) to work on my local maven repository using "LATEST". But everytime I update the rules on workbench, I have to manually run mvn install in order to update my local repository so that KieScanner can pickup the changes. Is that how it is? Or is it possible to force a download everytime the scanner runs? -- View this message in context: http://drools.46999.n3.nabble.com/KieScanner-with-remote-repository-tp4029261.html Sent from the Drools: User forum mailing list archive at Nabble.com. From mproctor at codehaus.org Mon Apr 14 19:55:52 2014 From: mproctor at codehaus.org (Mark Proctor) Date: Tue, 15 Apr 2014 00:55:52 +0100 Subject: [rules-users] KieScanner with remote repository? In-Reply-To: <1397519408832-4029261.post@n3.nabble.com> References: <1397519408832-4029261.post@n3.nabble.com> Message-ID: <93CD68BE-9576-4CD9-921A-C01E1FB24659@codehaus.org> You need to update your settings.xml to point to your remote repository. The docs provide information on the settings.xml configuration. Mark On 15 Apr 2014, at 00:50, vvicky72 wrote: > I am able to get KieScanner (6.1 beta) to work on my local maven repository > using "LATEST". But everytime I update the rules on workbench, I have to > manually run mvn install in order to update my local repository so that > KieScanner can pickup the changes. Is that how it is? Or is it possible to > force a download everytime the scanner runs? > > > > > > -- > View this message in context: http://drools.46999.n3.nabble.com/KieScanner-with-remote-repository-tp4029261.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users From vvicky72 at hotmail.com Mon Apr 14 20:28:54 2014 From: vvicky72 at hotmail.com (vvicky72) Date: Mon, 14 Apr 2014 17:28:54 -0700 (PDT) Subject: [rules-users] KieScanner with remote repository? In-Reply-To: <93CD68BE-9576-4CD9-921A-C01E1FB24659@codehaus.org> References: <1397519408832-4029261.post@n3.nabble.com> <93CD68BE-9576-4CD9-921A-C01E1FB24659@codehaus.org> Message-ID: I have. That's how mvn install downloads it to the local repository. Date: Mon, 14 Apr 2014 16:56:45 -0700 From: ml-node+s46999n4029262h70 at n3.nabble.com To: vvicky72 at hotmail.com Subject: Re: [rules-users] KieScanner with remote repository? You need to update your settings.xml to point to your remote repository. The docs provide information on the settings.xml configuration. Mark On 15 Apr 2014, at 00:50, vvicky72 <[hidden email]> wrote: > I am able to get KieScanner (6.1 beta) to work on my local maven repository > using "LATEST". But everytime I update the rules on workbench, I have to > manually run mvn install in order to update my local repository so that > KieScanner can pickup the changes. Is that how it is? Or is it possible to > force a download everytime the scanner runs? > > > > > > -- > View this message in context: http://drools.46999.n3.nabble.com/KieScanner-with-remote-repository-tp4029261.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > [hidden email] > https://lists.jboss.org/mailman/listinfo/rules-users _______________________________________________ rules-users mailing list [hidden email] https://lists.jboss.org/mailman/listinfo/rules-users If you reply to this email, your message will be added to the discussion below: http://drools.46999.n3.nabble.com/KieScanner-with-remote-repository-tp4029261p4029262.html To unsubscribe from KieScanner with remote repository?, click here. NAML -- View this message in context: http://drools.46999.n3.nabble.com/KieScanner-with-remote-repository-tp4029261p4029263.html Sent from the Drools: User forum mailing list archive at Nabble.com. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140414/525bbc1f/attachment-0001.html From vvicky72 at hotmail.com Mon Apr 14 20:45:20 2014 From: vvicky72 at hotmail.com (vvicky72) Date: Mon, 14 Apr 2014 17:45:20 -0700 (PDT) Subject: [rules-users] KieScanner with remote repository? In-Reply-To: <93CD68BE-9576-4CD9-921A-C01E1FB24659@codehaus.org> References: <1397519408832-4029261.post@n3.nabble.com> <93CD68BE-9576-4CD9-921A-C01E1FB24659@codehaus.org> Message-ID: <1397522720923-4029264.post@n3.nabble.com> I have also tried setting these before I kickoff the scanner. java.lang.System.setProperty("M2_HOME", "/opt/eaitools/maven/apache-maven-3.2.1"); java.lang.System.setProperty("M2", "/opt/eaitools/maven/apache-maven-3.2.1/bin"); java.lang.System.setProperty("MAVEN_HOME", "/opt/eaitools/maven/apache-maven-3.2.1"); java.lang.System.setProperty("JAVA_HOME", "/opt/wmis/jvm/jvm160"); Thanks, Vikas. -- View this message in context: http://drools.46999.n3.nabble.com/KieScanner-with-remote-repository-tp4029261p4029264.html Sent from the Drools: User forum mailing list archive at Nabble.com. From ven.tadipatri at ll.mit.edu Tue Apr 15 08:27:17 2014 From: ven.tadipatri at ll.mit.edu (Ven Tadipatri) Date: Tue, 15 Apr 2014 08:27:17 -0400 Subject: [rules-users] Problems deploying war In-Reply-To: References: <5346E1FD.6030805@ll.mit.edu> <534BDA41.5040704@ll.mit.edu> <534BDF36.1030508@ll.mit.edu> <534BE45B.5040100@ll.mit.edu> Message-ID: <534D25A5.8040002@ll.mit.edu> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140415/f2935bfb/attachment-0001.html From michael.anstis at gmail.com Tue Apr 15 08:40:07 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Tue, 15 Apr 2014 13:40:07 +0100 Subject: [rules-users] Problems deploying war In-Reply-To: <534D25A5.8040002@ll.mit.edu> References: <5346E1FD.6030805@ll.mit.edu> <534BDA41.5040704@ll.mit.edu> <534BDF36.1030508@ll.mit.edu> <534BE45B.5040100@ll.mit.edu> <534D25A5.8040002@ll.mit.edu> Message-ID: If you're using 6.0 (as opposed to 6.1.0-SNAPSHOT) did you also uncomment the J2EE security section in the web.xml? On 15 April 2014 13:27, Ven Tadipatri wrote: > I've added the following libraries to the lib folder (I'm assuming you > mean the Tomcat library, not the webapp-specific WEB-INF/lib folder ): > -rwxr-xr-x 1 svc-tomcat svc-tomcat 43519 Apr 14 08:38 > javax.security.jacc-api-1.4.jar > -rwxr-xr-x 1 svc-tomcat svc-tomcat 6992 Apr 14 08:38 > kie-tomcat-integration-6.0.1.Final.jar > -rwxr-xr-x 1 svc-tomcat svc-tomcat 26084 Apr 14 08:38 slf4j-api-1.7.5.jar > > The following lines are in the server.xml: > autoDeploy="true"> > > directory="logs" > prefix="localhost_access_log." suffix=".txt" > pattern="%h %l %u %t "%r" %s %b" /> > > > > > There doesn't seem to be any log output when the login fails. It just > brings me back to the same url: > > http://localhost:8080/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0/org.kie.workbench.drools.KIEDroolsWebapp/j_security_check > Any ideas? > > Thanks, > Ven > > > > On 04/14/2014 11:50 AM, Michael Anstis wrote: > > You'll need to add the additional libraries to /lib and configure Catalina > with the additional "Valve", as described in previous emails. > > These configure Tomcat to use the tomcat-users.xml file. > > > On 14 April 2014 14:36, Ven Tadipatri wrote: > >> You're right - I'm getting closer :) >> Now, the >> http://localhost:8080/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0/url comes up, but when I try to log in with the user and password in my >> tomcat-users.xml file, it doesn't log me in. >> >> I was able to bring up the main page both with the binary distribution >> (which came up with a KIE IDE logo) and the one I built with maven from >> sources >> (which came up with a UF logo). The login page looked identical except >> for the logo. >> >> This is what my tomcat-users.xml file looks like: >> >> >> >> >> >> (The password has been starred out in this e-mail) >> The only change I made to the war was >> mv org.uberfire.security.auth.AuthenticationSource-TOMCAT-JEE-SECURITY >> org.uberfire.security.auth.AuthenticationSource >> >> Is there something I have to do with the login.config or realm.properties? >> >> Thanks, >> Ven >> >> >> On 04/14/2014 09:17 AM, Michael Anstis wrote: >> >> You're almost there by the look of it!!! >> >> I replied to your other questions about why the workbench is trying to >> access git.. you can disable this and then you shouldn't get the error you >> paste (I assume you can't access github.com from where you're trying to >> deploy). >> >> The JBoss AS7 WAR works "out of the box".. no need to configure >> anything extra, or download any WARs :) >> >> I would encourage you to delete .niogit folder in /bin when trying to >> deploy (if you had errors before). >> >> .niogit is where the workbench stores it's configuration and any >> downloaded git repositories. >> >> >> On 14 April 2014 14:14, Ven Tadipatri wrote: >> >>> I'm not quite sure why it's so challenging to get the war deployed >>> with Tomcat. Is it easier to deploy the war with Jboss? >>> These are the exceptions I'm getting, even after adding >>> "-Dorg.kie.demo=false" to the CATALINA_OPTS in catalina.sh >>> I want to disable the access to remote git repos. >>> >>> INFO: Deploying web application archive >>> /opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0.war >>> 2014-04-14 09:04:23,985 [localhost-startStop-1] INFO Found kmodule: >>> jar:file:/opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar!/META-INF/kmodule.xml >>> 2014-04-14 09:04:24,036 [localhost-startStop-1] INFO KieModule was >>> added:ZipKieModule[ >>> ReleaseId=org.drools:drools-wb-rest-defaultapprover:6.0.1.Finalfile=/opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar] >>> 2014-04-14 09:04:24,036 [localhost-startStop-1] INFO Found kmodule: >>> jar:file:/opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar!/META-INF/kmodule.xml >>> 2014-04-14 09:04:24,039 [localhost-startStop-1] INFO KieModule was >>> added:ZipKieModule[ >>> ReleaseId=org.drools:drools-wb-rest-defaultapprover:6.0.1.Finalfile=/opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar] >>> 2014-04-14 09:07:36,460 [localhost-startStop-1] ERROR Failed to setup >>> Repository 'uf-playground' >>> >>> java.lang.RuntimeException: >>> https://github.com/guvnorngtestuser1/guvnorng-playground.git: cannot >>> open git-upload-pack >>> at >>> org.uberfire.backend.server.repositories.git.GitRepositoryFactoryHelper.newRepository(GitRepositoryFactoryHelper.java:80) >>> ~[uberfire-backend-server-0.3.1.Final.jar:0.3.1.Final] >>> at >>> org.uberfire.backend.server.repositories.git.GitRepositoryFactoryHelper$Proxy$_$$_WeldClientProxy.newRepository(GitRepositoryFactoryHelper$Proxy$_$$_WeldClientProxy.java) >>> ~[uberfire-backend-server-0.3.1.Final.jar:0.3.1.Final] >>> >>> >>> Thanks, >>> Ven >>> >>> >>> On 04/14/2014 08:57 AM, Michael Anstis wrote: >>> >>> If apply the additional configuration you are telling Tomcat to use >>> Users defined in /conf/tomcat-users.xml >>> >>> I modified the WAR by unzipping it, modifying the relevant files and >>> then zipping it back into a WAR before deploying. >>> >>> >>> On 14 April 2014 13:53, Ven Tadipatri wrote: >>> >>>> Hi Michael, >>>> Unfortunately I can't seem to get the 6.0.1 version up and running. >>>> I followed the steps below, finding the 3 jars listed below online. >>>> But still, Tomcat just hangs for a bit, then throws a bunch of severe >>>> warnings. There don't seem to be any log messages describing the problem. >>>> Also, I'm a bit confused by the directions - how can we modify the >>>> WEB-INF directory before the war is deployed? And how do we define users >>>> in the login.config file? >>>> >>>> >>>> Thanks, >>>> Ven >>>> >>>> On 04/11/2014 10:49 AM, Michael Anstis wrote: >>>> >>>> Hi, >>>> >>>> There have been a few people with Tomcat deployment issues for >>>> kie-drools-wb, so I thought I'd give it a try. >>>> >>>> These are the steps I followed for *successful* deployment (most of >>>> which is already documented, but not obvious, in the WAR's README.txt >>>> file):- >>>> >>>> *6.0.1* >>>> >>>> Starting with a clean install of Tomcat 7. >>>> >>>> 1. Copy "kie-tomcat-integration" JAR into TOMCAT_HOME/lib >>>> (org.kie:kie-tomcat-integration) >>>> 2. Copy "JACC" JAR into TOMCAT_HOME/lib(javax.security.jacc:artifactId=javax.security.jacc-api in JBoss Maven >>>> Repository) >>>> 3. Copy "slf4j-api" JAR into TOMCAT_HOME/lib(org.slf4j:artifactId=slf4j-api in JBoss Maven Repository) >>>> 4. Add valve configuration into TOMCAT_HOME/conf/server.xml inside >>>> element as last valve definition: >>>> >>>> >>>> >>>> 5. Edit TOMCAT_HOME/conf/tomcat-users.xml to include roles and users, >>>> make sure there will be 'analyst' or 'admin' roles defined as it's required >>>> to be authorized to use kie-wb >>>> 6. Delete org.uberfire.security.auth.AuthenticationSource inside >>>> WEB-INF/classes/META-INF/services >>>> 7. Rename >>>> org.uberfire.security.auth.AuthenticationSource-TOMCAT-JEE-SECURITY to >>>> org.uberfire.security.auth.AuthenticationSource inside >>>> WEB-INF/classes/META-INF/services >>>> 8. Increase Java's PermGen space by adding file TOMCAT_HOME/bin/ >>>> setenv.sh containing export JAVA_OPTS="-Xmx1024m -XX:MaxPermSize=256m" >>>> 9. Start Tomcat with TOMCAT_HOME/bin/startup.sh >>>> 10. Go to Management Console, http://localhost:8080/management >>>> 11. Deploy modified WAR >>>> >>>> If you do not complete these steps the WAR works "out of the box" but >>>> you'll need to define Users in WEB-INF/classes/login.config >>>> >>>> *6.1.0-SNAPSHOT* >>>> >>>> Starting with a clean install of Tomcat 7. >>>> >>>> 1. Copy "kie-tomcat-integration" JAR into TOMCAT_HOME/lib >>>> (org.kie:kie-tomcat-integration) >>>> 2. Copy "JACC" JAR into TOMCAT_HOME/lib >>>> (javax.security.jacc:artifactId=javax.security.jacc-api in JBoss Maven >>>> Repository) >>>> 3. Copy "slf4j-api" JAR into TOMCAT_HOME/lib >>>> (org.slf4j:artifactId=slf4j-api in JBoss Maven Repository) >>>> 4. Add valve configuration into TOMCAT_HOME/conf/server.xml inside Host >>>> element as last valve definition: >>>> >>>> >>>> >>>> 5. Edit TOMCAT_HOME/conf/tomcat-users.xml to include roles and users, >>>> make sure there will be 'analyst' or 'admin' roles defined as it's required >>>> to be authorized to use kie-wb >>>> 6. Start Tomcat with TOMCAT_HOME/bin/startup.sh >>>> 7. Go to Management Console, http://localhost:8080/management >>>> 8. Deploy modified WAR >>>> >>>> With kind regards, >>>> >>>> Mike >>>> >>>> >>>> >>>> >>>> On 10 April 2014 19:25, Ven Tadipatri wrote: >>>> >>>>> Hi, >>>>> I'm trying to get set up with Drools and Guvnor. I've had some >>>>> success building a test program with Drools, but when I saw that there's a >>>>> webapp >>>>> to manage and view rules, I was interested in getting that working as >>>>> well. Unfortunately I haven't had much success with that. >>>>> I downloaded the kie-drools-wb-distribution-6.0.1.Final.zip file >>>>> from the JBoss drools website and dropped the >>>>> binaries/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war >>>>> into my Tomcat directory. Tomcat was just hanging for a while, then >>>>> spit out a bunch of error messages: >>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >>>>> startInternal >>>>> INFO: Deploying web application archive >>>>> /opt/tomcat/tomcat7/webapps/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war >>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >>>>> startInternal >>>>> SEVERE: Error listenerStart >>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >>>>> startInternal >>>>> SEVERE: Context >>>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] startup failed due >>>>> to previous errors >>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>>> clearReferencesThreads >>>>> SEVERE: The web application >>>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >>>>> started a thread named [pool-4-thread-1] but has failed to stop it. This is >>>>> very likely to create a memory leak. >>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>>> clearReferencesThreads >>>>> SEVERE: The web application >>>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >>>>> started a thread named [Thread-3] but has failed to stop it. This is very >>>>> likely to create a memory leak. >>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>>> clearReferencesThreads >>>>> SEVERE: The web application >>>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >>>>> started a thread named [pool-7-thread-1] but has failed to stop it. This is >>>>> very likely to create a memory leak. >>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>>> clearReferencesThreads >>>>> SEVERE: The web application >>>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >>>>> started a thread named [Git-Daemon-Accept] but has failed to stop it. This >>>>> is very likely to create a memory leak. >>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>>> checkThreadLocalMapForLeaks >>>>> SEVERE: The web application >>>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >>>>> ThreadLocal with key of type [org.jboss.errai.config.util.ClassScanner$1] >>>>> (value [org.jboss.errai.config.util.ClassScanner$1 at 1b3870a5]) and a >>>>> value of type [java.lang.Boolean] (value [true]) but failed to remove it >>>>> when the web application was stopped. Threads are going to be renewed over >>>>> time to try and avoid a probable memory leak. >>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>>> checkThreadLocalMapForLeaks >>>>> SEVERE: The web application >>>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >>>>> ThreadLocal with key of type >>>>> [org.jboss.solder.servlet.beanManager.ServletContextAttributeProvider$1] >>>>> (value >>>>> [org.jboss.solder.servlet.beanManager.ServletContextAttributeProvider$1 at 166b6e99]) >>>>> and a value of type [org.apache.catalina.core.ApplicationContextFacade] >>>>> (value [org.apache.catalina.core.ApplicationContextFacade at 672a0a4e]) >>>>> but failed to remove it when the web application was stopped. Threads are >>>>> going to be renewed over time to try and avoid a probable memory leak. >>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>>> checkThreadLocalMapForLeaks >>>>> SEVERE: The web application >>>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >>>>> ThreadLocal with key of type [org.eclipse.jgit.nls.NLS$1] (value >>>>> [org.eclipse.jgit.nls.NLS$1 at 790abbcb]) and a value of type >>>>> [org.eclipse.jgit.nls.NLS] (value [org.eclipse.jgit.nls.NLS at 2faf4a82]) >>>>> but failed to remove it when the web application was stopped. Threads are >>>>> going to be renewed over time to try and avoid a probable memory leak. >>>>> >>>>> Next I tried building the workbench from source: >>>>> https://github.com/droolsjbpm/drools-wb/archive/6.0.1.Final.zip >>>>> The maven build worked, and I dropped the tomcat war into the tomcat >>>>> directory (removing any existing webapps and wars). Starting Tomcat now >>>>> produced these errors: >>>>> >>>>> INFO: Deploying web application archive >>>>> /opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0.war >>>>> 2014-04-10 13:46:31,975 [localhost-startStop-1] >>>>> >>>>> ERROR Failed to setup Repository 'uf-playground' >>>>> java.lang.RuntimeException: >>>>> https://github.com/guvnorngtestuser1/guvnorng-playground.git: cannot >>>>> open git-upload-pack >>>>> >>>>> What is the webapp trying to do with Git? Do I need to point it at >>>>> some git repo? >>>>> >>>>> I tried the jboss instructions here: >>>>> >>>>> >>>>> http://blog.athico.com/2013/05/how-to-build-and-run-drools-and-guvnor.html >>>>> >>>>> But that didn't work either, with Jboss just hanging as well. Any >>>>> clues on what might be going wrong? >>>>> >>>>> Thanks, >>>>> Ven >>>>> >>>>> _______________________________________________ >>>>> rules-users mailing list >>>>> rules-users at lists.jboss.org >>>>> https://lists.jboss.org/mailman/listinfo/rules-users >>>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> rules-users mailing list >>>> rules-users at lists.jboss.org >>>> https://lists.jboss.org/mailman/listinfo/rules-users >>>> >>> >>> >>> >>> _______________________________________________ >>> rules-users mailing listrules-users at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users >>> >>> >>> >>> _______________________________________________ >>> rules-users mailing list >>> rules-users at lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/rules-users >>> >> >> >> >> _______________________________________________ >> rules-users mailing listrules-users at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users >> >> >> >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> > > > > _______________________________________________ > rules-users mailing listrules-users at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140415/fd68f19b/attachment-0001.html From ven.tadipatri at ll.mit.edu Tue Apr 15 09:57:21 2014 From: ven.tadipatri at ll.mit.edu (Ven Tadipatri) Date: Tue, 15 Apr 2014 09:57:21 -0400 Subject: [rules-users] Problems deploying war In-Reply-To: References: <5346E1FD.6030805@ll.mit.edu> <534BDA41.5040704@ll.mit.edu> <534BDF36.1030508@ll.mit.edu> <534BE45B.5040100@ll.mit.edu> <534D25A5.8040002@ll.mit.edu> Message-ID: <534D3AC1.4060409@ll.mit.edu> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140415/e60f56cb/attachment-0001.html From livazque at cern.ch Tue Apr 15 12:12:37 2014 From: livazque at cern.ch (lvtenorio) Date: Tue, 15 Apr 2014 09:12:37 -0700 (PDT) Subject: [rules-users] java.lang.VerifyError: Bad type on operand stack Message-ID: <1397578357491-4029270.post@n3.nabble.com> Hello, I am writing a rules file and unit tests to test each one of them. I am getting this error during the execution java.lang.VerifyError: Bad type on operand stack Exception Details: Location: ConditionEvaluator81806ffb7242407db6e6d8f829f4fd4d.evaluate(Lorg/drools/core/common/InternalFactHandle;Lorg/drools/core/common/InternalWorkingMemory;Lorg/dr ools/core/reteoo/LeftTuple;)Z @12: ireturn Reason: Type 'java/lang/Boolean' (current frame, stack[0]) is not assignable to integer Current Frame: bci: @12 flags: { } locals: { 'ConditionEvaluator81806ffb7242407db6e6d8f829f4fd4d', 'org/drools/core/common/InternalFactHandle', 'org/drools/core/common/InternalWorkingMemory', 'org/drools/core/reteoo/LeftTuple' } stack: { 'java/lang/Boolean' } Bytecode: 0000000: 2bb9 001b 0100 c000 1db6 0021 ac at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2493) at java.lang.Class.getConstructor0(Class.java:2803) at java.lang.Class.getConstructor(Class.java:1718) at org.drools.core.rule.builder.dialect.asm.ClassGenerator.newInstance(ClassGenerator.java:197) at org.drools.core.rule.constraint.ASMConditionEvaluatorJitter.jitEvaluator(ASMConditionEvaluatorJitter.java:55) at org.drools.core.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:289) at org.drools.core.rule.constraint.MvelConstraint.access$200(MvelConstraint.java:53) at org.drools.core.rule.constraint.MvelConstraint$ConditionJitter.run(MvelConstraint.java:266) 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:744) The tests don't stop running and keep working. Here is my pom in case it helps 4.0.0 DroolsTest DroolsTest 1.0-SNAPSHOT org.apache.maven.plugins maven-jxr-plugin 2.4 org.codehaus.groovy groovy-eclipse-batch 2.1.8-01 org.drools drools-compiler 6.1.0.Beta1 org.drools drools-core 6.1.0.Beta1 org.drools knowledge-api 6.1.0.Beta1 joda-time joda-time 2.3 commons-lang commons-lang 2.6 org.slf4j slf4j-api 1.7.6 org.slf4j slf4j-log4j12 1.7.6 junit junit 4.7 org.codehaus.gmaven.runtime gmaven-runtime-1.6 1.5 org.apache.maven.plugins maven-compiler-plugin 3.1 1.7 1.7 maven-surefire-plugin 2.9 false true plain org.apache.maven.plugins maven-surefire-report-plugin 2.9 org.apache.maven.plugins maven-jxr-plugin 2.4 org.codehaus.gmaven gmaven-plugin 1.5 generateStubs compile generateTestStubs testCompile org.apache.maven.plugins maven-surefire-report-plugin 2.17 org.apache.maven.plugins maven-jxr-plugin 2.3 I am using IntelliJ IDEA13.0.2 -- View this message in context: http://drools.46999.n3.nabble.com/java-lang-VerifyError-Bad-type-on-operand-stack-tp4029270.html Sent from the Drools: User forum mailing list archive at Nabble.com. From maxime.falaize at gmail.com Tue Apr 15 12:32:37 2014 From: maxime.falaize at gmail.com (Maxime Falaize) Date: Tue, 15 Apr 2014 18:32:37 +0200 Subject: [rules-users] Drools 6.0.1: Pushing changes back to Workbench GIT using SSH In-Reply-To: References: <1390365162098-4027800.post@n3.nabble.com> <8C9EBA44-42A6-4916-BF3E-0564CBB2648E@redhat.com> Message-ID: <4667D6A1-9AA3-4AE2-8963-E0BDB5B3F065@gmail.com> Can anyone give me a solution please ? From dsotty at gmail.com Tue Apr 15 12:59:09 2014 From: dsotty at gmail.com (Davide Sottara) Date: Tue, 15 Apr 2014 09:59:09 -0700 Subject: [rules-users] java.lang.VerifyError: Bad type on operand stack In-Reply-To: <1397578357491-4029270.post@n3.nabble.com> References: <1397578357491-4029270.post@n3.nabble.com> Message-ID: <534D655D.2000605@gmail.com> Looks like a bug.. can you post the DRL that generates this error? On 04/15/2014 09:12 AM, lvtenorio wrote: > Hello, > > I am writing a rules file and unit tests to test each one of them. I am > getting this error during the execution > > java.lang.VerifyError: Bad type on operand stack > Exception Details: > Location: > > ConditionEvaluator81806ffb7242407db6e6d8f829f4fd4d.evaluate(Lorg/drools/core/common/InternalFactHandle;Lorg/drools/core/common/InternalWorkingMemory;Lorg/dr > ools/core/reteoo/LeftTuple;)Z @12: ireturn > Reason: > Type 'java/lang/Boolean' (current frame, stack[0]) is not assignable to > integer > Current Frame: > bci: @12 > flags: { } > locals: { 'ConditionEvaluator81806ffb7242407db6e6d8f829f4fd4d', > 'org/drools/core/common/InternalFactHandle', > 'org/drools/core/common/InternalWorkingMemory', > 'org/drools/core/reteoo/LeftTuple' } > stack: { 'java/lang/Boolean' } > Bytecode: > 0000000: 2bb9 001b 0100 c000 1db6 0021 ac > > at java.lang.Class.getDeclaredConstructors0(Native Method) > at java.lang.Class.privateGetDeclaredConstructors(Class.java:2493) > at java.lang.Class.getConstructor0(Class.java:2803) > at java.lang.Class.getConstructor(Class.java:1718) > at > org.drools.core.rule.builder.dialect.asm.ClassGenerator.newInstance(ClassGenerator.java:197) > at > org.drools.core.rule.constraint.ASMConditionEvaluatorJitter.jitEvaluator(ASMConditionEvaluatorJitter.java:55) > at > org.drools.core.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:289) > at > org.drools.core.rule.constraint.MvelConstraint.access$200(MvelConstraint.java:53) > at > org.drools.core.rule.constraint.MvelConstraint$ConditionJitter.run(MvelConstraint.java:266) > 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:744) > > > The tests don't stop running and keep working. Here is my pom in case it > helps > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd"> > 4.0.0 > > DroolsTest > DroolsTest > 1.0-SNAPSHOT > > > > org.apache.maven.plugins > maven-jxr-plugin > 2.4 > > > > > org.codehaus.groovy > groovy-eclipse-batch > 2.1.8-01 > > > > > org.drools > drools-compiler > 6.1.0.Beta1 > > > > org.drools > drools-core > 6.1.0.Beta1 > > > > org.drools > knowledge-api > 6.1.0.Beta1 > > > > > > > > > > > joda-time > joda-time > 2.3 > > > > commons-lang > commons-lang > 2.6 > > > > org.slf4j > slf4j-api > 1.7.6 > > > > org.slf4j > slf4j-log4j12 > 1.7.6 > > > > junit > junit > 4.7 > > > > org.codehaus.gmaven.runtime > gmaven-runtime-1.6 > 1.5 > > > > > > > org.apache.maven.plugins > maven-compiler-plugin > 3.1 > > 1.7 > 1.7 > > > > maven-surefire-plugin > 2.9 > > > false > true > plain > > > > org.apache.maven.plugins > maven-surefire-report-plugin > 2.9 > > > > > > org.apache.maven.plugins > maven-jxr-plugin > 2.4 > > > org.codehaus.gmaven > gmaven-plugin > 1.5 > > > > generateStubs > compile > generateTestStubs > testCompile > > > > > > > > > > org.apache.maven.plugins > maven-surefire-report-plugin > 2.17 > > > > > > org.apache.maven.plugins > maven-jxr-plugin > 2.3 > > > > > > > I am using IntelliJ IDEA13.0.2 > > > > -- > View this message in context: http://drools.46999.n3.nabble.com/java-lang-VerifyError-Bad-type-on-operand-stack-tp4029270.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > From leonardlindenau at hotmail.com Wed Apr 16 05:45:49 2014 From: leonardlindenau at hotmail.com (Leonard93) Date: Wed, 16 Apr 2014 02:45:49 -0700 (PDT) Subject: [rules-users] Loading rules from the filesystem? Message-ID: <1397641549639-4029275.post@n3.nabble.com> Can anyone here give me a good documentation place or thingy where I can read about how to implement the drools 6 method of loading your rules from a folder in the file system instead of inside the jar. I have it working currently with the knowledgebase class, but since that is deprecated I want to use the new classes. Although I read the drools documentation about KieBase and such and programmatically defining your kmodule. I did not really understand how that will help me load my rules from a folder. Basically what I want is that the rules located in C:\RulesFolder\rules.drl will be loaded into my application and available within a stateless session. Thanks. -- View this message in context: http://drools.46999.n3.nabble.com/Loading-rules-from-the-filesystem-tp4029275.html Sent from the Drools: User forum mailing list archive at Nabble.com. From krzysztof.cislo at gmail.com Wed Apr 16 06:04:09 2014 From: krzysztof.cislo at gmail.com (krzysztofcislo) Date: Wed, 16 Apr 2014 03:04:09 -0700 (PDT) Subject: [rules-users] KnowledgeBase caching Message-ID: <1397642649653-4029276.post@n3.nabble.com> Hi, In our project we would like to cache KnowledgeBase once it's created because compilation of rules takes long time and we can't afford to do it every time we need to process rules. Generaly we use ehCache as caching mechanism, but I am not sure if it's the best way to just put KnowledgeBase instance there. KnowledgeBase can have many inner objects and total size calculation is not efficient (ehCache complains about it). Setting count limit to cache object, and not memory limit can lead to out of memory or at least application performance degradation. Did anyone try to cache this object and reuse it further? Thank you in advance for answers. -- View this message in context: http://drools.46999.n3.nabble.com/KnowledgeBase-caching-tp4029276.html Sent from the Drools: User forum mailing list archive at Nabble.com. From dbrownell83 at hotmail.com Wed Apr 16 07:00:10 2014 From: dbrownell83 at hotmail.com (djb) Date: Wed, 16 Apr 2014 04:00:10 -0700 (PDT) Subject: [rules-users] Loading rules from the filesystem? In-Reply-To: <1397641549639-4029275.post@n3.nabble.com> References: <1397641549639-4029275.post@n3.nabble.com> Message-ID: <1397646010128-4029277.post@n3.nabble.com> Did you try the advice in the Documentation ? Example 4.60 seems like the one... KieServices kServices = KieServices.Factory.get(); KieFileSystem kfs = ks.newKieFileSystem(); kfs.write("src/main/resources/org/kie/example5/HAL5.drl", getRule()); KieBuilder kb = ks.newKieBuilder(kfs); I don't know what getRule() is though - I think it's referring to ResourceFactory.newClassPathResource("blahblahblah/rules/HAL5.drl") But yeah, I think the new stuff is definitely designed for Maven named sessions in mind, for best practice. -- View this message in context: http://drools.46999.n3.nabble.com/Loading-rules-from-the-filesystem-tp4029275p4029277.html Sent from the Drools: User forum mailing list archive at Nabble.com. From leonardlindenau at hotmail.com Wed Apr 16 07:43:41 2014 From: leonardlindenau at hotmail.com (Leonard93) Date: Wed, 16 Apr 2014 04:43:41 -0700 (PDT) Subject: [rules-users] Loading rules from the filesystem? In-Reply-To: <1397641549639-4029275.post@n3.nabble.com> References: <1397641549639-4029275.post@n3.nabble.com> Message-ID: <1397648621114-4029278.post@n3.nabble.com> Thank you, That did help together with reading the documentation again I could piece together various parts better than before, I couldn't really make the connections as well just from reading the docs ><. It works now :). Although I understand why the things are designed as it is, I am not fully convinced of the usage of the Drools Workbench and might want to have my own graphical interface for making rules. -- View this message in context: http://drools.46999.n3.nabble.com/Loading-rules-from-the-filesystem-tp4029275p4029278.html Sent from the Drools: User forum mailing list archive at Nabble.com. From stephen.masters at me.com Wed Apr 16 07:52:50 2014 From: stephen.masters at me.com (Stephen Masters) Date: Wed, 16 Apr 2014 12:52:50 +0100 Subject: [rules-users] Loading rules from the filesystem? In-Reply-To: <1397646010128-4029277.post@n3.nabble.com> References: <1397641549639-4029275.post@n3.nabble.com> <1397646010128-4029277.post@n3.nabble.com> Message-ID: These test classes do that between them (with a bit of help from some others): https://github.com/gratiartis/qzr/blob/master/sctrcd-drools/src/test/java/com/sctrcd/drools/spring/DroolsSpringTest.java https://github.com/gratiartis/qzr/blob/master/sctrcd-drools/src/test/java/com/sctrcd/drools/spring/DroolsSpringTestConfig.java You will probably need to follow the path through the code to understand how that application does it. tl;dr - If you don?t want to do that, then below is a method for creating a KieServices instance; after which, you need something like: KieContainer kieContainer = kieServices.newKieContainer(kieServices.getRepository().getDefaultReleaseId()); KieSession kieSession = kieContainer.newKieSession(SessionConfiguration.getDefaultInstance()); private void createAndBuildKieServices(DroolsResource[] resources) throws KieBuildException { this.kieServices = KieServices.Factory.get(); this.kfs = newKieFileSystem(); for (DroolsResource resource : resources) { log.info("Resource: " + resource.getType() + ", path type=" + resource.getPathType() + ", path=" + resource.getPath()); switch (resource.getPathType()) { case CLASSPATH: this.kfs.write(ResourceFactory.newClassPathResource(resource.getPath())); break; case FILE: this.kfs.write(ResourceFactory.newFileResource(resource.getPath())); break; case URL: UrlResource urlResource = (UrlResource) ResourceFactory .newUrlResource(resource.getPath()); if (resource.getUsername() != null) { log.info("Setting authentication for: " + resource.getUsername()); urlResource.setBasicAuthentication("enabled"); urlResource.setUsername(resource.getUsername()); urlResource.setPassword(resource.getPassword()); } this.kfs.write(urlResource); break; default: throw new IllegalArgumentException( "Unable to build this resource path type."); } } KieBuilder kieBuilder = kieServices.newKieBuilder(kfs).buildAll(); if (kieBuilder.getResults().hasMessages(Level.ERROR)) { List errors = kieBuilder.getResults().getMessages(Level.ERROR); StringBuilder sb = new StringBuilder("Errors:"); for (Message msg : errors) { sb.append("\n " + prettyBuildMessage(msg)); } throw new KieBuildException(sb.toString()); } log.info("KieServices built: " + toString()); } ... where DroolsResource is this: https://github.com/gratiartis/qzr/blob/master/sctrcd-drools/src/main/java/com/sctrcd/drools/DroolsResource.java -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140416/0f505cbd/attachment-0001.html From dbrownell83 at hotmail.com Wed Apr 16 09:30:11 2014 From: dbrownell83 at hotmail.com (djb) Date: Wed, 16 Apr 2014 06:30:11 -0700 (PDT) Subject: [rules-users] Integrate Drools Project with another Java project in Eclipse In-Reply-To: <1397654712480-4029280.post@n3.nabble.com> References: <1397654712480-4029280.post@n3.nabble.com> Message-ID: <1397655011001-4029281.post@n3.nabble.com> Eclipse classpath issues... have you added the jars to your Build Path? -- View this message in context: http://drools.46999.n3.nabble.com/Integrate-Drools-Project-with-another-Java-project-in-Eclipse-tp4029280p4029281.html Sent from the Drools: User forum mailing list archive at Nabble.com. From sean.x.su at gmail.com Wed Apr 16 13:04:46 2014 From: sean.x.su at gmail.com (Sean Su) Date: Wed, 16 Apr 2014 13:04:46 -0400 Subject: [rules-users] Best practice with Guvnor repository Message-ID: If as an organization, we are using Guvnor to host our rules and we have multiple rule based projects which may not have anything to do with each other, what would be the recommended practice - having one web application instance with different packages, or having multiple Guvnor instances therefore the repository are totally separated? Thanks Sean -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140416/38e2c7eb/attachment.html From newohybat at gmail.com Wed Apr 16 18:01:33 2014 From: newohybat at gmail.com (=?ISO-8859-2?Q?Jan_=A9=BBastn=FD?=) Date: Thu, 17 Apr 2014 00:01:33 +0200 Subject: [rules-users] Drools 6 inject ksession with configured persistence Message-ID: <534EFDBD.8050500@gmail.com> Hi, I have a kjar with kmodule.xml, where my kbase and its ksession are defined. Then I'd like to inject the ksession into my service component and work with it. But. I don't know where to configure persistence for the session. Well, in kmodule.xml there is not such an entry. And after injection there is no way of setting the EntityManagerFactory. Thanks Jan From dunnlow at yahoo.com Wed Apr 16 18:21:56 2014 From: dunnlow at yahoo.com (dunnlow) Date: Wed, 16 Apr 2014 15:21:56 -0700 (PDT) Subject: [rules-users] Stop change set processing from within listener in v5.6 Message-ID: <1397686916297-4029286.post@n3.nabble.com> I added a KnowledgeAgentEventListener (Drools 5.6) to a knowledgeagent. My vision is to use one of the listener methods (beforeChangeSetApplied perhaps) to examine the change set and determine if I want to cancel its processing. I see that the documentation states that the event getters return immutable objects. Has anyone attempted this? Is there a way to perform this? Thanks for any insight. -J -- View this message in context: http://drools.46999.n3.nabble.com/Stop-change-set-processing-from-within-listener-in-v5-6-tp4029286.html Sent from the Drools: User forum mailing list archive at Nabble.com. From leonardlindenau at hotmail.com Fri Apr 18 04:07:17 2014 From: leonardlindenau at hotmail.com (Leonard93) Date: Fri, 18 Apr 2014 01:07:17 -0700 (PDT) Subject: [rules-users] Cannot find KieModule: org.default:artifact:1.0.0-SNAPSHOT In-Reply-To: <1390144926592-4027760.post@n3.nabble.com> References: <1390144926592-4027760.post@n3.nabble.com> Message-ID: <1397808437903-4029290.post@n3.nabble.com> I have the same problem with almost identical code. The thing is that when I run the code normally from a Java main class there are no problems with finding the module. But if I run my web service that calls the same code it breaks with the same exception. Any idea's ? -- View this message in context: http://drools.46999.n3.nabble.com/Cannot-find-KieModule-org-default-artifact-1-0-0-SNAPSHOT-tp4027760p4029290.html Sent from the Drools: User forum mailing list archive at Nabble.com. From ephemeris.lappis at gmail.com Mon Apr 21 06:17:56 2014 From: ephemeris.lappis at gmail.com (Ephemeris Lappis) Date: Mon, 21 Apr 2014 03:17:56 -0700 (PDT) Subject: [rules-users] Collect all occurrences of resulting data. Message-ID: <1398075476251-4029296.post@n3.nabble.com> Hello. I'm looking for the better way to write a rule that collects data only when they have been all processed. For example, two input objects classes as facts : *Data* and *Category*. I declare a local type to memorize the result of the evaluation for each pair of fact. Some rule evaluates the Cartesian product of all *Data* by all *Category* : Now I want to collect all the results, but only when the previous rule has been fired for all the data. Something like : Any advice ? Thanks in advance for your help. Regards. -- View this message in context: http://drools.46999.n3.nabble.com/Collect-all-occurrences-of-resulting-data-tp4029296.html Sent from the Drools: User forum mailing list archive at Nabble.com. From ephemeris.lappis at gmail.com Mon Apr 21 06:42:37 2014 From: ephemeris.lappis at gmail.com (Ephemeris Lappis) Date: Mon, 21 Apr 2014 03:42:37 -0700 (PDT) Subject: [rules-users] Generics in local declared types (Drools 6.0.1 final) Message-ID: <1398076957060-4029297.post@n3.nabble.com> Hello.I've tried to declare fields with generics in local types, but it seems to be always rejected.For example :I've also tried with ArrayList or other concrete classes, but the syntax seems to produce syntax errors.Is this a limitation in type declaration ?An idea ?Thanks for your help.Regards. -- View this message in context: http://drools.46999.n3.nabble.com/Generics-in-local-declared-types-Drools-6-0-1-final-tp4029297.html Sent from the Drools: User forum mailing list archive at Nabble.com. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140421/e77616b1/attachment.html From wolfgang.laun at gmail.com Mon Apr 21 07:09:48 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Mon, 21 Apr 2014 13:09:48 +0200 Subject: [rules-users] Collect all occurrences of resulting data. In-Reply-To: <1398075476251-4029296.post@n3.nabble.com> References: <1398075476251-4029296.post@n3.nabble.com> Message-ID: This is one of the (rare) cases where I'd advocate salience. rule "Collect results when complete" salience -999999 when $all : List from collect(Result()) then ...do something with $all... end -W On 21/04/2014, Ephemeris Lappis wrote: > Hello. > > I'm looking for the better way to write a rule that collects data only when > they have been all processed. > > For example, two input objects classes as facts : *Data* and *Category*. > > I declare a local type to memorize the result of the evaluation for each > pair of fact. > > > > Some rule evaluates the Cartesian product of all *Data* by all *Category* : > > > > Now I want to collect all the results, but only when the previous rule has > been fired for all the data. > Something like : > > > > Any advice ? > > Thanks in advance for your help. > > Regards. > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Collect-all-occurrences-of-resulting-data-tp4029296.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > From ephemeris.lappis at gmail.com Mon Apr 21 08:47:15 2014 From: ephemeris.lappis at gmail.com (Ephemeris Lappis) Date: Mon, 21 Apr 2014 05:47:15 -0700 (PDT) Subject: [rules-users] Collect all occurrences of resulting data. In-Reply-To: References: <1398075476251-4029296.post@n3.nabble.com> Message-ID: <53551331.5050300@gmail.com> Hello. Thanks for this advice. I've tried it with a small test case, and it actually works fine : the collecting rule seems to be fired at the end. Nonetheless, I'm not confident at all with salience, since in my real use case I have many rules before and after that, and I worry that salience might move the problem elsewhere, and values must be set to all of them to ensure they're all executed according to the expected order. At this moment, the rules before the collecting rule also produce facts that are expected by the rules that follow it, and, I suppose, it's for that reason that all the ending part of the job is executed after the correct collection of the intermediary results. Another alternative ? Thanks again. Regards Ephemeris Lappis Le 21/04/2014 13:11, laune [via Drools] a ?crit : > This is one of the (rare) cases where I'd advocate salience. > > rule "Collect results when complete" > salience -999999 > when > $all : List from collect(Result()) > then > ...do something with $all... > end > > -W > > > On 21/04/2014, Ephemeris Lappis <[hidden email] > > wrote: > > > Hello. > > > > I'm looking for the better way to write a rule that collects data > only when > > they have been all processed. > > > > For example, two input objects classes as facts : *Data* and > *Category*. > > > > I declare a local type to memorize the result of the evaluation for > each > > pair of fact. > > > > > > > > Some rule evaluates the Cartesian product of all *Data* by all > *Category* : > > > > > > > > Now I want to collect all the results, but only when the previous > rule has > > been fired for all the data. > > Something like : > > > > > > > > Any advice ? > > > > Thanks in advance for your help. > > > > Regards. > > > > > > > > -- > > View this message in context: > > > http://drools.46999.n3.nabble.com/Collect-all-occurrences-of-resulting-data-tp4029296.html > > Sent from the Drools: User forum mailing list archive at Nabble.com. > > _______________________________________________ > > rules-users mailing list > > [hidden email] > > https://lists.jboss.org/mailman/listinfo/rules-users > > > _______________________________________________ > rules-users mailing list > [hidden email] > https://lists.jboss.org/mailman/listinfo/rules-users > > > ------------------------------------------------------------------------ > If you reply to this email, your message will be added to the > discussion below: > http://drools.46999.n3.nabble.com/Collect-all-occurrences-of-resulting-data-tp4029296p4029298.html > > To unsubscribe from Collect all occurrences of resulting data., click > here > . > NAML > > -- View this message in context: http://drools.46999.n3.nabble.com/Collect-all-occurrences-of-resulting-data-tp4029296p4029300.html Sent from the Drools: User forum mailing list archive at Nabble.com. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140421/0702d359/attachment-0001.html From apykhtin at ebay.com Mon Apr 21 11:21:52 2014 From: apykhtin at ebay.com (Pykhtin, Alex) Date: Mon, 21 Apr 2014 15:21:52 +0000 Subject: [rules-users] (Hot?) rules production deployment Message-ID: <78690DEA1EFE6D44902ACFECBEAC4BF4128114CB@DEN-EXDDA-S22.corp.ebay.com> Anyone can tell if Drools supports hot deployment of rules and fact types? We are using Drools rules (No Guvnor/Workbench), and the whole cycle Development-Test-Production takes a very long time. Ideally we would like business users to add or modify rules in Production without risk of crashing entire rules engine. But as of today, any rule or fact type change is subject to full regression testing, as any other of our Java code. I tried to experiment with Drools Workbench, but so far it doesn't look like it can help much with hot deployment. Workbench can greatly streamline the development and deployment process, but generally speaking, since all Drools boils down to Java, it is essentially another jar deployment. So, it looks like if we would want to simplify our production deployments, the only option is to abolish the QA cycle for Drools jars (which our QA will probably never agree to). Any ideas? Thanks, Alex -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140421/6ac703e7/attachment.html From wolfgang.laun at gmail.com Mon Apr 21 11:46:50 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Mon, 21 Apr 2014 17:46:50 +0200 Subject: [rules-users] Collect all occurrences of resulting data. In-Reply-To: <53551331.5050300@gmail.com> References: <1398075476251-4029296.post@n3.nabble.com> <53551331.5050300@gmail.com> Message-ID: I recommend at most 3 levels of salience, and only if you have a very limited scenario of insert / fire. Alternatively, you can use agenda groups. If I understand you correctly, you have some rules that execute "Before" and others that should execute "After". In your .drl, activation-group "Before" rule ... when ... then ... end ... rule ... when ... then ... end activation-group "After" rule ... when ... then ... end ... rule ... when ... then ... end You can set (the group "Before" before you insert facts, call fireAllRules, set "After" and fire again; then start over again. - See the Expert manual for some more about activation groups. Setting the agenda group from Java takes a little digging in the API doc: session.getAgenda().getAgendaGroup( "Before" ).setFocus(); -W On 21/04/2014, Ephemeris Lappis wrote: > Hello. > > Thanks for this advice. > > I've tried it with a small test case, and it actually works fine : the > collecting rule seems to be fired at the end. > > Nonetheless, I'm not confident at all with salience, since in my real > use case I have many rules before and after that, and I worry that > salience might move the problem elsewhere, and values must be set to all > of them to ensure they're all executed according to the expected order. > > At this moment, the rules before the collecting rule also produce facts > that are expected by the rules that follow it, and, I suppose, it's for > that reason that all the ending part of the job is executed after the > correct collection of the intermediary results. > > Another alternative ? > > Thanks again. > > Regards > > > > Ephemeris Lappis > > Le 21/04/2014 13:11, laune [via Drools] a ?crit : >> This is one of the (rare) cases where I'd advocate salience. >> >> rule "Collect results when complete" >> salience -999999 >> when >> $all : List from collect(Result()) >> then >> ...do something with $all... >> end >> >> -W >> >> >> On 21/04/2014, Ephemeris Lappis <[hidden email] >> > wrote: >> >> > Hello. >> > >> > I'm looking for the better way to write a rule that collects data >> only when >> > they have been all processed. >> > >> > For example, two input objects classes as facts : *Data* and >> *Category*. >> > >> > I declare a local type to memorize the result of the evaluation for >> each >> > pair of fact. >> > >> > >> > >> > Some rule evaluates the Cartesian product of all *Data* by all >> *Category* : >> > >> > >> > >> > Now I want to collect all the results, but only when the previous >> rule has >> > been fired for all the data. >> > Something like : >> > >> > >> > >> > Any advice ? >> > >> > Thanks in advance for your help. >> > >> > Regards. >> > >> > >> > >> > -- >> > View this message in context: >> > >> http://drools.46999.n3.nabble.com/Collect-all-occurrences-of-resulting-data-tp4029296.html >> > Sent from the Drools: User forum mailing list archive at Nabble.com. >> > _______________________________________________ >> > rules-users mailing list >> > [hidden email] >> > https://lists.jboss.org/mailman/listinfo/rules-users >> > >> _______________________________________________ >> rules-users mailing list >> [hidden email] >> https://lists.jboss.org/mailman/listinfo/rules-users >> >> >> ------------------------------------------------------------------------ >> If you reply to this email, your message will be added to the >> discussion below: >> http://drools.46999.n3.nabble.com/Collect-all-occurrences-of-resulting-data-tp4029296p4029298.html >> >> >> To unsubscribe from Collect all occurrences of resulting data., click >> here >> . >> NAML >> >> >> > > > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Collect-all-occurrences-of-resulting-data-tp4029296p4029300.html > Sent from the Drools: User forum mailing list archive at Nabble.com. From AVarghese at verisk.com Mon Apr 21 12:02:46 2014 From: AVarghese at verisk.com (alanvarghese) Date: Mon, 21 Apr 2014 09:02:46 -0700 (PDT) Subject: [rules-users] Unit testing a Single rule from a large set of DRL and DSL files. Message-ID: <1398096166692-4029305.post@n3.nabble.com> Hi There, I want to unit test a single rule from a set of multiple rules within multiple DRL files. Is there a way to do that? I am using Drools 6.0.0.Final and StatelessKieSession Thanks Alan -- View this message in context: http://drools.46999.n3.nabble.com/Unit-testing-a-Single-rule-from-a-large-set-of-DRL-and-DSL-files-tp4029305.html Sent from the Drools: User forum mailing list archive at Nabble.com. From wolfgang.laun at gmail.com Mon Apr 21 12:11:22 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Mon, 21 Apr 2014 18:11:22 +0200 Subject: [rules-users] Unit testing a Single rule from a large set of DRL and DSL files. In-Reply-To: <1398096166692-4029305.post@n3.nabble.com> References: <1398096166692-4029305.post@n3.nabble.com> Message-ID: Implement the interface org.kie.api.runtime.rule.AgendaFilter and pass it in with fireAllRules. -W On 21/04/2014, alanvarghese wrote: > Hi There, > > I want to unit test a single rule from a set of multiple rules within > multiple DRL files. > Is there a way to do that? > I am using > > Drools 6.0.0.Final > and > StatelessKieSession > > > Thanks > Alan > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Unit-testing-a-Single-rule-from-a-large-set-of-DRL-and-DSL-files-tp4029305.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > From ephemeris.lappis at gmail.com Mon Apr 21 12:58:40 2014 From: ephemeris.lappis at gmail.com (Ephemeris Lappis) Date: Mon, 21 Apr 2014 09:58:40 -0700 (PDT) Subject: [rules-users] Collect all occurrences of resulting data. In-Reply-To: References: <1398075476251-4029296.post@n3.nabble.com> <53551331.5050300@gmail.com> Message-ID: <53554E2E.8000206@gmail.com> Hello again. It seems clear that too many salience levels would make it all worse ! My ruleset executes over a simple list of initial facts, and proceeds more or less as you say in three phases : 1) Analise initial facts using several deduced facts to make intermediary conclusions implemented as locally declared types. 2) Consolidate the scattered produced facts to build seven main business rules : here is where I need to gather all the facts into a unique collection. Depending on each of the seven rules, the result may use a simple input fact, or, at the opposite, different collections of temporary facts... 3) At the end, for each input fact, generate a global decision using the seven rules, and output it into a global map. For that, I think that it may be rather reasonable [:)] setting 3 salience levels representing the three main steps of the rule system. I have had a look to the activation groups, but I don't think it could match this current need. Moreover this would be more intrusive since such a way the Java code should knows the layered structure of the rules. At this time the application code just puts the initial facts and extract the resulting map to produce a JSON like object to be written into a Mongo base... Thanks a lot for your help. Any new advice is welcome ! Best regards. Ephemeris Lappis Le 21/04/2014 17:48, laune [via Drools] a ?crit : > I recommend at most 3 levels of salience, and only if you have a > very limited scenario of insert / fire. > > Alternatively, you can use agenda groups. > > If I understand you correctly, you have some rules that execute > "Before" and others that should execute "After". In your .drl, > > activation-group "Before" > rule ... when ... then ... end ... rule ... when ... then ... end > activation-group "After" > rule ... when ... then ... end ... rule ... when ... then ... end > > You can set (the group "Before" before you insert facts, call > fireAllRules, set "After" and fire again; then start over again. - See > the Expert manual for some more about activation groups. > > Setting the agenda group from Java takes a little digging in the API doc: > session.getAgenda().getAgendaGroup( "Before" ).setFocus(); > > -W > > > > On 21/04/2014, Ephemeris Lappis <[hidden email] > > wrote: > > > Hello. > > > > Thanks for this advice. > > > > I've tried it with a small test case, and it actually works fine : the > > collecting rule seems to be fired at the end. > > > > Nonetheless, I'm not confident at all with salience, since in my real > > use case I have many rules before and after that, and I worry that > > salience might move the problem elsewhere, and values must be set to > all > > of them to ensure they're all executed according to the expected order. > > > > At this moment, the rules before the collecting rule also produce facts > > that are expected by the rules that follow it, and, I suppose, it's for > > that reason that all the ending part of the job is executed after the > > correct collection of the intermediary results. > > > > Another alternative ? > > > > Thanks again. > > > > Regards > > > > > > > > Ephemeris Lappis > > > > Le 21/04/2014 13:11, laune [via Drools] a ?crit : > >> This is one of the (rare) cases where I'd advocate salience. > >> > >> rule "Collect results when complete" > >> salience -999999 > >> when > >> $all : List from collect(Result()) > >> then > >> ...do something with $all... > >> end > >> > >> -W > >> > >> > >> On 21/04/2014, Ephemeris Lappis <[hidden email] > >> > wrote: > >> > >> > Hello. > >> > > >> > I'm looking for the better way to write a rule that collects data > >> only when > >> > they have been all processed. > >> > > >> > For example, two input objects classes as facts : *Data* and > >> *Category*. > >> > > >> > I declare a local type to memorize the result of the evaluation for > >> each > >> > pair of fact. > >> > > >> > > >> > > >> > Some rule evaluates the Cartesian product of all *Data* by all > >> *Category* : > >> > > >> > > >> > > >> > Now I want to collect all the results, but only when the previous > >> rule has > >> > been fired for all the data. > >> > Something like : > >> > > >> > > >> > > >> > Any advice ? > >> > > >> > Thanks in advance for your help. > >> > > >> > Regards. > >> > > >> > > >> > > >> > -- > >> > View this message in context: > >> > > >> > http://drools.46999.n3.nabble.com/Collect-all-occurrences-of-resulting-data-tp4029296.html > >> > Sent from the Drools: User forum mailing list archive at Nabble.com. > >> > _______________________________________________ > >> > rules-users mailing list > >> > [hidden email] > >> > https://lists.jboss.org/mailman/listinfo/rules-users > >> > > >> _______________________________________________ > >> rules-users mailing list > >> [hidden email] > >> https://lists.jboss.org/mailman/listinfo/rules-users > >> > >> > >> > ------------------------------------------------------------------------ > >> If you reply to this email, your message will be added to the > >> discussion below: > >> > http://drools.46999.n3.nabble.com/Collect-all-occurrences-of-resulting-data-tp4029296p4029298.html > >> > >> > >> To unsubscribe from Collect all occurrences of resulting data., click > >> here > >> < > >> NAML > >> > > > >> > >> > > > > > > > > > > > > -- > > View this message in context: > > > http://drools.46999.n3.nabble.com/Collect-all-occurrences-of-resulting-data-tp4029296p4029300.html > > Sent from the Drools: User forum mailing list archive at Nabble.com. > > _______________________________________________ > rules-users mailing list > [hidden email] > https://lists.jboss.org/mailman/listinfo/rules-users > > > ------------------------------------------------------------------------ > If you reply to this email, your message will be added to the > discussion below: > http://drools.46999.n3.nabble.com/Collect-all-occurrences-of-resulting-data-tp4029296p4029304.html > > To unsubscribe from Collect all occurrences of resulting data., click > here > . > NAML > > -- View this message in context: http://drools.46999.n3.nabble.com/Collect-all-occurrences-of-resulting-data-tp4029296p4029307.html Sent from the Drools: User forum mailing list archive at Nabble.com. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140421/2f875aa3/attachment-0001.html From wolfgang.laun at gmail.com Mon Apr 21 13:45:05 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Mon, 21 Apr 2014 19:45:05 +0200 Subject: [rules-users] Collect all occurrences of resulting data. In-Reply-To: <53554E2E.8000206@gmail.com> References: <1398075476251-4029296.post@n3.nabble.com> <53551331.5050300@gmail.com> <53554E2E.8000206@gmail.com> Message-ID: Just an additional hint: it's possible to switch between agenda groups (sorry for using the wrong term, but I didn't confuse you, did I?) from within rules as well. -W On 21/04/2014, Ephemeris Lappis wrote: > Hello again. > > It seems clear that too many salience levels would make it all worse ! > > My ruleset executes over a simple list of initial facts, and proceeds > more or less as you say in three phases : > > 1) Analise initial facts using several deduced facts to make > intermediary conclusions implemented as locally declared types. > > 2) Consolidate the scattered produced facts to build seven main business > rules : here is where I need to gather all the facts into a unique > collection. Depending on each of the seven rules, the result may use a > simple input fact, or, at the opposite, different collections of > temporary facts... > > 3) At the end, for each input fact, generate a global decision using the > seven rules, and output it into a global map. > > For that, I think that it may be rather reasonable [:)] setting 3 > salience levels representing the three main steps of the rule system. > > I have had a look to the activation groups, but I don't think it could > match this current need. Moreover this would be more intrusive since > such a way the Java code should knows the layered structure of the > rules. At this time the application code just puts the initial facts and > extract the resulting map to produce a JSON like object to be written > into a Mongo base... > > Thanks a lot for your help. Any new advice is welcome ! > > Best regards. > > Ephemeris Lappis > > Le 21/04/2014 17:48, laune [via Drools] a ?crit : >> I recommend at most 3 levels of salience, and only if you have a >> very limited scenario of insert / fire. >> >> Alternatively, you can use agenda groups. >> >> If I understand you correctly, you have some rules that execute >> "Before" and others that should execute "After". In your .drl, >> >> activation-group "Before" >> rule ... when ... then ... end ... rule ... when ... then ... end >> activation-group "After" >> rule ... when ... then ... end ... rule ... when ... then ... end >> >> You can set (the group "Before" before you insert facts, call >> fireAllRules, set "After" and fire again; then start over again. - See >> the Expert manual for some more about activation groups. >> >> Setting the agenda group from Java takes a little digging in the API doc: >> session.getAgenda().getAgendaGroup( "Before" ).setFocus(); >> >> -W >> >> >> >> On 21/04/2014, Ephemeris Lappis <[hidden email] >> > wrote: >> >> > Hello. >> > >> > Thanks for this advice. >> > >> > I've tried it with a small test case, and it actually works fine : the >> > collecting rule seems to be fired at the end. >> > >> > Nonetheless, I'm not confident at all with salience, since in my real >> > use case I have many rules before and after that, and I worry that >> > salience might move the problem elsewhere, and values must be set to >> all >> > of them to ensure they're all executed according to the expected order. >> > >> > At this moment, the rules before the collecting rule also produce facts >> > that are expected by the rules that follow it, and, I suppose, it's for >> > that reason that all the ending part of the job is executed after the >> > correct collection of the intermediary results. >> > >> > Another alternative ? >> > >> > Thanks again. >> > >> > Regards >> > >> > >> > >> > Ephemeris Lappis >> > >> > Le 21/04/2014 13:11, laune [via Drools] a ?crit : >> >> This is one of the (rare) cases where I'd advocate salience. >> >> >> >> rule "Collect results when complete" >> >> salience -999999 >> >> when >> >> $all : List from collect(Result()) >> >> then >> >> ...do something with $all... >> >> end >> >> >> >> -W >> >> >> >> >> >> On 21/04/2014, Ephemeris Lappis <[hidden email] >> >> > wrote: >> >> >> >> > Hello. >> >> > >> >> > I'm looking for the better way to write a rule that collects data >> >> only when >> >> > they have been all processed. >> >> > >> >> > For example, two input objects classes as facts : *Data* and >> >> *Category*. >> >> > >> >> > I declare a local type to memorize the result of the evaluation for >> >> each >> >> > pair of fact. >> >> > >> >> > >> >> > >> >> > Some rule evaluates the Cartesian product of all *Data* by all >> >> *Category* : >> >> > >> >> > >> >> > >> >> > Now I want to collect all the results, but only when the previous >> >> rule has >> >> > been fired for all the data. >> >> > Something like : >> >> > >> >> > >> >> > >> >> > Any advice ? >> >> > >> >> > Thanks in advance for your help. >> >> > >> >> > Regards. >> >> > >> >> > >> >> > >> >> > -- >> >> > View this message in context: >> >> > >> >> >> http://drools.46999.n3.nabble.com/Collect-all-occurrences-of-resulting-data-tp4029296.html >> >> > Sent from the Drools: User forum mailing list archive at Nabble.com. >> >> > _______________________________________________ >> >> > rules-users mailing list >> >> > [hidden email] >> >> > https://lists.jboss.org/mailman/listinfo/rules-users >> >> > >> >> _______________________________________________ >> >> rules-users mailing list >> >> [hidden email] >> >> https://lists.jboss.org/mailman/listinfo/rules-users >> >> >> >> >> >> >> ------------------------------------------------------------------------ >> >> If you reply to this email, your message will be added to the >> >> discussion below: >> >> >> http://drools.46999.n3.nabble.com/Collect-all-occurrences-of-resulting-data-tp4029296p4029298.html >> >> >> >> >> >> To unsubscribe from Collect all occurrences of resulting data., click >> >> here >> >> < >> >> NAML >> >> >> >> >> >> >> >> >> >> > >> > >> > >> > >> > >> > -- >> > View this message in context: >> > >> http://drools.46999.n3.nabble.com/Collect-all-occurrences-of-resulting-data-tp4029296p4029300.html >> > Sent from the Drools: User forum mailing list archive at Nabble.com. >> >> _______________________________________________ >> rules-users mailing list >> [hidden email] >> https://lists.jboss.org/mailman/listinfo/rules-users >> >> >> ------------------------------------------------------------------------ >> If you reply to this email, your message will be added to the >> discussion below: >> http://drools.46999.n3.nabble.com/Collect-all-occurrences-of-resulting-data-tp4029296p4029304.html >> >> >> To unsubscribe from Collect all occurrences of resulting data., click >> here >> . >> NAML >> >> >> > > > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Collect-all-occurrences-of-resulting-data-tp4029296p4029307.html > Sent from the Drools: User forum mailing list archive at Nabble.com. From AVarghese at verisk.com Mon Apr 21 15:09:30 2014 From: AVarghese at verisk.com (alanvarghese) Date: Mon, 21 Apr 2014 12:09:30 -0700 (PDT) Subject: [rules-users] Unit testing a Single rule from a large set of DRL and DSL files. In-Reply-To: References: <1398096166692-4029305.post@n3.nabble.com> Message-ID: <1398107370800-4029310.post@n3.nabble.com> Thank you that was a big help. But I see that I cannot use a StatelessKieSession to do that. I have to use a Stateful Session. Is there anyway I can use a StatelessKieSession to unit test a single rule? -- View this message in context: http://drools.46999.n3.nabble.com/Unit-testing-a-Single-rule-from-a-large-set-of-DRL-and-DSL-files-tp4029305p4029310.html Sent from the Drools: User forum mailing list archive at Nabble.com. From wolfgang.laun at gmail.com Mon Apr 21 15:36:20 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Mon, 21 Apr 2014 21:36:20 +0200 Subject: [rules-users] Unit testing a Single rule from a large set of DRL and DSL files. In-Reply-To: <1398107370800-4029310.post@n3.nabble.com> References: <1398096166692-4029305.post@n3.nabble.com> <1398107370800-4029310.post@n3.nabble.com> Message-ID: You don't lose anything when you use a stateful session, most certainly not for unit-testing a rule. -W On 21/04/2014, alanvarghese wrote: > Thank you that was a big help. > But I see that I cannot use a StatelessKieSession to do that. > > I have to use a Stateful Session. > Is there anyway I can use a StatelessKieSession to unit test a single rule? > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Unit-testing-a-Single-rule-from-a-large-set-of-DRL-and-DSL-files-tp4029305p4029310.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > From AVarghese at verisk.com Mon Apr 21 15:59:06 2014 From: AVarghese at verisk.com (alanvarghese) Date: Mon, 21 Apr 2014 12:59:06 -0700 (PDT) Subject: [rules-users] Unit testing a Single rule from a large set of DRL and DSL files. In-Reply-To: References: <1398096166692-4029305.post@n3.nabble.com> <1398107370800-4029310.post@n3.nabble.com> Message-ID: <1398110346246-4029312.post@n3.nabble.com> OK Agreed. I can definitely work with that. Thanks Again. But my main problem is that the LHS for all the rules in my dslr files fires as soon as I execute. kieSession.insert(output); I want only the LHS for the rule that I am unit testing to fire. Is there any way to do that? -- View this message in context: http://drools.46999.n3.nabble.com/Unit-testing-a-Single-rule-from-a-large-set-of-DRL-and-DSL-files-tp4029305p4029312.html Sent from the Drools: User forum mailing list archive at Nabble.com. From wolfgang.laun at gmail.com Tue Apr 22 01:20:44 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Tue, 22 Apr 2014 07:20:44 +0200 Subject: [rules-users] Unit testing a Single rule from a large set of DRL and DSL files. In-Reply-To: <1398110346246-4029312.post@n3.nabble.com> References: <1398096166692-4029305.post@n3.nabble.com> <1398107370800-4029310.post@n3.nabble.com> <1398110346246-4029312.post@n3.nabble.com> Message-ID: If you do that, you won't be unit-testing the rule as it operates in cahoots with all other rules :-) You could put that rule on a DRL file of its own and compile, create the KB and run the session. There should be a way to manipulate a Knowledge Package, handle rules one by one. But that's not a "stable" API and I wouldn't recommend that either. -W On 21/04/2014, alanvarghese wrote: > OK Agreed. I can definitely work with that. > Thanks Again. > > But my main problem is that the LHS for all the rules in my dslr files > fires > as soon as I execute. > kieSession.insert(output); > > I want only the LHS for the rule that I am unit testing to fire. > > Is there any way to do that? > > > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Unit-testing-a-Single-rule-from-a-large-set-of-DRL-and-DSL-files-tp4029305p4029312.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > From chandu_divi at hotmail.com Tue Apr 22 01:35:44 2014 From: chandu_divi at hotmail.com (chandu_divi) Date: Mon, 21 Apr 2014 22:35:44 -0700 (PDT) Subject: [rules-users] Drools Fusion Dropping Actions to Events? Message-ID: <1398144944142-4029314.post@n3.nabble.com> I am using Drools Fusion 6.0.1.Final version, it looks like some (rather several) actions to the events are dropped. I am sending about 100K events and expecting an action to all the events, but only 5000 actions are performed, which means about 95K actopms are dropped. The same issue was posted in the thread http://drools.46999.n3.nabble.com/rules-users-Drools-Fusion-Dropping-Events-td4023843.html, but it is marked as resolved. The defect https://issues.jboss.org/browse/DROOLS-131 is also marked as fixed. But this issue seems to be appearing again. Here is my code. kmodule.xml ed.drl package drools import foo.TemperatureEvent declare TemperatureEvent @role(event) end rule "RULE S1" when $te:TemperatureEvent(measure <= 50) from entry-point entryone then System.err.println("The temperature at location - "+$te.getLocation() + " is " + $te.getMeasure()); end rule "RULE S2" when $te:TemperatureEvent(measure > 50) from entry-point entryone then System.err.println("The temperature at location - "+$te.getLocation() + " is " + $te.getMeasure()); end TemperatureEvent.java package foo; public class TemperatureEvent { int measure; String location; long timeStamp; public TemperatureEvent(int measure, String location, long timeStamp) { this.measure = measure; this.location = location; this.timeStamp = timeStamp; } public int getMeasure() { return measure; } public void setMeasure(int measure) { this.measure = measure; } public String getLocation() { return location; } public void setLocation(String location) { this.location = location; } public long getTimeStamp() { return timeStamp; } public void setTimeStamp(long timeStamp) { this.timeStamp = timeStamp; } } App.java package foo; import java.io.FileOutputStream; import java.io.PrintStream; import java.util.Random; import org.kie.api.KieServices; import org.kie.api.runtime.KieContainer; import org.kie.api.runtime.KieSession; import org.kie.api.runtime.rule.EntryPoint; public class App { public static void main(String[] args) throws Exception { System.setErr(new PrintStream(new FileOutputStream("report.txt"))); // Start Drools. KieServices ks = KieServices.Factory.get(); KieContainer kContainer = ks.getKieClasspathContainer(); final KieSession kSession = kContainer.newKieSession("edSession"); EntryPoint entryPoint1 = kSession.getEntryPoint("entryone"); new Thread() { @Override public void run() { kSession.fireUntilHalt(); } }.start(); Random measure = new Random(System.currentTimeMillis()); Random location = new Random(System.currentTimeMillis() - 1000000L); String locations[] = { "Bangalore", "Chennai", "Delhi", "Mumbai", "Kolkata" }; for (int i = 0; i < 10; ++i) { for (int j = 0; j < 1000; ++j) { TemperatureEvent te = new TemperatureEvent( measure.nextInt(100), locations[location.nextInt(5)], System.currentTimeMillis()); entryPoint1.insert(te); // Thread.sleep(1); } } Thread.sleep(100); kSession.halt(); kSession.dispose(); } } -- View this message in context: http://drools.46999.n3.nabble.com/Drools-Fusion-Dropping-Actions-to-Events-tp4029314.html Sent from the Drools: User forum mailing list archive at Nabble.com. From wolfgang.laun at gmail.com Tue Apr 22 02:43:10 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Tue, 22 Apr 2014 08:43:10 +0200 Subject: [rules-users] Drools Fusion Dropping Actions to Events? In-Reply-To: <1398144944142-4029314.post@n3.nabble.com> References: <1398144944142-4029314.post@n3.nabble.com> Message-ID: This seems to be a race condition, the KIE session not being thread-safe: if events are inserted in a tight loop, about 50% simply evaporate. Using Thread.sleep(1) after each insert avoids all losses, but that's hardly a feasible workaround, since this doesn't guarantee that the thread running the session has become active and "digested" the fact. -W On 22/04/2014, chandu_divi wrote: > I am using Drools Fusion 6.0.1.Final version, it looks like some (rather > several) actions to the events are dropped. I am sending about 100K events > and expecting an action to all the events, but only 5000 actions are > performed, which means about 95K actopms are dropped. > > The same issue was posted in the thread > http://drools.46999.n3.nabble.com/rules-users-Drools-Fusion-Dropping-Events-td4023843.html, > but it is marked as resolved. > > The defect https://issues.jboss.org/browse/DROOLS-131 is also marked as > fixed. > > But this issue seems to be appearing again. > > Here is my code. > > kmodule.xml > > > > > > > > > ed.drl > > package drools > > import foo.TemperatureEvent > > declare TemperatureEvent > @role(event) > end > > rule "RULE S1" > when > $te:TemperatureEvent(measure <= 50) from entry-point entryone > then > System.err.println("The temperature at location - "+$te.getLocation() + > " is " + $te.getMeasure()); > end > > rule "RULE S2" > when > $te:TemperatureEvent(measure > 50) from entry-point entryone > then > System.err.println("The temperature at location - "+$te.getLocation() + > " is " + $te.getMeasure()); > end > > > TemperatureEvent.java > > package foo; > > public class TemperatureEvent { > > int measure; > String location; > long timeStamp; > > public TemperatureEvent(int measure, String location, long timeStamp) { > this.measure = measure; > this.location = location; > this.timeStamp = timeStamp; > } > > public int getMeasure() { > return measure; > } > > public void setMeasure(int measure) { > this.measure = measure; > } > > public String getLocation() { > return location; > } > > public void setLocation(String location) { > this.location = location; > } > > public long getTimeStamp() { > return timeStamp; > } > > public void setTimeStamp(long timeStamp) { > this.timeStamp = timeStamp; > } > } > > App.java > > package foo; > > import java.io.FileOutputStream; > import java.io.PrintStream; > import java.util.Random; > > import org.kie.api.KieServices; > import org.kie.api.runtime.KieContainer; > import org.kie.api.runtime.KieSession; > import org.kie.api.runtime.rule.EntryPoint; > > public class App { > public static void main(String[] args) throws Exception { > System.setErr(new PrintStream(new FileOutputStream("report.txt"))); > // Start Drools. > KieServices ks = KieServices.Factory.get(); > KieContainer kContainer = ks.getKieClasspathContainer(); > final KieSession kSession = kContainer.newKieSession("edSession"); > EntryPoint entryPoint1 = kSession.getEntryPoint("entryone"); > > new Thread() { > @Override > public void run() { > kSession.fireUntilHalt(); > } > }.start(); > > Random measure = new Random(System.currentTimeMillis()); > Random location = new Random(System.currentTimeMillis() - > 1000000L); > String locations[] = { "Bangalore", "Chennai", "Delhi", "Mumbai", > "Kolkata" }; > for (int i = 0; i < 10; ++i) { > for (int j = 0; j < 1000; ++j) { > > TemperatureEvent te = new TemperatureEvent( > measure.nextInt(100), > locations[location.nextInt(5)], > System.currentTimeMillis()); > entryPoint1.insert(te); > // Thread.sleep(1); > } > } > Thread.sleep(100); > kSession.halt(); > kSession.dispose(); > } > } > > > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Drools-Fusion-Dropping-Actions-to-Events-tp4029314.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > From chandu_divi at hotmail.com Tue Apr 22 04:17:22 2014 From: chandu_divi at hotmail.com (Chandra Sekhar Divi) Date: Tue, 22 Apr 2014 01:17:22 -0700 (PDT) Subject: [rules-users] Drools Fusion Dropping Actions to Events? In-Reply-To: References: <1398144944142-4029314.post@n3.nabble.com> Message-ID: <1398154642300-4029316.post@n3.nabble.com> Thanks a lot for the information. Adding 'Thread.sleep(1);' after every insert reduces the problem intensity, but sometimes even this solution also does not perform all the expected actions (May be some events are dropped due to race condition). Is there a way I can wait for KIE session to digest the event before I can insert another event? Thanks, Chandra. -- View this message in context: http://drools.46999.n3.nabble.com/Drools-Fusion-Dropping-Actions-to-Events-tp4029314p4029316.html Sent from the Drools: User forum mailing list archive at Nabble.com. From wolfgang.laun at gmail.com Tue Apr 22 05:10:04 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Tue, 22 Apr 2014 11:10:04 +0200 Subject: [rules-users] Drools Fusion Dropping Actions to Events? In-Reply-To: <1398154642300-4029316.post@n3.nabble.com> References: <1398144944142-4029314.post@n3.nabble.com> <1398154642300-4029316.post@n3.nabble.com> Message-ID: On 22/04/2014, Chandra Sekhar Divi wrote: > Thanks a lot for the information. > Adding 'Thread.sleep(1);' after every insert reduces the problem intensity, > but sometimes even this solution also does not perform all the expected > actions (May be some events are dropped due to race condition). > Is there a way I can wait for KIE session to digest the event before I can > insert another event? Not unless you consider inserting and firing all rules in a synchronous (single-threaded) application. The feasibility depends on the frequency of arriving events, but if you receive one temperature reading per minute from each city or town in India (less than 1,700), you won't have any problems. FWIW, the race condition does not occur with Drools versions 5.3.0 and 5.5.0; so it should not be in 5.6 either. -W > > Thanks, > Chandra. > > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Drools-Fusion-Dropping-Actions-to-Events-tp4029314p4029316.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > From stephen.masters at me.com Tue Apr 22 08:47:00 2014 From: stephen.masters at me.com (Stephen Masters) Date: Tue, 22 Apr 2014 13:47:00 +0100 Subject: [rules-users] (Hot?) rules production deployment In-Reply-To: <78690DEA1EFE6D44902ACFECBEAC4BF4128114CB@DEN-EXDDA-S22.corp.ebay.com> References: <78690DEA1EFE6D44902ACFECBEAC4BF4128114CB@DEN-EXDDA-S22.corp.ebay.com> Message-ID: <1D92B78F-C786-4090-B79C-9B0C89F3E2DA@me.com> If you want to hot-deploy rule changes, just take a look at the documentation on knowledge agents or KieScanner (v6). It?s also easy enough to code a knowledge base reload yourself. However, you say: Ideally we would like business users to add or modify rules in Production without risk of crashing entire rules engine. Rules and facts are code, so changes could crash your system if written poorly. Supporting hot deployment does not mean that you don?t need to regression test your changes. All it means is that you can break your system much more quickly than before. The only way to get around this is to write your own UI, which prevents users from making any rules or fact changes that ?break? your system. How you achieve that is very much dependent on what you want users to change and how much time you are prepared to spend writing automated tests to prevent breaking changes from being deployed. Steve On 21 Apr 2014, at 16:21, Pykhtin, Alex wrote: > Anyone can tell if Drools supports hot deployment of rules and fact types? > > We are using Drools rules (No Guvnor/Workbench), and the whole cycle Development-Test-Production takes a very long time. Ideally we would like business users to add or modify rules in Production without risk of crashing entire rules engine. But as of today, any rule or fact type change is subject to full regression testing, as any other of our Java code. I tried to experiment with Drools Workbench, but so far it doesn?t look like it can help much with hot deployment. Workbench can greatly streamline the development and deployment process, but generally speaking, since all Drools boils down to Java, it is essentially another jar deployment. So, it looks like if we would want to simplify our production deployments, the only option is to abolish the QA cycle for Drools jars (which our QA will probably never agree to). > > Any ideas? > > Thanks, > Alex > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140422/fd962439/attachment.html From wolfgang.laun at gmail.com Tue Apr 22 10:42:54 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Tue, 22 Apr 2014 16:42:54 +0200 Subject: [rules-users] (Hot?) rules production deployment In-Reply-To: <1D92B78F-C786-4090-B79C-9B0C89F3E2DA@me.com> References: <78690DEA1EFE6D44902ACFECBEAC4BF4128114CB@DEN-EXDDA-S22.corp.ebay.com> <1D92B78F-C786-4090-B79C-9B0C89F3E2DA@me.com> Message-ID: Another technique to prevent non-programmers to wreak havoc is to put them on the leash of a domain specific language (DSL). But developing a non-trivial DSL is hard work, and you might find that you just spend your money in a different way. Moreover, anything that's not too restrictive must, by definition, provide enough leeway to enable the non-programmers to program nonsense: this won't crash the system but it sure will annoy the users. The claim that "our business users write rules" is very frequently based on them typing, into a spreadsheet or similar, parameters for a small, limited number of rule templates, which are then replicated by filling in constant values... -W On 22/04/2014, Stephen Masters wrote: > If you want to hot-deploy rule changes, just take a look at the > documentation on knowledge agents or KieScanner (v6). It's also easy enough > to code a knowledge base reload yourself. > > However, you say: > > Ideally we would like business users to add or modify rules in Production > without risk of crashing entire rules engine. > > Rules and facts are code, so changes could crash your system if written > poorly. Supporting hot deployment does not mean that you don't need to > regression test your changes. All it means is that you can break your system > much more quickly than before. > > The only way to get around this is to write your own UI, which prevents > users from making any rules or fact changes that 'break' your system. How > you achieve that is very much dependent on what you want users to change and > how much time you are prepared to spend writing automated tests to prevent > breaking changes from being deployed. > > Steve > > > On 21 Apr 2014, at 16:21, Pykhtin, Alex wrote: > >> Anyone can tell if Drools supports hot deployment of rules and fact >> types? >> >> We are using Drools rules (No Guvnor/Workbench), and the whole cycle >> Development-Test-Production takes a very long time. Ideally we would like >> business users to add or modify rules in Production without risk of >> crashing entire rules engine. But as of today, any rule or fact type >> change is subject to full regression testing, as any other of our Java >> code. I tried to experiment with Drools Workbench, but so far it doesn't >> look like it can help much with hot deployment. Workbench can greatly >> streamline the development and deployment process, but generally speaking, >> since all Drools boils down to Java, it is essentially another jar >> deployment. So, it looks like if we would want to simplify our production >> deployments, the only option is to abolish the QA cycle for Drools jars >> (which our QA will probably never agree to). >> >> Any ideas? >> >> Thanks, >> Alex >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users > > From chandu_divi at hotmail.com Wed Apr 23 00:45:04 2014 From: chandu_divi at hotmail.com (Chandra Sekhar Divi) Date: Tue, 22 Apr 2014 21:45:04 -0700 (PDT) Subject: [rules-users] Drools Fusion Dropping Actions to Events? In-Reply-To: References: <1398144944142-4029314.post@n3.nabble.com> <1398154642300-4029316.post@n3.nabble.com> Message-ID: <1398228304605-4029324.post@n3.nabble.com> Hi Wolfgang, Thanks for the information, It works fine with the 5.6 version. Thanks, Chandra. -- View this message in context: http://drools.46999.n3.nabble.com/Drools-Fusion-Dropping-Actions-to-Events-tp4029314p4029324.html Sent from the Drools: User forum mailing list archive at Nabble.com. From zahid.ahmed at emirates.com Wed Apr 23 02:54:12 2014 From: zahid.ahmed at emirates.com (706826) Date: Tue, 22 Apr 2014 23:54:12 -0700 (PDT) Subject: [rules-users] Upgrade Guvnor 5.5.0 repository to Drools-WB 6.0 In-Reply-To: <1383142008343-4026553.post@n3.nabble.com> References: <1383142008343-4026553.post@n3.nabble.com> Message-ID: <1398236052038-4029325.post@n3.nabble.com> Hi, Did you get the solutin for the migration. -- View this message in context: http://drools.46999.n3.nabble.com/Upgrade-Guvnor-5-5-0-repository-to-Drools-WB-6-0-tp4026553p4029325.html Sent from the Drools: User forum mailing list archive at Nabble.com. From Johannes.Weber at hp.com Wed Apr 23 03:27:00 2014 From: Johannes.Weber at hp.com (DE_Azrael) Date: Wed, 23 Apr 2014 00:27:00 -0700 (PDT) Subject: [rules-users] java.lang.NoSuchMethodError thrown in drools api Message-ID: <1398238020378-4029326.post@n3.nabble.com> Hi everyone, I'm using drools 5.5.0 final in my project. The project is already running since a couple of years by now and I'm new in the project. I did some tuning on the JBOSS and the source code and deployed a new version. Since than I have a strange behaviour on one interface. The first 4 to 6 transactions are working fine. Than I'm receiving a "NoSuchMethodError" from my insertFact method. Caused by: java.lang.NoSuchMethodError: java.lang.StringBuilder.append(Ljava/util/Date;)Ljava/lang/StringBuilder; at ConditionEvaluatorf4a3f354729241ac8370890200fdf2d8.evaluate(Unknown Source) at org.drools.rule.constraint.MvelConstraint.evaluate(MvelConstraint.java:200) at org.drools.rule.constraint.MvelConstraint.isAllowedCachedRight(MvelConstraint.java:184) at org.drools.common.SingleBetaConstraints.isAllowedCachedRight(SingleBetaConstraints.java:134) at org.drools.reteoo.NotNode.assertObject(NotNode.java:131) at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59) at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:141) at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:497) at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:382) at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:141) at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59) at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:141) at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59) at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235) at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240) at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:350) at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:311) at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:903) at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:847) at org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:269) at de.hp.ipcc.speechLogic.tools.DroolsHelper.insertFact(DroolsHelper.java:208) at de.hp.ipcc.speechLogic.fixedNet.SpeechLogicFnBean.getOrders(SpeechLogicFnBean.java:443) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111) at org.jboss.ejb3.interceptors.container.ContainerMethodInvocationWrapper.invokeNext(ContainerMethodInvocationWrapper.java:72) at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor$InvocationContext.proceed(InvocationContextInterceptor.java:138) ... 99 more So I did a fallback on the old version (without my tuning changes) and the funny thing is that the failure is now also happening there .... but it has never been registered before. I checked the information that I'm inserting into drools for the cases where everything is working fine and where the failure occurs. The information are identical. Here the code where the failure is thrown: //orders are in dto, now load delta information for customer, //so drools can relate them to the order if(customerNumber != null && customerNumber.trim().length() > 0){ SpeloDeltaDao deltaDao = new SpeloDeltaDao(); Collection deltaList = deltaDao.getDeltaInfos(DELTA_CATEGORY_ORDERS, customerNumber); if(deltaList != null){ for(Spelo_Delta sd : deltaList){ dh.insertFact(sd); } if(logga.isDebugEnabled()){ msg = new StringBuilder().append("Inserted ").append(deltaList.size()); msg.append(" spelo_delta records for customer <").append(customerNumber).append(">"); if(logga.isDebugEnabled()) { logga.debug(msg); } } } public FactHandle insertFact(Object proposition){ FactHandle fh = null; if(ksession != null){ fh = ksession.insert(proposition); } return fh; } Not sure if it is important how the KnowledgeBAse and session is defined ..... public class DroolsHelper implements Constants { protected static KnowledgeBase kbase = null; StatefulKnowledgeSession ksession = null; ......... So by now I have no clue what could be wrong and it would be really cool if one of you could help me. Thanks Johannes -- View this message in context: http://drools.46999.n3.nabble.com/java-lang-NoSuchMethodError-thrown-in-drools-api-tp4029326.html Sent from the Drools: User forum mailing list archive at Nabble.com. From leonardlindenau at hotmail.com Wed Apr 23 04:37:44 2014 From: leonardlindenau at hotmail.com (Leonard93) Date: Wed, 23 Apr 2014 01:37:44 -0700 (PDT) Subject: [rules-users] Is there a better way to write this rule? Message-ID: <1398242264940-4029327.post@n3.nabble.com> When I have the following rule: rule "Discount Egypt" salience 0 when $T : TripRequest ( destination == "Egypt" ) then ((DiscountResult) $T.getResult()).setDiscount(5); end Is there a better way to do the 'then' part of the rule (when it comes to formatting, but still executes the same thing)? My request object has a result object that has a method called setDiscount that needs to be called. The setDiscount cannot be in the request object because there are multiple kinds of Result Objects, thus the casting to its type. This rule works fine, I was just wondering if there are any easier ways to do it. I already found out you can do 'destination' instead of 'getDestination()' which helps make the rules more readable. -- View this message in context: http://drools.46999.n3.nabble.com/Is-there-a-better-way-to-write-this-rule-tp4029327.html Sent from the Drools: User forum mailing list archive at Nabble.com. From bharadwaj2012 at gmail.com Wed Apr 23 04:46:02 2014 From: bharadwaj2012 at gmail.com (Bharadwaj N) Date: Wed, 23 Apr 2014 14:16:02 +0530 Subject: [rules-users] Is there a better way to write this rule? In-Reply-To: <1398242264940-4029327.post@n3.nabble.com> References: <1398242264940-4029327.post@n3.nabble.com> Message-ID: rule "Discount Egypt" salience 0 when $T : TripRequest ( destination == "Egypt" ) $dest: DiscountResult() then $dest=$T.getResult(); $dest.setDiscount(5); end On Wed, Apr 23, 2014 at 2:07 PM, Leonard93 wrote: > When I have the following rule: > > rule "Discount Egypt" > salience 0 > when > $T : TripRequest ( destination == "Egypt" ) > then > ((DiscountResult) $T.getResult()).setDiscount(5); > end > > > Is there a better way to do the 'then' part of the rule (when it comes to > formatting, but still executes the same thing)? > My request object has a result object that has a method called setDiscount > that needs to be called. > > The setDiscount cannot be in the request object because there are multiple > kinds of Result Objects, thus the casting to its type. > > This rule works fine, I was just wondering if there are any easier ways to > do it. I already found out you can do 'destination' instead of > 'getDestination()' which helps make the rules more readable. > > > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Is-there-a-better-way-to-write-this-rule-tp4029327.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140423/1eedd48e/attachment.html From michael.anstis at gmail.com Wed Apr 23 04:52:11 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Wed, 23 Apr 2014 09:52:11 +0100 Subject: [rules-users] Upgrade Guvnor 5.5.0 repository to Drools-WB 6.0 In-Reply-To: <1398236052038-4029325.post@n3.nabble.com> References: <1383142008343-4026553.post@n3.nabble.com> <1398236052038-4029325.post@n3.nabble.com> Message-ID: http://drools.46999.n3.nabble.com/Migration-to-Drools-6-and-Workbench-from-Guvnor-5-5-td4028040.html On 23 April 2014 07:54, 706826 wrote: > Hi, > > Did you get the solutin for the migration. > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Upgrade-Guvnor-5-5-0-repository-to-Drools-WB-6-0-tp4026553p4029325.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140423/bce77337/attachment.html From wolfgang.laun at gmail.com Wed Apr 23 06:41:49 2014 From: wolfgang.laun at gmail.com (Wolfgang Laun) Date: Wed, 23 Apr 2014 12:41:49 +0200 Subject: [rules-users] Is there a better way to write this rule? In-Reply-To: References: <1398242264940-4029327.post@n3.nabble.com> Message-ID: On 23/04/2014, Bharadwaj N wrote: > rule "Discount Egypt" > salience 0 > when > $T : TripRequest ( destination == "Egypt" ) > $dest: DiscountResult() This is wrong: the rule will not fire unless there is a DiscountResult fact in working memory. > then > $dest=$T.getResult(); This isn't correct either: you cannot assign to a bound variable. > $dest.setDiscount(5); > end > > > On Wed, Apr 23, 2014 at 2:07 PM, Leonard93 > wrote: > >> When I have the following rule: >> >> rule "Discount Egypt" >> salience 0 >> when >> $T : TripRequest ( destination == "Egypt" ) >> then >> ((DiscountResult) $T.getResult()).setDiscount(5); >> end >> >> >> Is there a better way to do the 'then' part of the rule (when it comes to >> formatting, but still executes the same thing)? >> My request object has a result object that has a method called >> setDiscount >> that needs to be called. >> >> The setDiscount cannot be in the request object because there are >> multiple >> kinds of Result Objects, thus the casting to its type. >> >> This rule works fine, I was just wondering if there are any easier ways >> to >> do it. I already found out you can do 'destination' instead of >> 'getDestination()' which helps make the rules more readable. >> >> >> >> >> >> -- >> View this message in context: >> http://drools.46999.n3.nabble.com/Is-there-a-better-way-to-write-this-rule-tp4029327.html >> Sent from the Drools: User forum mailing list archive at Nabble.com. >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> > From leonardlindenau at hotmail.com Wed Apr 23 07:17:51 2014 From: leonardlindenau at hotmail.com (Leonard93) Date: Wed, 23 Apr 2014 04:17:51 -0700 (PDT) Subject: [rules-users] Is there a better way to write this rule? In-Reply-To: References: <1398242264940-4029327.post@n3.nabble.com> Message-ID: <1398251871123-4029333.post@n3.nabble.com> It only works if you do it like this: rule "Discount Egypt" salience 0 when $T : TripRequest ( destination == "Egypt" ) $dest: DiscountResult() then $dest= (DiscountResult) $T.getResult(); $dest.setDiscount(5); end Since getResult() returns an instance of the interface IResult, it needs to be cast to the proper type first. But this approach does not feel better than the previous notation. But thanks for the replies. -- View this message in context: http://drools.46999.n3.nabble.com/Is-there-a-better-way-to-write-this-rule-tp4029327p4029333.html Sent from the Drools: User forum mailing list archive at Nabble.com. From mario.fusco at gmail.com Wed Apr 23 08:21:24 2014 From: mario.fusco at gmail.com (Mario Fusco) Date: Wed, 23 Apr 2014 05:21:24 -0700 (PDT) Subject: [rules-users] Drools Fusion Dropping Actions to Events? In-Reply-To: <1398228304605-4029324.post@n3.nabble.com> References: <1398144944142-4029314.post@n3.nabble.com> <1398154642300-4029316.post@n3.nabble.com> <1398228304605-4029324.post@n3.nabble.com> Message-ID: <1398255684256-4029334.post@n3.nabble.com> Hi, I developed a test case almost identical to the one you suggested and I am pasting it at the end of this email. In the last months we did a few fixes on the event processing part and indeed this test works as expected, i.e. the assertion at the end of the test is true meaning that all the 10K inserted events get correctly processed. I suggest you to try this on the 6.1.0.Beta2 version that should already contain all the fixes related to this use case. Anyway we will drop a Beta3 before the end of this week. I hope this helps, Mario -------- @Test public void testThroughput() throws Exception { String drl = "package drools\n" + "\n" + "import " + TemperatureEvent.class.getCanonicalName() + "\n" + "global java.util.concurrent.atomic.AtomicInteger counter\n" + "\n" + "declare TemperatureEvent\n" + "@role(event)\n" + "end\n" + "\n" + "rule \"RULE S1\"\n" + "when\n" + " $te:TemperatureEvent(measure <= 50) from entry-point entryone\n" + "then\n" + " counter.incrementAndGet();\n" + //" System.err.println(\"The temperature at location - \"+$te.getLocation() + \" is \" + $te.getMeasure());\n" + "end\n" + "\n" + "rule \"RULE S2\"\n" + "when\n" + " $te:TemperatureEvent(measure > 50) from entry-point entryone\n" + "then\n" + " counter.incrementAndGet();\n" + //" System.err.println(\"The temperature at location - \"+$te.getLocation() + \" is \" + $te.getMeasure());\n" + "end\n"; KieServices ks = KieServices.Factory.get(); KieFileSystem kfs = ks.newKieFileSystem(); KieModuleModel kieModule = ks.newKieModuleModel(); kieModule.newKieBaseModel("KBase") .setDefault(true) .setEventProcessingMode(EventProcessingOption.STREAM) .newKieSessionModel("KSession") .setDefault(true); kfs.writeKModuleXML(kieModule.toXML()); kfs.write("src/main/resources/lifecycle.drl", drl); KieBuilder builder = ks.newKieBuilder(kfs).buildAll(); assertEquals(0, builder.getResults().getMessages().size()); final KieSession kSession = ks.newKieContainer(ks.getRepository().getDefaultReleaseId()).newKieSession(); AtomicInteger counter = new AtomicInteger(0); kSession.setGlobal("counter", counter); EntryPoint entryPoint1 = kSession.getEntryPoint("entryone"); new Thread() { @Override public void run() { kSession.fireUntilHalt(); } }.start(); Random measure = new Random(System.currentTimeMillis()); Random location = new Random(System.currentTimeMillis() - 1000000L); String locations[] = { "Bangalore", "Chennai", "Delhi", "Mumbai", "Kolkata" }; for (int i = 0; i < 10; ++i) { for (int j = 0; j < 1000; ++j) { TemperatureEvent te = new TemperatureEvent( measure.nextInt(100), locations[location.nextInt(5)], System.currentTimeMillis()); entryPoint1.insert(te); } } Thread.sleep(100L); kSession.halt(); kSession.dispose(); assertEquals(10000, counter.get()); } public static class TemperatureEvent { int measure; String location; long timeStamp; public TemperatureEvent(int measure, String location, long timeStamp) { this.measure = measure; this.location = location; this.timeStamp = timeStamp; } public int getMeasure() { return measure; } public void setMeasure(int measure) { this.measure = measure; } public String getLocation() { return location; } public void setLocation(String location) { this.location = location; } public long getTimeStamp() { return timeStamp; } public void setTimeStamp(long timeStamp) { this.timeStamp = timeStamp; } } -- View this message in context: http://drools.46999.n3.nabble.com/Drools-Fusion-Dropping-Actions-to-Events-tp4029314p4029334.html Sent from the Drools: User forum mailing list archive at Nabble.com. From apykhtin at ebay.com Wed Apr 23 14:03:39 2014 From: apykhtin at ebay.com (Pykhtin, Alex) Date: Wed, 23 Apr 2014 18:03:39 +0000 Subject: [rules-users] (Hot?) rules production deployment Message-ID: <78690DEA1EFE6D44902ACFECBEAC4BF4128117BB@DEN-EXDDA-S22.corp.ebay.com> Thank you, Steve, I looked at KnowledgeAgent and KieScanner documentation and looks like this is something that can help in hot deployment, but not so much in safe proofing. Here are some basic facts (or misconceptions) that I have gathered so far: 1. KnowledgeAgent and KieScanner are able to dynamically detect changes in the rules (and other resources) and hot-deploy them to running Drools installation; 2. KnowledgeAgent belongs to Drools 5.X. In 6.X it is deprecated in favor of KieScanner (which is available starting 6.0.X); 3. KnowledgeAgent transmits changes through monitoring file system for .DRL files or via HTTP connection to a running Guvnor instance; 4. KieScanner transmits changes through monitoring Maven repository. It appears like old KnowledgeAgent's ability to transmit individual .DRL files is deprecated; 5. Neither KnowledgeAgent nor KieScanner have a built-in mechanism for error handling, at least not a sophisticated one. There is no way to perform a rollback if at some point it becomes clear that a new update is a bad one. Thanks, Alex > If you want to hot-deploy rule changes, just take a look at the documentation on knowledge agents or KieScanner (v6). It's also easy enough to code a knowledge base reload yourself. > > However, you say: > > Ideally we would like business users to add or modify rules in Production without risk of crashing entire rules engine. > > Rules and facts are code, so changes could crash your system if written poorly. Supporting hot deployment does not mean that you don't need to regression test your changes. All it means is that you can break your system much more quickly than before. > > The only way to get around this is to write your own UI, which prevents users from making any rules or fact changes that 'break' your system. How you achieve that is very much dependent on what you want users to change and how much time you are prepared to spend writing automated tests to prevent breaking changes from being deployed. > > Steve -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140423/fd36c356/attachment-0001.html From apykhtin at ebay.com Wed Apr 23 14:10:28 2014 From: apykhtin at ebay.com (Pykhtin, Alex) Date: Wed, 23 Apr 2014 18:10:28 +0000 Subject: [rules-users] (Hot?) rules production deployment Message-ID: <78690DEA1EFE6D44902ACFECBEAC4BF4128117CF@DEN-EXDDA-S22.corp.ebay.com> Thank you, Steve, I looked at KnowledgeAgent and KieScanner documentation and looks like this is something that can help in hot deployment, but not so much in safe proofing. Here are some basic facts (or misconceptions) that I have gathered so far: 1. KnowledgeAgent and KieScanner are able to dynamically detect changes in the rules (and other resources) and hot-deploy them to running Drools installation; 2. KnowledgeAgent belongs to Drools 5.X. In 6.X it is deprecated in favor of KieScanner (which is available starting 6.0.X); 3. KnowledgeAgent transmits changes through monitoring file system for .DRL files or via HTTP connection to a running Guvnor instance; 4. KieScanner transmits changes through monitoring Maven repository. It appears like old KnowledgeAgent's ability to transmit individual .DRL files is deprecated; 5. Neither KnowledgeAgent nor KieScanner have a built-in mechanism for error handling, at least not a sophisticated one. There is no way to perform a rollback if at some point it becomes clear that a new update is a bad one. Thanks, Alex > If you want to hot-deploy rule changes, just take a look at the documentation on knowledge agents or KieScanner (v6). It's also easy enough to code a knowledge base reload yourself. > > However, you say: > > Ideally we would like business users to add or modify rules in Production without risk of crashing entire rules engine. > > Rules and facts are code, so changes could crash your system if written poorly. Supporting hot deployment does not mean that you don't need to regression test your changes. All it means is that you can break your system much more quickly than before. > > The only way to get around this is to write your own UI, which prevents users from making any rules or fact changes that 'break' your system. How you achieve that is very much dependent on what you want users to change and how much time you are prepared to spend writing automated tests to prevent breaking changes from being deployed. > > Steve -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140423/177575ee/attachment.html From dsotty at gmail.com Wed Apr 23 15:15:39 2014 From: dsotty at gmail.com (Davide Sottara) Date: Wed, 23 Apr 2014 12:15:39 -0700 Subject: [rules-users] Is there a better way to write this rule? In-Reply-To: <1398251871123-4029333.post@n3.nabble.com> References: <1398242264940-4029327.post@n3.nabble.com> <1398251871123-4029333.post@n3.nabble.com> Message-ID: <5358115B.9070005@gmail.com> I think you missed Wolfgang's points.. this form is ***WRONG*** 1) It assumes that the DiscountResult is in the working memory, which may not be the case unless you insert it explicitly 2) it will fire for ANY DiscountResult/TripRequest combination since there is no explicit join condition between the two. 3) Bound variables are not meant to be reassigned in the RHS. 4) Even the cast in the RHS will not save you from ClassCastExceptions, unless it's implied that destinations "Egypt" can only have DiscountResult as results. You need something like this: when $T : TripRequest( destination == "Egypt", $dest : result, result#DiscountResult // same as "instanceof"here ) then ((DiscountResult) $dest).setDiscount( 5 ); end One thing that could be done - but does not work right now, is to expand on the "#" operator, so that whenever you write TripRequest( $dest : result#DiscountResult ) the variable $dest is created with DiscountResult as an inferred type, rather than its declared type IResult As mentioned, this does not work right now... it may be a bug (cc-ing Mario for discussion) Best Davide On 04/23/2014 04:17 AM, Leonard93 wrote: > It only works if you do it like this: > rule "Discount Egypt" > salience 0 > when > $T : TripRequest ( destination == "Egypt" ) > $dest: DiscountResult() > then > $dest= (DiscountResult) $T.getResult(); > $dest.setDiscount(5); > end > > > Since getResult() returns an instance of the interface IResult, it needs to > be cast to the proper type first. But this approach does not feel better > than the previous notation. > > But thanks for the replies. > > > > > -- > View this message in context: http://drools.46999.n3.nabble.com/Is-there-a-better-way-to-write-this-rule-tp4029327p4029333.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140423/f745e9e1/attachment.html From danieldsouza15 at gmail.com Wed Apr 23 19:53:25 2014 From: danieldsouza15 at gmail.com (Daniel Souza) Date: Wed, 23 Apr 2014 16:53:25 -0700 (PDT) Subject: [rules-users] Distributed Drools Message-ID: <1398297205587-4029338.post@n3.nabble.com> Hi all, I'm looking for some distributed solution available with drools. I want to create a distributed Multi-agent architecture for my project using a shared working memory. Searching for solutions, I found the DJess and Octopus solution that use the Jess inference engine. For Drools, I found this one: http://www.plugtree.com/making-a-non-persistent-ha-knowledge-session/ It seems that Kie is flexible enough to distribute the knowledge session in local ksessions, but I think that the ha-ksession doesn't provide a shared working memory to different kbases. Seeing the sample project, there's just one rule set (drl) with only one rule. I can use as a sample model to do what I want to do. This project showed me how I can extend the Kie and implement my own. I'm not familiar with Drools 6 yet, but I'm reading papers about distributed Rule-Based Systems concerning Multi-Agent Systems solutions and I didn't find any solution using Drools. The majority solutions were provided using a shared working memory with local copies. *Than, it gives me a question: is it possible to create a shared working memory with Drools?* To refresh What I mean, there's an old paper showing differences between Blackboard Systems and Rule-Based Systems (see Figure 1). In Figure 1, the Blackboard is a shared working memory to insert facts, where each knowledge source (KS) is activated according with the facts inserted. Each KS is a specific expert with your own rules set that look for the blackboard to produce partial solutions that can be seen as new facts to be inserted in the blackboard. These partial solutions can activate more KS to produce new partial solutions until the final solution be reached. In contrast, in production systems, we build a knowledge base with a set o rules that can be activated according with facts inserted in a local working memory (there's no shared working memory between others kbases with their own rules set). In DJess, the authors introduce a model for distributing rule-based inference systems called Web of Inference Systems (WoIS). Each member of WoIS is composed of an inference system (IS) and a rule base, while all ISs operate on a single Shared Working Memory (SWM). WoIS is controlled by a dedicated component called manager (M). Each IS holds a copy of a part of the SWM in its local working memory, while all ISs run independently in parallel. This model was utilized to implement a distributed version of Jess called DJess. Synchronization between interfering rules is achieved by means of shadow facts and ghost facts. A shadow fact is a Jess fact linked to a Java bean object. Each shared fact is implemented as a shadow fact, and thus an associated Java bean object is created. All the proxies corresponding to the same shared fact are linked together by means of a Java remote object called ghost fact. Access of the ISs to the ghost facts are synchronized by acquiring locks during the transition from the conflict resolution stage to the act stage of an inference cycle. If not were done yet, I want to implement my own approach using Drools. I don't know if I can reach the final solution using Drools, but it seems the the Kie is flexible enough to be extend and I implement something. I'm planning to use the FIPA Subscribe protocol to synchronize the Shared Working Memory with a local working memory for each agent. "The FIPA Subscribe Interaction Protocol (IP) allows an agent to request a receiving agent to perform an action on subscription and subsequently when the referenced object changes" Regards, Daniel Souza -- View this message in context: http://drools.46999.n3.nabble.com/Distributed-Drools-tp4029338.html Sent from the Drools: User forum mailing list archive at Nabble.com. From dsotty at gmail.com Wed Apr 23 20:03:08 2014 From: dsotty at gmail.com (Davide Sottara) Date: Wed, 23 Apr 2014 17:03:08 -0700 Subject: [rules-users] Distributed Drools In-Reply-To: <1398297205587-4029338.post@n3.nabble.com> References: <1398297205587-4029338.post@n3.nabble.com> Message-ID: <535854BC.3000605@gmail.com> Daniel, this is a really timely message. In the past, we did an initial experiment, creating a drools-5.x based agent compatible with the FIPA spec. The code is here https://github.com/droolsjbpm/drools-mas We are now planning to migrate to 6.x/KIE, probably over summer. We may want to join efforts. I'm bcc-ing Mauricio and Esteban, who worked on the initial implementation, and of course Mark who may provide more information. As far as I know, there is some independent work going on regarding the creation of an "execution container". I don't know the specs, but maybe it could also be exploited as an underlying platform. We may try to arrange a moment to get together, in IRC or hangout. I am definitely interested in seeing this move forward Best Davide On 04/23/2014 04:53 PM, Daniel Souza wrote: > Hi all, I'm looking for some distributed solution available with drools. I > want to create a distributed Multi-agent architecture for my project using a > shared working memory. > > Searching for solutions, I found the DJess and Octopus solution that use the > Jess inference engine. > For Drools, I found this one: > http://www.plugtree.com/making-a-non-persistent-ha-knowledge-session/ > It seems that Kie is flexible enough to distribute the knowledge session in > local ksessions, but I think that the ha-ksession doesn't provide a shared > working memory to different kbases. Seeing the sample project, there's just > one rule set (drl) with only one rule. I can use as a sample model to do > what I want to do. This project showed me how I can extend the Kie and > implement my own. > I'm not familiar with Drools 6 yet, but I'm reading papers about distributed > Rule-Based Systems concerning Multi-Agent Systems solutions and I didn't > find any solution using Drools. The majority solutions were provided using a > shared working memory with local copies. > > *Than, it gives me a question: is it possible to create a shared working > memory with Drools?* > > To refresh What I mean, there's an old paper showing differences between > Blackboard Systems and Rule-Based Systems (see Figure 1). > > > > In Figure 1, the Blackboard is a shared working memory to insert facts, > where each knowledge source (KS) is activated according with the facts > inserted. Each KS is a specific expert with your own rules set that look for > the blackboard to produce partial solutions that can be seen as new facts to > be inserted in the blackboard. These partial solutions can activate more KS > to produce new partial solutions until the final solution be reached. In > contrast, in production systems, we build a knowledge base with a set o > rules that can be activated according with facts inserted in a local working > memory (there's no shared working memory between others kbases with their > own rules set). > > In DJess, the authors introduce a model for distributing rule-based > inference systems called Web of Inference Systems (WoIS). Each member of > WoIS is composed of an inference system (IS) and a rule base, while all ISs > operate on a single Shared Working Memory (SWM). WoIS is controlled by a > dedicated > component called manager (M). Each IS holds a copy of a part of the SWM in > its local working memory, while all ISs run independently in parallel. This > model was utilized to implement a distributed version of Jess called DJess. > Synchronization between interfering rules is achieved by means of shadow > facts and ghost facts. A shadow fact is a Jess fact linked to a Java bean > object. Each shared fact is implemented as a shadow fact, and thus an > associated Java bean object is created. All the proxies corresponding to the > same shared fact are linked together by means of a Java remote object called > ghost fact. Access of the ISs to the ghost facts are synchronized by > acquiring locks during the transition from the conflict resolution stage to > the act stage of an inference cycle. > > If not were done yet, I want to implement my own approach using Drools. I > don't know if I can reach the final solution using Drools, but it seems the > the Kie is flexible enough to be extend and I implement something. I'm > planning to use the FIPA Subscribe protocol to synchronize the Shared > Working Memory with a local working memory for each agent. > > "The FIPA Subscribe Interaction Protocol (IP) allows an agent to request a > receiving agent to perform an action on subscription and subsequently when > the referenced object changes" > > > Regards, > Daniel Souza > > > > -- > View this message in context: http://drools.46999.n3.nabble.com/Distributed-Drools-tp4029338.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > From danieldsouza15 at gmail.com Wed Apr 23 20:53:48 2014 From: danieldsouza15 at gmail.com (Daniel Souza) Date: Wed, 23 Apr 2014 17:53:48 -0700 (PDT) Subject: [rules-users] Distributed Drools In-Reply-To: <535854BC.3000605@gmail.com> References: <1398297205587-4029338.post@n3.nabble.com> <535854BC.3000605@gmail.com> Message-ID: <1398300828122-4029340.post@n3.nabble.com> Hy Davide, thanks for reply. I was planning to do this on top of JADE framework and my deadline is to finish this architecture in July. I have a hard work to do in a little time, because it will be used for me to build the agents' knowledge in my specific application and reused for another person, merging the knowledge used by another multi-agent project. Our projects is very similar. We used the biologists knowledge simulated in a multi-agent environment to support a specific step done in genome projects. However, I can try to run the drools-mas and see how it works. There is a paper (2011) published in Rule-ML that explain the role of rules applied in multi-agent systems, explained in different agent architectures (reactive, hybrid and deliberative). First of all, I need to talk to my advisor, because it's a MSc work. I have only this year to conclude my work. I will read the drools-mas sources and try to run the samples. I usually use the hangout: dssouzadan at gmail.com. We can talk there. By the way, I will try to create a shared working memory using Drools. Regards, Daniel Souza -- View this message in context: http://drools.46999.n3.nabble.com/Distributed-Drools-tp4029338p4029340.html Sent from the Drools: User forum mailing list archive at Nabble.com. From profversaggi at gmail.com Wed Apr 23 22:09:27 2014 From: profversaggi at gmail.com (Matthew Versaggi) Date: Wed, 23 Apr 2014 22:09:27 -0400 Subject: [rules-users] Distributed Drools In-Reply-To: <1398300828122-4029340.post@n3.nabble.com> References: <1398297205587-4029338.post@n3.nabble.com> <535854BC.3000605@gmail.com> <1398300828122-4029340.post@n3.nabble.com> Message-ID: Hi Daniel, Do you happen to have a URL top that paper you referenced ... it sounds like a good read. -matt On Wed, Apr 23, 2014 at 8:53 PM, Daniel Souza wrote: > Hy Davide, thanks for reply. > I was planning to do this on top of JADE framework and my deadline is to > finish this architecture in July. > I have a hard work to do in a little time, because it will be used for me > to > build the agents' knowledge in my specific application and reused for > another person, merging the knowledge used by another multi-agent project. > Our projects is very similar. We used the biologists knowledge simulated in > a multi-agent environment to support a specific step done in genome > projects. > > However, I can try to run the drools-mas and see how it works. There is a > paper (2011) published in Rule-ML that explain the role of rules applied in > multi-agent systems, explained in different agent architectures (reactive, > hybrid and deliberative). > > First of all, I need to talk to my advisor, because it's a MSc work. I have > only this year to conclude my work. I will read the drools-mas sources and > try to run the samples. > > I usually use the hangout: dssouzadan at gmail.com. We can talk there. By the > way, I will try to create a shared working memory using Drools. > > Regards, > Daniel Souza > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Distributed-Drools-tp4029338p4029340.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -- ######################################################### Matthew R. Versaggi, President & CEO Versaggi Information Systems, Inc. Adjunct Professor of eBusiness DePaul University Email: mailto:matt at versaggi.com, ProfVersaggi at gmail.com M: 630-292-8422 LinkedIn: http://www.linkedin.com/in/versaggi About Me: http://www.matt-versaggi.com/resume/ ######################################################### -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140423/2db045ad/attachment.html From danieldsouza15 at gmail.com Wed Apr 23 22:39:12 2014 From: danieldsouza15 at gmail.com (Daniel Souza) Date: Wed, 23 Apr 2014 19:39:12 -0700 (PDT) Subject: [rules-users] Distributed Drools In-Reply-To: References: <1398297205587-4029338.post@n3.nabble.com> <535854BC.3000605@gmail.com> <1398300828122-4029340.post@n3.nabble.com> Message-ID: <1398307152720-4029342.post@n3.nabble.com> Hi Matt, This is the paper url available free from google: Rule-based Distributed and Agent Systems It's around 27 pages. Daniel -- View this message in context: http://drools.46999.n3.nabble.com/Distributed-Drools-tp4029338p4029342.html Sent from the Drools: User forum mailing list archive at Nabble.com. From esteban.aliverti at gmail.com Thu Apr 24 03:07:15 2014 From: esteban.aliverti at gmail.com (Esteban Aliverti) Date: Thu, 24 Apr 2014 09:07:15 +0200 Subject: [rules-users] Distributed Drools In-Reply-To: <1398307152720-4029342.post@n3.nabble.com> References: <1398297205587-4029338.post@n3.nabble.com> <535854BC.3000605@gmail.com> <1398300828122-4029340.post@n3.nabble.com> <1398307152720-4029342.post@n3.nabble.com> Message-ID: Matthew, regarding drools-mas, I would use this other repo: https://github.com/SocraticGrid/drools-mas. I did some changes there that are not present in droolsjbpm's one (I have to merge them back). I do think, though, that drools-mas is (currently) more suitable for a multi-agent scenario where each of the agents has a private and local working memory that is not shared among the others. drools-mas uses FIPA messages to handle the communication between the agents, but no real shared working memory is never used. Previous implementation of drools-mas used drools-grid to try to do something like this (distributed working memories), but this implementation was discarded after drools-grid was discontinued (it actually never passed the incubation period). Regards, XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Esteban Aliverti - Blog @ http://ilesteban.wordpress.com On Thu, Apr 24, 2014 at 4:39 AM, Daniel Souza wrote: > Hi Matt, > > This is the paper url available free from google: Rule-based Distributed > and Agent Systems > < > http://vsis-www.informatik.uni-hamburg.de/getDoc.php/publications/431/intro.pdf > > > It's around 27 pages. > > Daniel > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Distributed-Drools-tp4029338p4029342.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140424/0f647dd7/attachment.html From salaboy at gmail.com Thu Apr 24 04:23:18 2014 From: salaboy at gmail.com (Mauricio Salatino) Date: Thu, 24 Apr 2014 09:23:18 +0100 Subject: [rules-users] Distributed Drools In-Reply-To: References: <1398297205587-4029338.post@n3.nabble.com> <535854BC.3000605@gmail.com> <1398300828122-4029340.post@n3.nabble.com> <1398307152720-4029342.post@n3.nabble.com> Message-ID: Daniel, that sounds as a really good project, as Esteban and Davide mention we should work together to at least share experiences and cons and pros over the two different implementations (drools only vs jade + drools). Keep us posted about your progress! On Thu, Apr 24, 2014 at 8:07 AM, Esteban Aliverti < esteban.aliverti at gmail.com> wrote: > Matthew, regarding drools-mas, I would use this other repo: > https://github.com/SocraticGrid/drools-mas. I did some changes there that are not present in droolsjbpm's one (I have > to merge them back). > I do think, though, that drools-mas is (currently) more suitable for a > multi-agent scenario where each of the agents has a private and local > working memory that is not shared among the others. drools-mas uses FIPA > messages to handle the communication between the agents, but no real shared > working memory is never used. Previous implementation of drools-mas used > drools-grid to try to do something like this (distributed working > memories), but this implementation was discarded after drools-grid was > discontinued (it actually never passed the incubation period). > > Regards, > > > XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX > > Esteban Aliverti > - Blog @ http://ilesteban.wordpress.com > > > On Thu, Apr 24, 2014 at 4:39 AM, Daniel Souza wrote: > >> Hi Matt, >> >> This is the paper url available free from google: Rule-based Distributed >> and Agent Systems >> < >> http://vsis-www.informatik.uni-hamburg.de/getDoc.php/publications/431/intro.pdf >> > >> It's around 27 pages. >> >> Daniel >> >> >> >> -- >> View this message in context: >> http://drools.46999.n3.nabble.com/Distributed-Drools-tp4029338p4029342.html >> Sent from the Drools: User forum mailing list archive at Nabble.com. >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -- - MyJourney @ http://salaboy.com - Co-Founder @ http://www.jugargentina.org - Co-Founder @ http://www.jbug.com.ar - Salatino "Salaboy" Mauricio - -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140424/951fd368/attachment.html From stephen.masters at me.com Thu Apr 24 06:03:28 2014 From: stephen.masters at me.com (Stephen Masters) Date: Thu, 24 Apr 2014 11:03:28 +0100 Subject: [rules-users] (Hot?) rules production deployment In-Reply-To: <78690DEA1EFE6D44902ACFECBEAC4BF4128117CF@DEN-EXDDA-S22.corp.ebay.com> References: <78690DEA1EFE6D44902ACFECBEAC4BF4128117CF@DEN-EXDDA-S22.corp.ebay.com> Message-ID: Pretty much correct. re. 5 - It depends on what you mean by it becoming clear that a release is a bad one. I have tended to code up my own knowledge base reloads and check for errors, but I?m pretty sure that if your rules don?t compile, then neither the KnowledgeAgent nor the KieScanner will deploy them. If you use Guvnor, then your project will not be built and packaged if the rules don?t compile. However, if the problem is that the new rules are just ?wrong? within your domain, then it?s hard to think of any way in which that could be detected automatically, other than by you yourself writing the validation. To help with this, I have previously set up a FitNesse server which would load in the latest rules and evaluate them, ensuring that output expectations are met. However, no such test suite is perfect. It may be that a change is made which needs a new test to evaluate it. If that test is not written, then the suite of tests still passes. Similarly, you can write unit tests for the build. You can deploy to a staging server, where the rules can be evaluated with as-live data, so that you can regression test the rules service in isolation from the rest of your application. Looking at rollback, in one Guvnor-based system, I have the users take a snapshot for each rules deployment. They then copy that snapshot to an ?approved? snapshot. This way, rollback is just a case of copying the previous version to ?approved? and deploying that. The users are legal and back office operations teams, and they are pretty efficient at following this process these days. However, in the end it comes down to things like: What kind of rule changes do users typically make? i.e. Are they just changing some numbers in existing decision tables? Can you trust the users to only make non-risky changes? Guvnor won?t stop them from altering the structure of decision tables, or adding new non-decision-table rules. How risk-averse are you? Steve On 23 Apr 2014, at 19:10, Pykhtin, Alex wrote: > Thank you, Steve, > I looked at KnowledgeAgent and KieScanner documentation and looks like this is something that can help in hot deployment, but not so much in safe proofing. > > Here are some basic facts (or misconceptions) that I have gathered so far: > > 1. KnowledgeAgent and KieScanner are able to dynamically detect changes in the rules (and other resources) and hot-deploy them to running Drools installation; > 2. KnowledgeAgent belongs to Drools 5.X. In 6.X it is deprecated in favor of KieScanner (which is available starting 6.0.X); > 3. KnowledgeAgent transmits changes through monitoring file system for .DRL files or via HTTP connection to a running Guvnor instance; > 4. KieScanner transmits changes through monitoring Maven repository. It appears like old KnowledgeAgent?s ability to transmit individual .DRL files is deprecated; > 5. Neither KnowledgeAgent nor KieScanner have a built-in mechanism for error handling, at least not a sophisticated one. There is no way to perform a rollback if at some point it becomes clear that a new update is a bad one. > > Thanks, > Alex > > > If you want to hot-deploy rule changes, just take a look at the documentation on knowledge agents or KieScanner (v6). It?s also easy enough to code a knowledge base reload yourself. > > > > However, you say: > > > > Ideally we would like business users to add or modify rules in Production without risk of crashing entire rules engine. > > > > Rules and facts are code, so changes could crash your system if written poorly. Supporting hot deployment does not mean that you don?t need to regression test your changes. All it means is that you can break your system much more quickly than before. > > > > The only way to get around this is to write your own UI, which prevents users from making any rules or fact changes that ?break? your system. How you achieve that is very much dependent on what you want users to change and how much time you are prepared to spend writing automated tests to prevent breaking changes from being deployed. > > > > Steve > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140424/e1b9d9bc/attachment-0001.html From jina_lu at yahoo.com Thu Apr 24 07:08:34 2014 From: jina_lu at yahoo.com (jinaLu) Date: Thu, 24 Apr 2014 04:08:34 -0700 (PDT) Subject: [rules-users] Process timer intermediate event Message-ID: <1398337714249-4029349.post@n3.nabble.com> I'm searching for more detailed information about how jbpm timer intermediate event works. Maybe someone of you have dialed with this event type and know how exactly it works. I'm interested in caching, persistence aspects. Would really appreciate any help. -- View this message in context: http://drools.46999.n3.nabble.com/Process-timer-intermediate-event-tp4029349.html Sent from the Drools: User forum mailing list archive at Nabble.com. From danieldsouza15 at gmail.com Thu Apr 24 08:46:51 2014 From: danieldsouza15 at gmail.com (Daniel Souza) Date: Thu, 24 Apr 2014 05:46:51 -0700 (PDT) Subject: [rules-users] Distributed Drools In-Reply-To: References: <1398297205587-4029338.post@n3.nabble.com> <535854BC.3000605@gmail.com> <1398300828122-4029340.post@n3.nabble.com> <1398307152720-4029342.post@n3.nabble.com> Message-ID: <1398343611427-4029351.post@n3.nabble.com> Hi Salaboy, It's ok. I'm starting to think in some initial possibilities, but I don't know if I can reach a good reliability in cases in cases which some agent crashes and if I can ensure persistence. For now, I'm studying more the code for distributed CEP approach and how they extended the drools classes using the Kie. They used the JMS to exchange message between a centralized ksession and its nodes. In this part I can use the JADE ACLMessage class and use a subscription protocol to notify changes. I'm planning to advance by trial and error creating some samples to clarify me what to do after, because I'm newbie looking inside drools sources. Regards, Daniel Souza -- View this message in context: http://drools.46999.n3.nabble.com/Distributed-Drools-tp4029338p4029351.html Sent from the Drools: User forum mailing list archive at Nabble.com. From chandu_divi at hotmail.com Thu Apr 24 09:21:35 2014 From: chandu_divi at hotmail.com (Chandra Sekhar Divi) Date: Thu, 24 Apr 2014 06:21:35 -0700 (PDT) Subject: [rules-users] Drools Fusion Dropping Actions to Events? In-Reply-To: <1398255684256-4029334.post@n3.nabble.com> References: <1398144944142-4029314.post@n3.nabble.com> <1398154642300-4029316.post@n3.nabble.com> <1398228304605-4029324.post@n3.nabble.com> <1398255684256-4029334.post@n3.nabble.com> Message-ID: <1398345695323-4029353.post@n3.nabble.com> Thanks Mario, It works with 6.1.0.Beta2. -Chandra. -- View this message in context: http://drools.46999.n3.nabble.com/Drools-Fusion-Dropping-Actions-to-Events-tp4029314p4029353.html Sent from the Drools: User forum mailing list archive at Nabble.com. From apykhtin at ebay.com Thu Apr 24 10:20:21 2014 From: apykhtin at ebay.com (Pykhtin, Alex) Date: Thu, 24 Apr 2014 14:20:21 +0000 Subject: [rules-users] (Hot?) rules production deployment Message-ID: <78690DEA1EFE6D44902ACFECBEAC4BF4128118C8@DEN-EXDDA-S22.corp.ebay.com> Thank you again, Steve. We need to make all kind of changes to the rules, however, small changes are more frequent than significant ones. So, every time we are deploying a new rule, there is a risk of it either not compiling or failing properly follow business logic. We can trust users with any changes, however, moving the code to production is a big deal. This should be vetted by an authority figure, and there must be a simple and transparent rollback plan. Yes, we want to be very risk-averse. Ideally, we would like to have: 1. A staging environment where automation tests are run; 2. A change can be deployed to production only if all automation tests have passed; 3. Some kind of administration console from which a change can be manually deployed to production (via uploading to production Maven repository or in some other way); 4. Production Drools system picking up new changes without interruption of service; 5. Production console function allowing a one-click rollback of a recent change; Alex P.S. Sorry, it looks like I have not mastered proper replying to a forum thread. > Pretty much correct. > > re. 5 - It depends on what you mean by it becoming clear that a release is a bad one. > > I have tended to code up my own knowledge base reloads and check for errors, but I'm pretty sure that if your rules don't compile, then neither the KnowledgeAgent nor the KieScanner will deploy them. If you use Guvnor, then your project will not be built and packaged if the rules don't compile. > > However, if the problem is that the new rules are just 'wrong' within your domain, then it's hard to think of any way in which that could be detected > automatically, other than by you yourself writing the validation. > > To help with this, I have previously set up a FitNesse server which would load in the latest rules and evaluate them, ensuring that output expectations are met. However, no such test suite is perfect. It may be that a change is made which needs a new test to evaluate it. If that test is not written, then the suite of tests still passes. > > Similarly, you can write unit tests for the build. You can deploy to a staging server, where the rules can be evaluated with as-live data, so that you can regression test the rules service in isolation from the rest of your application. > > Looking at rollback, in one Guvnor-based system, I have the users take a snapshot for each rules deployment. They then copy that snapshot to an "approved" snapshot. This way, rollback is just a case of copying the previous version to "approved" and deploying that. The users are legal and back office operations teams, and they are pretty efficient at following this process these days. > > However, in the end it comes down to things like: > What kind of rule changes do users typically make? i.e. Are they just changing some numbers in existing decision tables? > Can you trust the users to only make non-risky changes? Guvnor won't stop them from altering the structure of decision tables, or adding new non-decision-table rules. > How risk-averse are you? > > Steve -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140424/3f33aa0f/attachment.html From michael.anstis at gmail.com Thu Apr 24 11:45:17 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Thu, 24 Apr 2014 16:45:17 +0100 Subject: [rules-users] Problems deploying war In-Reply-To: <534D3AC1.4060409@ll.mit.edu> References: <5346E1FD.6030805@ll.mit.edu> <534BDA41.5040704@ll.mit.edu> <534BDF36.1030508@ll.mit.edu> <534BE45B.5040100@ll.mit.edu> <534D25A5.8040002@ll.mit.edu> <534D3AC1.4060409@ll.mit.edu> Message-ID: OK, repeated. 1) Downloaded Tomcat 7.0 from http://tomcat.apache.org/download-70.cgi 2) Downloaded Drools Workbench distribution from http://drools.jboss.org/downloads.html 3) Copied 3 required JARs to /lib 4) Changed Tomcat's Manager upload limit in /webapps/manager/WEB-INF/web.xml 5) Started Tomcat 6) Browse to Manager application 7) Upload kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war 8) Success. 9) Click on link in Tomcat's Manager and KIE Drools Workbench launched successfully. 10) Logged in with user defined in /webapps/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0/WEB-INF/classes/users.properties On 15 April 2014 14:57, Ven Tadipatri wrote: > I'm not sure what you mean by the J2ee security section. I didn't see > anything like that in the web.xml. There didn't appear to be > any code that was commented out. > > Thanks, > Ven > > > On 04/15/2014 08:40 AM, Michael Anstis wrote: > > If you're using 6.0 (as opposed to 6.1.0-SNAPSHOT) did you also uncomment > the J2EE security section in the web.xml? > > > On 15 April 2014 13:27, Ven Tadipatri wrote: > >> I've added the following libraries to the lib folder (I'm assuming you >> mean the Tomcat library, not the webapp-specific WEB-INF/lib folder ): >> -rwxr-xr-x 1 svc-tomcat svc-tomcat 43519 Apr 14 08:38 >> javax.security.jacc-api-1.4.jar >> -rwxr-xr-x 1 svc-tomcat svc-tomcat 6992 Apr 14 08:38 >> kie-tomcat-integration-6.0.1.Final.jar >> -rwxr-xr-x 1 svc-tomcat svc-tomcat 26084 Apr 14 08:38 >> slf4j-api-1.7.5.jar >> >> The following lines are in the server.xml: >> > autoDeploy="true"> >> >> > directory="logs" >> prefix="localhost_access_log." suffix=".txt" >> pattern="%h %l %u %t "%r" %s %b" /> >> >> >> >> >> There doesn't seem to be any log output when the login fails. It just >> brings me back to the same url: >> >> http://localhost:8080/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0/org.kie.workbench.drools.KIEDroolsWebapp/j_security_check >> Any ideas? >> >> Thanks, >> Ven >> >> >> >> On 04/14/2014 11:50 AM, Michael Anstis wrote: >> >> You'll need to add the additional libraries to /lib and configure >> Catalina with the additional "Valve", as described in previous emails. >> >> These configure Tomcat to use the tomcat-users.xml file. >> >> >> On 14 April 2014 14:36, Ven Tadipatri wrote: >> >>> You're right - I'm getting closer :) >>> Now, the >>> http://localhost:8080/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0/url comes up, but when I try to log in with the user and password in my >>> tomcat-users.xml file, it doesn't log me in. >>> >>> I was able to bring up the main page both with the binary distribution >>> (which came up with a KIE IDE logo) and the one I built with maven from >>> sources >>> (which came up with a UF logo). The login page looked identical except >>> for the logo. >>> >>> This is what my tomcat-users.xml file looks like: >>> >>> >>> >>> >>> >>> (The password has been starred out in this e-mail) >>> The only change I made to the war was >>> mv org.uberfire.security.auth.AuthenticationSource-TOMCAT-JEE-SECURITY >>> org.uberfire.security.auth.AuthenticationSource >>> >>> Is there something I have to do with the login.config or >>> realm.properties? >>> >>> Thanks, >>> Ven >>> >>> >>> On 04/14/2014 09:17 AM, Michael Anstis wrote: >>> >>> You're almost there by the look of it!!! >>> >>> I replied to your other questions about why the workbench is trying to >>> access git.. you can disable this and then you shouldn't get the error you >>> paste (I assume you can't access github.com from where you're trying to >>> deploy). >>> >>> The JBoss AS7 WAR works "out of the box".. no need to configure >>> anything extra, or download any WARs :) >>> >>> I would encourage you to delete .niogit folder in /bin when trying to >>> deploy (if you had errors before). >>> >>> .niogit is where the workbench stores it's configuration and any >>> downloaded git repositories. >>> >>> >>> On 14 April 2014 14:14, Ven Tadipatri wrote: >>> >>>> I'm not quite sure why it's so challenging to get the war deployed >>>> with Tomcat. Is it easier to deploy the war with Jboss? >>>> These are the exceptions I'm getting, even after adding >>>> "-Dorg.kie.demo=false" to the CATALINA_OPTS in catalina.sh >>>> I want to disable the access to remote git repos. >>>> >>>> INFO: Deploying web application archive >>>> /opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0.war >>>> 2014-04-14 09:04:23,985 [localhost-startStop-1] INFO Found kmodule: >>>> jar:file:/opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar!/META-INF/kmodule.xml >>>> 2014-04-14 09:04:24,036 [localhost-startStop-1] INFO KieModule was >>>> added:ZipKieModule[ >>>> ReleaseId=org.drools:drools-wb-rest-defaultapprover:6.0.1.Finalfile=/opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar] >>>> 2014-04-14 09:04:24,036 [localhost-startStop-1] INFO Found kmodule: >>>> jar:file:/opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar!/META-INF/kmodule.xml >>>> 2014-04-14 09:04:24,039 [localhost-startStop-1] INFO KieModule was >>>> added:ZipKieModule[ >>>> ReleaseId=org.drools:drools-wb-rest-defaultapprover:6.0.1.Finalfile=/opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0/WEB-INF/lib/drools-wb-rest-defaultapprover-6.0.1.Final.jar] >>>> 2014-04-14 09:07:36,460 [localhost-startStop-1] ERROR Failed to setup >>>> Repository 'uf-playground' >>>> >>>> java.lang.RuntimeException: >>>> https://github.com/guvnorngtestuser1/guvnorng-playground.git: cannot >>>> open git-upload-pack >>>> at >>>> org.uberfire.backend.server.repositories.git.GitRepositoryFactoryHelper.newRepository(GitRepositoryFactoryHelper.java:80)~[uberfire-backend-server-0.3.1.Final.jar:0.3.1.Final] >>>> at >>>> org.uberfire.backend.server.repositories.git.GitRepositoryFactoryHelper$Proxy$_$$_WeldClientProxy.newRepository(GitRepositoryFactoryHelper$Proxy$_$$_WeldClientProxy.java)~[uberfire-backend-server-0.3.1.Final.jar:0.3.1.Final] >>>> >>>> >>>> >>>> Thanks, >>>> Ven >>>> >>>> >>>> On 04/14/2014 08:57 AM, Michael Anstis wrote: >>>> >>>> If apply the additional configuration you are telling Tomcat to use >>>> Users defined in /conf/tomcat-users.xml >>>> >>>> I modified the WAR by unzipping it, modifying the relevant files and >>>> then zipping it back into a WAR before deploying. >>>> >>>> >>>> On 14 April 2014 13:53, Ven Tadipatri wrote: >>>> >>>>> Hi Michael, >>>>> Unfortunately I can't seem to get the 6.0.1 version up and running. >>>>> I followed the steps below, finding the 3 jars listed below online. >>>>> But still, Tomcat just hangs for a bit, then throws a bunch of severe >>>>> warnings. There don't seem to be any log messages describing the problem. >>>>> Also, I'm a bit confused by the directions - how can we modify the >>>>> WEB-INF directory before the war is deployed? And how do we define users >>>>> in the login.config file? >>>>> >>>>> >>>>> Thanks, >>>>> Ven >>>>> >>>>> On 04/11/2014 10:49 AM, Michael Anstis wrote: >>>>> >>>>> Hi, >>>>> >>>>> There have been a few people with Tomcat deployment issues for >>>>> kie-drools-wb, so I thought I'd give it a try. >>>>> >>>>> These are the steps I followed for *successful* deployment (most of >>>>> which is already documented, but not obvious, in the WAR's README.txt >>>>> file):- >>>>> >>>>> *6.0.1* >>>>> >>>>> Starting with a clean install of Tomcat 7. >>>>> >>>>> 1. Copy "kie-tomcat-integration" JAR into TOMCAT_HOME/lib >>>>> (org.kie:kie-tomcat-integration) >>>>> 2. Copy "JACC" JAR into TOMCAT_HOME/lib(javax.security.jacc:artifactId=javax.security.jacc-api in JBoss Maven >>>>> Repository) >>>>> 3. Copy "slf4j-api" JAR into TOMCAT_HOME/lib(org.slf4j:artifactId=slf4j-api in JBoss Maven Repository) >>>>> 4. Add valve configuration into TOMCAT_HOME/conf/server.xml inside >>>>> element as last valve definition: >>>>> >>>>> >>>>> >>>>> 5. Edit TOMCAT_HOME/conf/tomcat-users.xml to include roles and >>>>> users, make sure there will be 'analyst' or 'admin' roles defined as it's >>>>> required to be authorized to use kie-wb >>>>> 6. Delete org.uberfire.security.auth.AuthenticationSource inside >>>>> WEB-INF/classes/META-INF/services >>>>> 7. Rename >>>>> org.uberfire.security.auth.AuthenticationSource-TOMCAT-JEE-SECURITYto >>>>> org.uberfire.security.auth.AuthenticationSource inside >>>>> WEB-INF/classes/META-INF/services >>>>> 8. Increase Java's PermGen space by adding file TOMCAT_HOME/bin/ >>>>> setenv.sh containing export JAVA_OPTS="-Xmx1024m -XX:MaxPermSize=256m" >>>>> 9. Start Tomcat with TOMCAT_HOME/bin/startup.sh >>>>> 10. Go to Management Console, http://localhost:8080/management >>>>> 11. Deploy modified WAR >>>>> >>>>> If you do not complete these steps the WAR works "out of the box" >>>>> but you'll need to define Users in WEB-INF/classes/login.config >>>>> >>>>> *6.1.0-SNAPSHOT* >>>>> >>>>> Starting with a clean install of Tomcat 7. >>>>> >>>>> 1. Copy "kie-tomcat-integration" JAR into TOMCAT_HOME/lib >>>>> (org.kie:kie-tomcat-integration) >>>>> 2. Copy "JACC" JAR into TOMCAT_HOME/lib >>>>> (javax.security.jacc:artifactId=javax.security.jacc-api in JBoss Maven >>>>> Repository) >>>>> 3. Copy "slf4j-api" JAR into TOMCAT_HOME/lib >>>>> (org.slf4j:artifactId=slf4j-api in JBoss Maven Repository) >>>>> 4. Add valve configuration into TOMCAT_HOME/conf/server.xml inside >>>>> Host element as last valve definition: >>>>> >>>>> >>>>> >>>>> 5. Edit TOMCAT_HOME/conf/tomcat-users.xml to include roles and >>>>> users, make sure there will be 'analyst' or 'admin' roles defined as it's >>>>> required to be authorized to use kie-wb >>>>> 6. Start Tomcat with TOMCAT_HOME/bin/startup.sh >>>>> 7. Go to Management Console, http://localhost:8080/management >>>>> 8. Deploy modified WAR >>>>> >>>>> With kind regards, >>>>> >>>>> Mike >>>>> >>>>> >>>>> >>>>> >>>>> On 10 April 2014 19:25, Ven Tadipatri wrote: >>>>> >>>>>> Hi, >>>>>> I'm trying to get set up with Drools and Guvnor. I've had some >>>>>> success building a test program with Drools, but when I saw that there's a >>>>>> webapp >>>>>> to manage and view rules, I was interested in getting that working as >>>>>> well. Unfortunately I haven't had much success with that. >>>>>> I downloaded the kie-drools-wb-distribution-6.0.1.Final.zip file >>>>>> from the JBoss drools website and dropped the >>>>>> binaries/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war >>>>>> into my Tomcat directory. Tomcat was just hanging for a while, then >>>>>> spit out a bunch of error messages: >>>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >>>>>> startInternal >>>>>> INFO: Deploying web application archive >>>>>> /opt/tomcat/tomcat7/webapps/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0.war >>>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >>>>>> startInternal >>>>>> SEVERE: Error listenerStart >>>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.core.StandardContext >>>>>> startInternal >>>>>> SEVERE: Context >>>>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] startup failed due >>>>>> to previous errors >>>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>>>> clearReferencesThreads >>>>>> SEVERE: The web application >>>>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >>>>>> started a thread named [pool-4-thread-1] but has failed to stop it. This is >>>>>> very likely to create a memory leak. >>>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>>>> clearReferencesThreads >>>>>> SEVERE: The web application >>>>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >>>>>> started a thread named [Thread-3] but has failed to stop it. This is very >>>>>> likely to create a memory leak. >>>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>>>> clearReferencesThreads >>>>>> SEVERE: The web application >>>>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >>>>>> started a thread named [pool-7-thread-1] but has failed to stop it. This is >>>>>> very likely to create a memory leak. >>>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>>>> clearReferencesThreads >>>>>> SEVERE: The web application >>>>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] appears to have >>>>>> started a thread named [Git-Daemon-Accept] but has failed to stop it. This >>>>>> is very likely to create a memory leak. >>>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>>>> checkThreadLocalMapForLeaks >>>>>> SEVERE: The web application >>>>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >>>>>> ThreadLocal with key of type [org.jboss.errai.config.util.ClassScanner$1] >>>>>> (value [org.jboss.errai.config.util.ClassScanner$1 at 1b3870a5]) and a >>>>>> value of type [java.lang.Boolean] (value [true]) but failed to remove it >>>>>> when the web application was stopped. Threads are going to be renewed over >>>>>> time to try and avoid a probable memory leak. >>>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>>>> checkThreadLocalMapForLeaks >>>>>> SEVERE: The web application >>>>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >>>>>> ThreadLocal with key of type >>>>>> [org.jboss.solder.servlet.beanManager.ServletContextAttributeProvider$1] >>>>>> (value >>>>>> [org.jboss.solder.servlet.beanManager.ServletContextAttributeProvider$1 at 166b6e99]) >>>>>> and a value of type [org.apache.catalina.core.ApplicationContextFacade] >>>>>> (value [org.apache.catalina.core.ApplicationContextFacade at 672a0a4e]) >>>>>> but failed to remove it when the web application was stopped. Threads are >>>>>> going to be renewed over time to try and avoid a probable memory leak. >>>>>> Apr 10, 2014 2:21:40 PM org.apache.catalina.loader.WebappClassLoader >>>>>> checkThreadLocalMapForLeaks >>>>>> SEVERE: The web application >>>>>> [/kie-drools-wb-distribution-wars-6.0.1.Final-tomcat7.0] created a >>>>>> ThreadLocal with key of type [org.eclipse.jgit.nls.NLS$1] (value >>>>>> [org.eclipse.jgit.nls.NLS$1 at 790abbcb]) and a value of type >>>>>> [org.eclipse.jgit.nls.NLS] (value [org.eclipse.jgit.nls.NLS at 2faf4a82]) >>>>>> but failed to remove it when the web application was stopped. Threads are >>>>>> going to be renewed over time to try and avoid a probable memory leak. >>>>>> >>>>>> Next I tried building the workbench from source: >>>>>> https://github.com/droolsjbpm/drools-wb/archive/6.0.1.Final.zip >>>>>> The maven build worked, and I dropped the tomcat war into the tomcat >>>>>> directory (removing any existing webapps and wars). Starting Tomcat now >>>>>> produced these errors: >>>>>> >>>>>> INFO: Deploying web application archive >>>>>> /opt/tomcat/tomcat7/webapps/drools-workbench-6.0.1.Final-tomcat7.0.war >>>>>> 2014-04-10 13:46:31,975 [localhost-startStop-1] >>>>>> >>>>>> ERROR Failed to setup Repository 'uf-playground' >>>>>> java.lang.RuntimeException: >>>>>> https://github.com/guvnorngtestuser1/guvnorng-playground.git: cannot >>>>>> open git-upload-pack >>>>>> >>>>>> What is the webapp trying to do with Git? Do I need to point it at >>>>>> some git repo? >>>>>> >>>>>> I tried the jboss instructions here: >>>>>> >>>>>> >>>>>> http://blog.athico.com/2013/05/how-to-build-and-run-drools-and-guvnor.html >>>>>> >>>>>> But that didn't work either, with Jboss just hanging as well. Any >>>>>> clues on what might be going wrong? >>>>>> >>>>>> Thanks, >>>>>> Ven >>>>>> >>>>>> _______________________________________________ >>>>>> rules-users mailing list >>>>>> rules-users at lists.jboss.org >>>>>> https://lists.jboss.org/mailman/listinfo/rules-users >>>>>> >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> rules-users mailing list >>>>> rules-users at lists.jboss.org >>>>> https://lists.jboss.org/mailman/listinfo/rules-users >>>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> rules-users mailing listrules-users at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users >>>> >>>> >>>> >>>> _______________________________________________ >>>> rules-users mailing list >>>> rules-users at lists.jboss.org >>>> https://lists.jboss.org/mailman/listinfo/rules-users >>>> >>> >>> >>> >>> _______________________________________________ >>> rules-users mailing listrules-users at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users >>> >>> >>> >>> _______________________________________________ >>> rules-users mailing list >>> rules-users at lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/rules-users >>> >> >> >> >> _______________________________________________ >> rules-users mailing listrules-users at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users >> >> >> >> _______________________________________________ >> rules-users mailing list >> rules-users at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> > > > > _______________________________________________ > rules-users mailing listrules-users at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users > > > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140424/5e046e39/attachment-0001.html From ge0ffrey.spam at gmail.com Fri Apr 25 03:52:44 2014 From: ge0ffrey.spam at gmail.com (ge0ffrey) Date: Fri, 25 Apr 2014 00:52:44 -0700 (PDT) Subject: [rules-users] Using multi-threads in Drools & OptaPlanner? In-Reply-To: <1396436067512-4029079.post@n3.nabble.com> References: <1396436067512-4029079.post@n3.nabble.com> Message-ID: <1398412364515-4029356.post@n3.nabble.com> We're working on multi-threading, both: - in Drools (based on the Phreak algorithm): fine grained, for score calculation - and in OptaPlanner ( https://issues.jboss.org/browse/PLANNER-76 ): course grained, for batches of moves to be evaluated -- View this message in context: http://drools.46999.n3.nabble.com/Using-multi-threads-in-Drools-Scoring-tp4029079p4029356.html Sent from the Drools: User forum mailing list archive at Nabble.com. From ge0ffrey.spam at gmail.com Fri Apr 25 03:53:26 2014 From: ge0ffrey.spam at gmail.com (ge0ffrey) Date: Fri, 25 Apr 2014 00:53:26 -0700 (PDT) Subject: [rules-users] How to make optaplanner a REST webservice In-Reply-To: <1398168512170-4029318.post@n3.nabble.com> References: <1398168512170-4029318.post@n3.nabble.com> Message-ID: <1398412406270-4029357.post@n3.nabble.com> Duplicates http://stackoverflow.com/questions/23213141/how-to-make-optaplanner-a-rest-webservice -- View this message in context: http://drools.46999.n3.nabble.com/How-to-make-optaplanner-a-REST-webservice-tp4029318p4029357.html Sent from the Drools: User forum mailing list archive at Nabble.com. From ge0ffrey.spam at gmail.com Fri Apr 25 03:58:57 2014 From: ge0ffrey.spam at gmail.com (ge0ffrey) Date: Fri, 25 Apr 2014 00:58:57 -0700 (PDT) Subject: [rules-users] A employee roster like case - OptaPlanner In-Reply-To: <1398344939801-4029352.post@n3.nabble.com> References: <1398344939801-4029352.post@n3.nabble.com> Message-ID: <1398412737653-4029358.post@n3.nabble.com> Sounds like a typical OptaPlanner problem. Domain model: - CareTaker - OldPerson - Day - Visit(OldPerson, Day) - @PlanningEntity VisitAssignment (Visit, @PlanningVariable CareTaker) Using the OptaPlanner employee rostering example: - CareTaker == Employee - OldPerson == ShiftType - Day == ShiftDate - Visit(OldPerson, Day) == Shift (ShiftType, ShiftDate) - @PlanningEntity VisitAssignment (Visit, @PlanningVariable CareTaker) == ShiftAssignment (Shift, @PlanningVariable Employee) -- View this message in context: http://drools.46999.n3.nabble.com/A-employee-roster-like-case-tp4029352p4029358.html Sent from the Drools: User forum mailing list archive at Nabble.com. From ge0ffrey.spam at gmail.com Fri Apr 25 04:01:06 2014 From: ge0ffrey.spam at gmail.com (ge0ffrey) Date: Fri, 25 Apr 2014 01:01:06 -0700 (PDT) Subject: [rules-users] A employee roster like case - OptaPlanner In-Reply-To: <1398412737653-4029358.post@n3.nabble.com> References: <1398344939801-4029352.post@n3.nabble.com> <1398412737653-4029358.post@n3.nabble.com> Message-ID: <1398412866324-4029359.post@n3.nabble.com> Btw, this post wasn't synced to the drools mailing list or gmane (see the yellow bar inside your post on nabble), so your posts don't show up on my default radar (as I use gmane). -- View this message in context: http://drools.46999.n3.nabble.com/A-employee-roster-like-case-tp4029352p4029359.html Sent from the Drools: User forum mailing list archive at Nabble.com. From leonardlindenau at hotmail.com Fri Apr 25 10:21:41 2014 From: leonardlindenau at hotmail.com (Leonard93) Date: Fri, 25 Apr 2014 07:21:41 -0700 (PDT) Subject: [rules-users] java.lang.NullPointerException in simple example In-Reply-To: <1392815293833-4028193.post@n3.nabble.com> References: <1392771141522-4028177.post@n3.nabble.com> <1392815293833-4028193.post@n3.nabble.com> Message-ID: <1398435701562-4029363.post@n3.nabble.com> check your kmodule.xml and see if it has CashFlowKS as one of the kbases in it, drools cannot find the rulebase with rules for the application basically. -- View this message in context: http://drools.46999.n3.nabble.com/java-lang-NullPointerException-in-simple-example-tp4028177p4029363.html Sent from the Drools: User forum mailing list archive at Nabble.com. From maxime.falaize at gmail.com Fri Apr 25 10:27:23 2014 From: maxime.falaize at gmail.com (Maxime Falaize) Date: Fri, 25 Apr 2014 16:27:23 +0200 Subject: [rules-users] KieScanner with Maven 3 Message-ID: Hello, Does the KieScanner support Maven 3? I noted that LATEST, RELEASE and SNAPSHOT metaversions for Maven are no longer supported by Maven 3 so do I have to understand that we cannot use the KieScanner with Maven 3? By the way I noted that if I set my KieContainer with a LATEST version, the KieScanner systematically redeploy my JAR as the KieScanner compare the real version with "LATEST". I've seen that there were some changes in the KieScanner in the 6.1.0, did you fix it? I can't test right now because I face a rule compilation problem with the new 6.1.0 version and I still have to figure this out. Regards -- Maxime FALAIZE -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140425/c173af94/attachment.html From Johannes.Weber at hp.com Mon Apr 28 03:00:39 2014 From: Johannes.Weber at hp.com (DE_Azrael) Date: Mon, 28 Apr 2014 00:00:39 -0700 (PDT) Subject: [rules-users] java.lang.NoSuchMethodError thrown in drools api In-Reply-To: <1398600613445-4029366.post@n3.nabble.com> References: <1398238020378-4029326.post@n3.nabble.com> <1398600613445-4029366.post@n3.nabble.com> Message-ID: <1398668439532-4029368.post@n3.nabble.com> Good morning ! @snak: That was the first hint I found during my investigation but it could not be the failure. It could not be a problem of version incompatibility. As I wrote the transaction was working 4 times and failed at the 5th transaction (reproducable). If it would be a problem of incompatibility no transaction could be successful. >From the error stack I was wondering why it was saying ConditionEvaluatorf4a3f354729241ac8370890200fdf2d8.evaluate(Unknown Source) Guess this class is generated automaticly and the source that is missing at this point is the kbase. I checked again the initialisation of kbase and I found a failure. The kbase is defined as static and is beeing initialised with the first transaction. Additionaly it's beeing updated every few minutes. After I corrected this the failure disappear. I did the following changes: *old code:* if ((knowledgeSetupTimestamp + timeInMillis) < System.currentTimeMillis()) ageReload = true; if ((kbase == null) || ageReload) { synchronized (DroolsHelper.class) { if ((kbase == null) || ageReload) { ......... } } } *new corrected code:* if ((kbase == null) || (knowledgeSetupTimestamp + timeInMillis < System.currentTimeMillis())) { synchronized (DroolsHelper.class) { if ((kbase == null) || (knowledgeSetupTimestamp + timeInMillis < System.currentTimeMillis())) { ......... } } } I'm still a bit puzzled about the reported failure and it would be great if someone could explain me this behaviour. Thanks a lot ! Cheers Johannes -- View this message in context: http://drools.46999.n3.nabble.com/java-lang-NoSuchMethodError-thrown-in-drools-api-tp4029326p4029368.html Sent from the Drools: User forum mailing list archive at Nabble.com. From frank.pavageau at gmail.com Mon Apr 28 09:49:46 2014 From: frank.pavageau at gmail.com (Frank Pavageau) Date: Mon, 28 Apr 2014 15:49:46 +0200 Subject: [rules-users] Drools spawning a lot of JIT threads Message-ID: Hi. I'm using Drools 5.5 in a web application, upgraded a few months ago from 5.1. When starting multiple instances of the application on a server *at the same time*, I recently noticed some problems with the JVMs complaining of not being able to create native threads. The stack trace led to Drools, and more specifically MvelConstraint submitting JIT tasks to an Executor through its jitEvaluator() method. The Executor is created by ExecutorProviderImpl and is a basic CachedThreadPool, which means it can create an unbounded number of threads (which then die after idling for a minute). In my case, it apparently meant around 900 threads per JVM, which multiplied by the number of running JVMs saturated the OS for a short while. Has anyone else been bitten by this? Should there be a more reasonable default implementation and should I create an issue for this? I then have a question related to how I fixed this: I created my own implementation of ExecutorProvider by extending ExecutorProviderImpl and creating a ThreadPoolExecutor with an upper bound on the number of threads and a LinkedBlockingQueue to queue the tasks when all the threads are already busy. That works fine, the only problem is telling Drools to use my implementation: the only way I've found is by calling ServiceRegistryImpl.getInstance().registerLocator(). ServiceRegistryImpl implements ServiceRegistry, but the interface doesn't seem to be exposed through Drools' more public API; it seems a bit wrong to call the implementing class directly to get its instance, especially given the Javadoc which states "This is an internal class, not for public consumption". Am I missing something? Regards, Frank -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140428/da7ca8c6/attachment.html From swaroop.oggu at gmail.com Mon Apr 28 10:35:33 2014 From: swaroop.oggu at gmail.com (swaroop) Date: Mon, 28 Apr 2014 07:35:33 -0700 (PDT) Subject: [rules-users] Rule Orchestration Message-ID: <1398695733473-4029371.post@n3.nabble.com> Hi, Iam using Drools 5.6 , developing rules on guvnor. I have a scenario where i have two decision tables , One is supposed to execute after the other. I want to ensure that DT Two should be executed only after all the executions in DT one happen . Because IN DT Two the list is being checked if set of values are not present, currently when i have two Customer objects in Working memory each having matching rows in Decision Table One .Once the match is found for a customer object then as per the action a Product fact is inserted which leads to fire the DT Two and the list is evaluated if set of d are not present , the rule is fired in DT Two as the list is not populated for the other customer object and matching rows which is being checked in DT Two eval list column. Which is not desired . I tried with salience , ruleflow group with not much of a help Is there a way to can handle this *Decision Table One* Condition Condition Condition Action c:Customer a==$param b in ($param) c == $param "list(Global Variable).add(d); insert(Product())" *Decision Table Two* Condition Condition Condition Action p:Product a==$param eval(list doesnt not contain ($param)) c == $param response.setMessage($param); Regards Oggu -- View this message in context: http://drools.46999.n3.nabble.com/Rule-Orchestration-tp4029371.html Sent from the Drools: User forum mailing list archive at Nabble.com. From michael.anstis at gmail.com Mon Apr 28 11:56:58 2014 From: michael.anstis at gmail.com (Michael Anstis) Date: Mon, 28 Apr 2014 16:56:58 +0100 Subject: [rules-users] Rule Orchestration In-Reply-To: <1398695733473-4029371.post@n3.nabble.com> References: <1398695733473-4029371.post@n3.nabble.com> Message-ID: Can you provide screen shots of both DT's, including their data? It's quite difficult to understand their content from the pasted text. On 28 April 2014 15:35, swaroop wrote: > Hi, > > Iam using Drools 5.6 , developing rules on guvnor. I have a scenario where > i > have two decision tables , One is supposed to execute after the other. > > I want to ensure that DT Two should be executed only after all the > executions in DT one happen . Because IN DT Two the list is being checked > if > set of values are not present, currently when i have two Customer objects > in > Working memory each having matching rows in Decision Table One .Once the > match is found for a customer object then as per the action a Product fact > is inserted which leads to fire the DT Two and the list is evaluated if set > of d are not present , the rule is fired in DT Two as the list is not > populated for the other customer object and matching rows which is being > checked in DT Two eval list column. Which is not desired . I tried with > salience , ruleflow group with not much of a help > > Is there a way to can handle this > > > > *Decision Table One* > > Condition Condition Condition > Action > c:Customer > a==$param b in ($param) c == $param > "list(Global > Variable).add(d); > > insert(Product())" > *Decision Table Two* > > Condition Condition Condition > Action > p:Product > a==$param eval(list doesnt not contain ($param)) c > == $param > response.setMessage($param); > > Regards > Oggu > > > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Rule-Orchestration-tp4029371.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140428/41ade2ec/attachment-0001.html From swaroop.oggu at gmail.com Mon Apr 28 12:24:04 2014 From: swaroop.oggu at gmail.com (swaroop) Date: Mon, 28 Apr 2014 09:24:04 -0700 (PDT) Subject: [rules-users] Rule Orchestration In-Reply-To: <1398695733473-4029371.post@n3.nabble.com> References: <1398695733473-4029371.post@n3.nabble.com> Message-ID: <1398702244953-4029375.post@n3.nabble.com> Hi , Please find the screen shots attached DT One DT Two Let me know if this works else i will share the spreadsheets -- View this message in context: http://drools.46999.n3.nabble.com/Rule-Orchestration-tp4029371p4029375.html Sent from the Drools: User forum mailing list archive at Nabble.com. From ed.tirelli at gmail.com Mon Apr 28 18:01:24 2014 From: ed.tirelli at gmail.com (Edson Tirelli) Date: Mon, 28 Apr 2014 18:01:24 -0400 Subject: [rules-users] Drools spawning a lot of JIT threads In-Reply-To: References: Message-ID: Frank, Can I ask you please to open a ticket for this? Feel free to submit a pull request if you have a solution already, or we will do it ourselves. I think we should set a reasonable limit for the thread pool size and optionally allow the user to configure it. Thanks, Edson On Mon, Apr 28, 2014 at 9:49 AM, Frank Pavageau wrote: > Hi. > > I'm using Drools 5.5 in a web application, upgraded a few months ago from > 5.1. When starting multiple instances of the application on a server *at the > same time*, I recently noticed some problems with the JVMs complaining of > not being able to create native threads. > > The stack trace led to Drools, and more specifically MvelConstraint > submitting JIT tasks to an Executor through its jitEvaluator() method. The > Executor is created by ExecutorProviderImpl and is a basic CachedThreadPool, > which means it can create an unbounded number of threads (which then die > after idling for a minute). In my case, it apparently meant around 900 > threads per JVM, which multiplied by the number of running JVMs saturated > the OS for a short while. > > Has anyone else been bitten by this? Should there be a more reasonable > default implementation and should I create an issue for this? > > I then have a question related to how I fixed this: I created my own > implementation of ExecutorProvider by extending ExecutorProviderImpl and > creating a ThreadPoolExecutor with an upper bound on the number of threads > and a LinkedBlockingQueue to queue the tasks when all the threads are > already busy. That works fine, the only problem is telling Drools to use my > implementation: the only way I've found is by calling > ServiceRegistryImpl.getInstance().registerLocator(). ServiceRegistryImpl > implements ServiceRegistry, but the interface doesn't seem to be exposed > through Drools' more public API; it seems a bit wrong to call the > implementing class directly to get its instance, especially given the > Javadoc which states "This is an internal class, not for public > consumption". Am I missing something? > > Regards, > Frank > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users -- Edson Tirelli Principal Software Engineer Red Hat Business Systems and Intelligence Group From ashishna at gmail.com Tue Apr 29 01:51:50 2014 From: ashishna at gmail.com (ash316) Date: Mon, 28 Apr 2014 22:51:50 -0700 (PDT) Subject: [rules-users] Rules not picked when packaged inside the JAR Message-ID: <1398750710805-4029378.post@n3.nabble.com> I am working on DROOLS 6.0.1 application. I have my rule files (*.drl) packaged inside a separate project which is included as a jar file as a maven dependency. When I deploy my project, KIEModule is not able to find the rules files (which are packaged inside the jar above). I am not getting an error though but rules are not getting fired.If I manually place the rules files under classpath say WEB-INF/rules/*.drl they are detected and rules are executed.I was under impression that KIEmodules are auto discovered from anywhere in classpath.Any pointers are appreciated. This is general question hence I have not included the comprehensive code files. Everything start working once I place the *.drl files in the classpath (take them outside of jar).I have opened the JIRA issue @ Link Thanks -- View this message in context: http://drools.46999.n3.nabble.com/Rules-not-picked-when-packaged-inside-the-JAR-tp4029378.html Sent from the Drools: User forum mailing list archive at Nabble.com. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140428/e138d70a/attachment.html From richard.hands at uk.sopragroup.com Tue Apr 29 04:47:30 2014 From: richard.hands at uk.sopragroup.com (richardhands) Date: Tue, 29 Apr 2014 01:47:30 -0700 (PDT) Subject: [rules-users] Drools 6 Junit Random Failures Message-ID: <1398761250732-4029379.post@n3.nabble.com> I've written a base class to do the heavy lifting of creating all the Kie resources etc and to give me a stateless session back that my unit tests can all use. Each test calls the method in this base class to set up stuff, and then adds facts and globals and does a fireall. however, i get random unit test failures. sometimes the suite will work perfectly, sometimes rule x will fail, sometimes rule f will fail etc. I'm convinced it's got to be something to do with the way i'm setting up the initial resources, and maybe they're getting re-used incorrectly from one test to another (i expect a brand new clean statelesssession on each test) but i can't see what i'm doing wrong. The documentation around the new Kie stuff is still being built around how i'm trying to do stuff, so i'm a bit lost. Each unit test class is designed to test all the rules in on .drl file, but there can be many .drl files in one package so i don't want to use the api's for loading a package, i am having to create a filesystem and load the drl file into it. can anyone see anything obviously wrong in my base class that might cause this intermittent failure? thanks -- View this message in context: http://drools.46999.n3.nabble.com/Drools-6-Junit-Random-Failures-tp4029379.html Sent from the Drools: User forum mailing list archive at Nabble.com. From shrinath.managuli at aspiresys.com Tue Apr 29 06:09:15 2014 From: shrinath.managuli at aspiresys.com (Shrinath Managuli) Date: Tue, 29 Apr 2014 10:09:15 +0000 Subject: [rules-users] How to include Maven repo jar in kbase using KModuleBeanFactoryPostProcessor Message-ID: <3e2df1c02b9f45da87d82ca5cc6d6c13@HKNPR02MB019.apcprd02.prod.outlook.com> Hi drools, Using org.kie.spring.KModuleBeanFactoryPostProcessor, how to include the packages for kbase1 either from Maven repository or through an HTTP call (instead of include packages from class path folder) Something like, I had looked into KModuleBeanFactoryPostProcessor and ClasspathKieProject.createInternalKieModule(), it seems all the packages are loaded from class path alone. Also, if including the packages from Maven repository or through an HTTP URI is feasible, then how can we do a scanner for refreshing the packages? Please share your views on this? Thanks, Shrinath [Aspire Systems] This e-mail message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140429/e930468d/attachment.html From stephen.masters at me.com Tue Apr 29 07:09:23 2014 From: stephen.masters at me.com (Stephen Masters) Date: Tue, 29 Apr 2014 12:09:23 +0100 Subject: [rules-users] Drools 6 Junit Random Failures In-Reply-To: <1398761250732-4029379.post@n3.nabble.com> References: <1398761250732-4029379.post@n3.nabble.com> Message-ID: <289691E7-ACA8-46DB-B8E9-6CACE9F00DE6@me.com> Looks close enough to what I tend to do. It could be worth firing off something like the following to double-check that your knowledge base and working memory are as expected prior to each test. /** * Iterates through the facts currently in working memory, and logs their details. * * @param session The session to search for facts. */ public static void printFacts(KieSession session) { StringBuilder sb = new StringBuilder(); sb.append("\n************************************************************"); sb.append("\nThe following facts are currently in the system..."); for (Object fact : session.getObjects()) { sb.append("\n\nFact: ? + fact.toString()); } sb.append("\n************************************************************\n"); log.info(sb.toString()); } /** * * @return A String detailing the packages and rules in this knowledge base. */ public static String kbaseDetails(KieBase kbase) { StringBuilder sb = new StringBuilder(); for (KiePackage p : kbase.getKiePackages()) { sb.append("\n Package : " + p.getName()); for (Rule r : p.getRules()) { sb.append("\n Rule: " + r.getName()); } } return "Knowledge base built with packages: " + sb.toString(); } On 29 Apr 2014, at 09:47, richardhands wrote: > I've written a base class to do the heavy lifting of creating all the Kie > resources etc and to give me a stateless session back that my unit tests can > all use. Each test calls the method in this base class to set up stuff, and > then adds facts and globals and does a fireall. > > however, i get random unit test failures. sometimes the suite will work > perfectly, sometimes rule x will fail, sometimes rule f will fail etc. I'm > convinced it's got to be something to do with the way i'm setting up the > initial resources, and maybe they're getting re-used incorrectly from one > test to another (i expect a brand new clean statelesssession on each test) > but i can't see what i'm doing wrong. The documentation around the new Kie > stuff is still being built around how i'm trying to do stuff, so i'm a bit > lost. Each unit test class is designed to test all the rules in on .drl > file, but there can be many .drl files in one package so i don't want to use > the api's for loading a package, i am having to create a filesystem and load > the drl file into it. can anyone see anything obviously wrong in my base > class that might cause this intermittent failure? > > thanks > > > > > > > -- > View this message in context: http://drools.46999.n3.nabble.com/Drools-6-Junit-Random-Failures-tp4029379.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140429/49b0e405/attachment-0001.html From juby.joseph.ninan at student.tue.nl Tue Apr 29 14:12:52 2014 From: juby.joseph.ninan at student.tue.nl (jjn) Date: Tue, 29 Apr 2014 11:12:52 -0700 (PDT) Subject: [rules-users] Integrate jBPM with OptaPlanner Message-ID: <1398795172193-4029384.post@n3.nabble.com> Hi, how can I integrate jBPM with OptaPlanner. I have solved a problem using OptaPlanner, where there are a number of requests which are optimally assigned to particular employees, based on certain constraints. Now I want to create a dispatcher in jBPM, where certain employees(actors) can solve certain requests(process instances). Any idea how I can go about this problem ? -- View this message in context: http://drools.46999.n3.nabble.com/Integrate-jBPM-with-OptaPlanner-tp4029384.html Sent from the Drools: User forum mailing list archive at Nabble.com. From mproctor at codehaus.org Tue Apr 29 22:35:26 2014 From: mproctor at codehaus.org (Mark Proctor) Date: Wed, 30 Apr 2014 03:35:26 +0100 Subject: [rules-users] Decision Camp 2014 : Call for Speakers : Oct 13-15, San Jose Message-ID: http://blog.athico.com/2014/04/decision-camp-2014-call-for-speakers.html From richard.hands at uk.sopragroup.com Wed Apr 30 04:54:57 2014 From: richard.hands at uk.sopragroup.com (richardhands) Date: Wed, 30 Apr 2014 01:54:57 -0700 (PDT) Subject: [rules-users] Drools 6 Junit Random Failures In-Reply-To: <1398761250732-4029379.post@n3.nabble.com> References: <1398761250732-4029379.post@n3.nabble.com> Message-ID: <1398848097646-4029387.post@n3.nabble.com> Okay, after much investigation, it turns out the tests were A) using .execute, rather than insert and fireallrules type behaviour, so i refactored that to improve them a bit (gave me more control). after that, and using the debug tools suggested it lead me to the root cause of the problem. someone when constructing the inbound facts had called Calendar.getInstance() mutiple times, for different fields, which should actually have been the same date/time, and hence sometimes the tests passed, sometimes they failed. sorted it now :-) -- View this message in context: http://drools.46999.n3.nabble.com/Drools-6-Junit-Random-Failures-tp4029379p4029387.html Sent from the Drools: User forum mailing list archive at Nabble.com. From ge0ffrey.spam at gmail.com Wed Apr 30 05:32:55 2014 From: ge0ffrey.spam at gmail.com (Geoffrey De Smet) Date: Wed, 30 Apr 2014 11:32:55 +0200 Subject: [rules-users] Integrate jBPM with OptaPlanner In-Reply-To: <1398795172193-4029384.post@n3.nabble.com> References: <1398795172193-4029384.post@n3.nabble.com> Message-ID: So the JBPM human task assignments are a *task assignment problem* you want to solve with OptaPlanner? Kris and I spoke about building some out-of-the-box integration/docs for this. But for now you 'll have to do the integration yourself. OptaPlanner is being successfully used for other task assignment problems already. Duplicates http://stackoverflow.com/questions/23372089/integrate-jbpm-with-optaplanner On 29-04-14 20:12, jjn wrote: > Hi, how can I integrate jBPM with OptaPlanner. I have solved a problem using > OptaPlanner, where there are a number of requests which are optimally > assigned to particular employees, based on certain constraints. Now I want > to create a dispatcher in jBPM, where certain employees(actors) can solve > certain requests(process instances). Any idea how I can go about this > problem ? > > > > -- > View this message in context: http://drools.46999.n3.nabble.com/Integrate-jBPM-with-OptaPlanner-tp4029384.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140430/427f25c6/attachment.html From hagai.shatz at gmail.com Wed Apr 30 06:17:16 2014 From: hagai.shatz at gmail.com (Hagai) Date: Wed, 30 Apr 2014 03:17:16 -0700 (PDT) Subject: [rules-users] OptaPlanner: Solver.isEveryProblemFactChangeProcessed() return true before the last fact change is processed Message-ID: <1398853036689-4029389.post@n3.nabble.com> Using OptaPlanner 6.0.1.Final and following the documentation for real-time planning: "Alternatively, you can subscribe to the BestSolutionChangedEvent. A BestSolutionChangedEvent doesn't guarantee that every ProblemFactChange has been processed already, so check Solver.isEveryProblemFactChangeProcessed() and ignore any BestSolutionChangedEvent fired while that method returns false." However, Solver.isEveryProblemFactChangeProcessed() return true before the last fact change is processed. This is documented in the code DefaultSolver.java: *// TODO bug: the last ProblemFactChange might already been polled, but not processed yet* I believe this can be fixed using the following code in DefaultSolver.checkProblemFactChanges: ProblemFactChange problemFactChange = problemFactChangeQueue*.peek()*; while (problemFactChange != null) { score = doProblemFactChange(problemFactChange); *problemFactChangeQueue.poll();* count++; problemFactChange = problemFactChangeQueue*.peek()*; } This way the queue will not be empty until the fact change is processed. -- View this message in context: http://drools.46999.n3.nabble.com/OptaPlanner-Solver-isEveryProblemFactChangeProcessed-return-true-before-the-last-fact-change-is-procd-tp4029389.html Sent from the Drools: User forum mailing list archive at Nabble.com. From ge0ffrey.spam at gmail.com Wed Apr 30 07:29:30 2014 From: ge0ffrey.spam at gmail.com (Geoffrey De Smet) Date: Wed, 30 Apr 2014 13:29:30 +0200 Subject: [rules-users] OptaPlanner: Solver.isEveryProblemFactChangeProcessed() return true before the last fact change is processed In-Reply-To: <1398853036689-4029389.post@n3.nabble.com> References: <1398853036689-4029389.post@n3.nabble.com> Message-ID: On 30-04-14 12:17, Hagai wrote: > Using OptaPlanner 6.0.1.Final and following the documentation for real-time > planning: > "Alternatively, you can subscribe to the BestSolutionChangedEvent. > A BestSolutionChangedEvent doesn't guarantee that every ProblemFactChange > has been > processed already, so check Solver.isEveryProblemFactChangeProcessed() and > ignore any > BestSolutionChangedEvent fired while that method returns false." > > However, Solver.isEveryProblemFactChangeProcessed() return true before the > last fact change is processed. > This is documented in the code DefaultSolver.java: *// TODO bug: the last > ProblemFactChange might already been polled, but not processed yet* > > I believe this can be fixed using the following code in > DefaultSolver.checkProblemFactChanges: > > ProblemFactChange problemFactChange = > problemFactChangeQueue*.peek()*; > while (problemFactChange != null) { > score = doProblemFactChange(problemFactChange); > *problemFactChangeQueue.poll();* > count++; > problemFactChange = problemFactChangeQueue*.peek()*; > } > > This way the queue will not be empty until the fact change is processed. Thanks for reporting. This is definitely an issue indeed, if isEveryProblemFactChangeProcessed() is called from a different thread than then solver thread. The javadoc clearly promises that isEveryProblemFactChangeProcessed() is thread-safe. I 'll take a look into fixing it with your suggestion. Note: In practice, you 'll usually call isEveryProblemFactChangeProcessed() in the bestSolutionChanged() event, which is called in the solver thread, so it's not an issue in that particular case. For 6.1.0.Beta4, I 've cleaned up the docs to describe that usage pattern better: https://github.com/droolsjbpm/optaplanner/commit/256fa1fe285392f8ad81b1a40816db641a768bb9 > > > > -- > View this message in context: http://drools.46999.n3.nabble.com/OptaPlanner-Solver-isEveryProblemFactChangeProcessed-return-true-before-the-last-fact-change-is-procd-tp4029389.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > From rupesh.gopinathan at ibsplc.com Wed Apr 30 09:04:28 2014 From: rupesh.gopinathan at ibsplc.com (Rupesh M G) Date: Wed, 30 Apr 2014 13:04:28 +0000 Subject: [rules-users] OptaPlanner scalability Message-ID: <85C0DCE544FC0948BCF39A3CB17CF1C7D4C1CCDA@PBOX1.ibsplc.com> Hi, I tested Optaplanner successfully for a fleet planning application. Upto 1200 trips with around 80 vehicles for 3 days is fine. I'm reaching the target of 0 hard constraints in less than 30 minutes. But my target is to plan for a month with 12000 trips using 80 vehicles. This time it didn't complete even after 12 hours. I found the memory (< 500 MB) and CPU (25%) usage is less. So tried running 3 solver threads and grouping the vehicles. Now CPU usage increases. I followed the vehicle routing sample application and the config xml is very similar. I used late acceptance (200) and accept count (1000). I'm using incremental score calculation; and applied change & swap filters in the config xml. Requesting experts for some thoughts on how Optaplanner can scale on similar situations. Thanks & Regards, Rupesh DISCLAIMER: "The information in this e-mail and any attachment is intended only for the person to whom it is addressed and may contain confidential and/or privileged material. If you have received this e-mail in error, kindly contact the sender and destroy all copies of the original communication. IBS makes no warranty, express or implied, nor guarantees the accuracy, adequacy or completeness of the information contained in this email or any attachment and is not liable for any errors, defects, omissions, viruses or for resultant loss or damage, if any, direct or indirect." From hagai.shatz at gmail.com Wed Apr 30 09:07:34 2014 From: hagai.shatz at gmail.com (Hagai) Date: Wed, 30 Apr 2014 06:07:34 -0700 (PDT) Subject: [rules-users] OptaPlanner: Solver.isEveryProblemFactChangeProcessed() return true before the last fact change is processed In-Reply-To: References: <1398853036689-4029389.post@n3.nabble.com> Message-ID: <1398863254852-4029392.post@n3.nabble.com> I do use it from other threads in the following 2 scenarios: 1. In a thread that monitors a stream of messages with fact changes. Just before the thread add a new problem fact change to the solver, the code checks if the message is relevant by examining the current solution facts. But if there is a pending problem fact change in the queue, this evaluation cannot be done and a new problem fact change must be added (even if it will not do any change when processed). The idea is to minimize the situations where a message does not result in any change to facts and the solver restart itself to process the a fact change that does not change anything. 2. The solver produce many new solutions when starting and after fact changes. After some time, less new solutions are found. But when a new solution is found, some additional improvements are usually found shortly after. To reduce the amount of new best solutions produced by the application, a thread is scheduled to read/save/send the best solution after a short idle time (no new best solution for X ms). To make sure the best solution is valid, the code checks if every problem facts change processed. If there are still fact changes to process, the solver will produce another best solution shortly with the updated facts. I hope this fix is simple to do so I can remove my workaround. BTW, I'm looking forward to use the new demon mode (instead of a similar implementation outside of the solver). -- View this message in context: http://drools.46999.n3.nabble.com/OptaPlanner-Solver-isEveryProblemFactChangeProcessed-return-true-before-the-last-fact-change-is-procd-tp4029389p4029392.html Sent from the Drools: User forum mailing list archive at Nabble.com. From ge0ffrey.spam at gmail.com Wed Apr 30 09:12:22 2014 From: ge0ffrey.spam at gmail.com (Geoffrey De Smet) Date: Wed, 30 Apr 2014 15:12:22 +0200 Subject: [rules-users] OptaPlanner scalability In-Reply-To: <85C0DCE544FC0948BCF39A3CB17CF1C7D4C1CCDA@PBOX1.ibsplc.com> References: <85C0DCE544FC0948BCF39A3CB17CF1C7D4C1CCDA@PBOX1.ibsplc.com> Message-ID: On 30-04-14 15:04, Rupesh M G wrote: > Hi, > > I tested Optaplanner successfully for a fleet planning application. > Upto 1200 trips with around 80 vehicles for 3 days is fine. > I'm reaching the target of 0 hard constraints in less than 30 minutes. > > But my target is to plan for a month with 12000 trips using 80 vehicles. > This time it didn't complete even after 12 hours. > I found the memory (< 500 MB) and CPU (25%) usage is less. > So tried running 3 solver threads and grouping the vehicles. > Now CPU usage increases. > > I followed the vehicle routing sample application and the config xml is very similar. > I used late acceptance (200) and accept count (1000). > > I'm using incremental score calculation; and applied change & swap filters in the config xml. > > Requesting experts for some thoughts on how Optaplanner can scale on similar situations. See the 2 blog articles by Roman about VRP in this section: http://www.optaplanner.org/learn/testimonialsAndCaseStudies.html He uses geo-fencing to scale. I don't believe geo-fencing is the best approach, I am working on nearby selection, which I believe will be better (because it still allows any location to go to any other location): https://issues.jboss.org/browse/PLANNER-202 Some time ago, I did an experiment with nearby selection on a TSP variant with 150 000 locations and it worked well. Also, the 6.1 beta's have seen some small perf improvements related to vehicle routing IIRC. > > Thanks & Regards, > Rupesh > > > > > > DISCLAIMER: "The information in this e-mail and any attachment is intended only for the person to whom it is addressed and may contain confidential and/or privileged material. If you have received this e-mail in error, kindly contact the sender and destroy all copies of the original communication. IBS makes no warranty, express or implied, nor guarantees the accuracy, adequacy or completeness of the information contained in this email or any attachment and is not liable for any errors, defects, omissions, viruses or for resultant loss or damage, if any, direct or indirect." > > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > From ge0ffrey.spam at gmail.com Wed Apr 30 15:31:24 2014 From: ge0ffrey.spam at gmail.com (Geoffrey De Smet) Date: Wed, 30 Apr 2014 21:31:24 +0200 Subject: [rules-users] OptaPlanner: Solver.isEveryProblemFactChangeProcessed() return true before the last fact change is processed In-Reply-To: <1398863254852-4029392.post@n3.nabble.com> References: <1398853036689-4029389.post@n3.nabble.com> <1398863254852-4029392.post@n3.nabble.com> Message-ID: On 30-04-14 15:07, Hagai wrote: > I do use it from other threads in the following 2 scenarios: > > 1. In a thread that monitors a stream of messages with fact changes. Just > before the thread add a new problem fact change to the solver, the code > checks if the message is relevant by examining the current solution facts. > But if there is a pending problem fact change in the queue, this evaluation > cannot be done and a new problem fact change must be added (even if it will > not do any change when processed). The idea is to minimize the situations > where a message does not result in any change to facts and the solver > restart itself to process the a fact change that does not change anything. > > 2. The solver produce many new solutions when starting and after fact > changes. After some time, less new solutions are found. But when a new > solution is found, some additional improvements are usually found shortly > after. To reduce the amount of new best solutions produced by the > application, a thread is scheduled to read/save/send the best solution after > a short idle time (no new best solution for X ms). To make sure the best > solution is valid, the code checks if every problem facts change processed. > If there are still fact changes to process, the solver will produce another > best solution shortly with the updated facts. Thanks for the feedback: it's very helpful for me to know how it's used better. Out of interest: What kind of planning problem are you solving? > > I hope this fix is simple to do so I can remove my workaround. Yes, I'll fix the problem (I might go for an alternative on the peek()'s) on Friday (holiday tomorrow with plans). > > BTW, I'm looking forward to use the new demon mode (instead of a similar > implementation outside of the solver). Grab 6.1.0-SNAPSHOT if you can't wait. Or read the SNAPSHOT docs. Feedback/concerns welcome. > > > > -- > View this message in context: http://drools.46999.n3.nabble.com/OptaPlanner-Solver-isEveryProblemFactChangeProcessed-return-true-before-the-last-fact-change-is-procd-tp4029389p4029392.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users >