[rules-users] Dynamic Loading of Rules from BRMS

jillika iyer jillika at gmail.com
Sun Jun 27 17:53:47 EDT 2010


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100627/16bc7819/attachment.html 


More information about the rules-users mailing list