[rules-users] Dynamic Loading of Rules from BRMS

Esteban Aliverti esteban.aliverti at gmail.com
Mon Jun 28 12:35:12 EDT 2010


I still don't get why are you using 3 different emails!! :P
Your change set file must be accessible from your app. It is just like any
regular file. You could use newFileResource(), new ClassPAthResource() if
you want to.

By the way, if you are already getting official support you must be very
careful about your questions here. Some of the responses we give here
involve  experimental or unsupported features. So it would be better if you
ask to the official support first.

Best,


On Mon, Jun 28, 2010 at 1:02 PM, Fnu Mahalakshmi <FMahalakshmi at nyx.com>wrote:

> Hi,
>
> I did try to do what you suggested:
> My change-set.xml is in my main project folder and I set the URL to point
> to that file.
> kagent.applyChangeSet( ResourceFactory.newUrlResource("change-set.xml"));
>
> But still the file does not get parsed or detected.
>
> I change set has to be in the project folder right as per my understanding?
>
> Thanks.
>
> ------------------------------
>
> Message: 3
> Date: Sun, 27 Jun 2010 19:03:38 -0300
> From: Esteban Aliverti <esteban.aliverti at gmail.com>
> Subject: Re: [rules-users] Dynamic Loading of Rules from BRMS
> To: Rules Users List <rules-users at lists.jboss.org>
> Message-ID:
>        <AANLkTikXFyHlZhuOHnvz53rGoJ24TlFAjAoZ-PEV5IM8 at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hi,
> When you execute:
> kagent.applyChangeSet( ResourceFactory.newUrlResource("
> http://localhost:8280/jboss-brms/org.drools.guvnor.Guvnor/Guvnor.html"));
>
> you need to point to your change-set.xml file and not to guvnor.
>
> Inside you change-set you need to point to each resource you want the agent
> take care of. In your example the first two resources have the same URL. It
> doesn't look right.
>
> Best,
>
> 2010/6/27 jillika iyer <jillika at gmail.com>
>
> > hi guys,
> >
> > I am trying to upload my rules from jboss-brms to my eclipse in order to
> > run it against the working memory.
> > The following is my code and change-set.xml file and I am getting the
> > following error stack ( which is a java error but just attaching it for
> > giving more info).
> >
> >
> > I have started the jboss-server and it is connected correctly.
> >
> > I am getting a java based error which says that it is unable to parse
> > change-set.xml and unable to connect to the server.
> >
> > I just want to know if I am not the right path for creating the required
> > change-set.xml file due to which I am getting the java connection error.
> >
> >
> > I have just specified the url path in my change-set file and the types of
> > files it should be looking out for.
> >
> > What else do I need to incorporate for it to connect to the server???
> >
> > Please help me. I am relatively new to Drools.
> >
> > Code in my Runner class:
> >
> > KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
> >         ResourceFactory.getResourceChangeScannerService().start();
> >         ResourceFactory.getResourceChangeNotifierService().start();
> >
> >         // creating a knowledge agent
> >         KnowledgeAgentConfiguration aconf =
> > KnowledgeAgentFactory.newKnowledgeAgentConfiguration();
> >
> >         KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent(
> > "MyAgent", kbase,aconf );
> >         kagent.applyChangeSet( ResourceFactory.newUrlResource("
> > http://localhost:8280/jboss-brms/org.drools.guvnor.Guvnor/Guvnor.html
> "));
> >         StatefulKnowledgeSession ksession =
> > kagent.getKnowledgeBase().newStatefulKnowledgeSession();
> >
> >   //      StatelessSession workingMemory =
> ruleBase.newStatelessSession();
> >         ArrayList<Ip> ipList = new ArrayList<Ip>();
> >
> >         ksession.setGlobal("ipList", ipList);
> >         ksession.insert(al);
> >         ksession.fireAllRules();
> >         ksession.dispose();
> >
> >
> >
> > my change-set.xml file:
> >
> >  <change-set xmlns='http://drools.org/drools-5.0/change-set'
> >              xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'
> >              xs:schemaLocation='
> > http://drools.org/drools-5.0/change-set.xsd' >
> >    <add>
> >    <!-- Add for specifying URLs-->
> >        <resource source='http://localhost:8280/jboss-brms' type='DRL' />
> >        <resource source='http://localhost:8280/jboss-brms' type='DSLR'
> />
> >        <resource source='
> http://localhost:8280/jboss-brmss/sample-dsl.dsl'
> > type='DSL' />";
> >        <resource source='http://localhost:8280/jboss-brms' type='BRL' />
> >    </add>
> >  </change-set>
> >
> >
> >
> >
> > error stack:
> >
> > java.lang.RuntimeException: Unable to parse ChangeSet
> >     at
> >
> org.drools.agent.impl.KnowledgeAgentImpl.getChangeSet(KnowledgeAgentImpl.java:223)
> >     at
> >
> org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:109)
> >     at com.org.RuleRunner.runStatelessRules(RuleRunner.java:156)
> >     at com.org.RulesTest.main(RulesTest.java:38)
> > Caused by: java.net.SocketException: Network is unreachable: connect
> >     at java.net.PlainSocketImpl.socketConnect(Native Method)
> >     at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
> >     at
> java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
> >     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
> >     at java.net.Socket.connect(Socket.java:524)
> >     at java.net.Socket.connect(Socket.java:474)
> >     at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
> >     at sun.net.www.http.HttpClient.openServer(HttpClient.java:388)
> >     at sun.net.www.http.HttpClient.openServer(HttpClient.java:523)
> >     at sun.net.www.http.HttpClient.<init>(HttpClient.java:231)
> >     at sun.net.www.http.HttpClient.New(HttpClient.java:304)
> >     at sun.net.www.http.HttpClient.New(HttpClient.java:321)
> >     at
> >
> sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:839)
> >     at
> >
> sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:791)
> >     at
> >
> sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:716)
> >     at
> >
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:960)
> >     at
> >
> com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:973)
> >     at
> >
> com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:905)
> >     at
> >
> com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:872)
> >     at
> >
> com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:282)
> >     at
> >
> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(XMLDocumentScannerImpl.java:1021)
> >     at
> >
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
> >     at
> >
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
> >     at
> >
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
> >     at
> >
> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
> >     at
> >
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
> >     at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
> >     at
> > org.drools.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:255)
> >     at
> > org.drools.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:170)
> >     at org.drools.xml.XmlChangeSetReader.read(XmlChangeSetReader.java:48)
> >     at
> >
> org.drools.agent.impl.KnowledgeAgentImpl.getChangeSet(KnowledgeAgentImpl.java:221)
> >     ... 3 more
> >
> > Please help me.
> >
> > Thank you
> > Jill
> >
> >
> > _______________________________________________
> > rules-users mailing list
> > rules-users at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
> >
> >
>
>
> --
> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
>
> Esteban Aliverti
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> http://lists.jboss.org/pipermail/rules-users/attachments/20100627/e5ef1013/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 43, Issue 145
> ********************************************
> Please consider the environment before printing this email.
>
> Visit our website at http://www.nyse.com
>
> ****************************************************
>
> Note:  The information contained in this message and any attachment to it
> is privileged, confidential and protected from disclosure.  If the reader of
> this message is not the intended recipient, or an employee or agent
> responsible for delivering this message to the intended recipient, you are
> hereby notified that any dissemination, distribution or copying of this
> communication is strictly prohibited.  If you have received this
> communication in error, please notify the sender immediately by replying to
> the message, and please delete it from your system.  Thank you.  NYSE
> Euronext.
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>



-- 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Esteban Aliverti
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100628/feb8e493/attachment.html 


More information about the rules-users mailing list