2010-06-27 4 views
1

J'essaye de charger mes règles de jboss-brms à mon éclipse afin de l'exécuter contre la mémoire de travail. Ce qui suit est mon code et le fichier change-set.xml et j'obtiens la pile d'erreurs suivante. J'ai démarré le serveur jboss et il est correctement connecté. Mais je n'arrive pas à comprendre l'erreur que j'obtiens et est-ce que mon jeu de modifications et mon code sont corrects? L'erreur indique qu'il est impossible d'analyser change-set.xml et de se connecter au serveur. Je viens de spécifier le chemin de l'URL dans mon fichier de change-set et les types de fichiers qu'il devrait rechercher. Quoi d'autre ai-je besoin de l'incorporer pour se connecter au serveur ??? Je n'ai pas trouvé beaucoup d'aide dans la documentation.Chargement dynamique des règles de BRMS

S'il vous plaît aidez-moi. Je suis relativement nouveau à Drools.

code dans ma classe Runner:

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(); 

mon dossier de changement set.xml:

<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> 

pile d'erreur:

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 

S'il vous plaît aidez-moi.

Merci

Répondre

1

Comme dit Kris. Vous pouvez obtenir l'URL correcte pour le dernier paquet si vous allez à la vue de paquet dans BRMS et vérifiez la section en bas "information et URL importantes". Si vous voulez que l'agent télécharge l'instantané, allez dans "Package snapshots" et vous obtiendrez l'URL de la ligne "URL de déploiement: cliquez ici pour télécharger binaire (ou copier l'URL pour l'agent de déploiement)".

Questions connexes