Jboss Drool 6工作台与Java应用程序的集成

Jboss Drool 6工作台与Java应用程序的集成,jboss,drools,workbench,Jboss,Drools,Workbench,我有一张6号工作台。我试图从工作台上读取规则,并在独立的java应用程序中执行它们。是否有任何方法可以使用URL从工作台下载drl文件。请像我是drools新手一样编写代码。首先创建Java应用程序,包括所有基于drools 6的二进制依赖项。为此,您可以创建Maven驱动的java应用程序。 在POM.xml文件中包括以下依赖项。。它将下载本地maven存储库中的所有依赖项 <parent> <groupId>org.drools</groupId>

我有一张6号工作台。我试图从工作台上读取规则,并在独立的java应用程序中执行它们。是否有任何方法可以使用URL从工作台下载drl文件。请像我是drools新手一样编写代码。首先创建Java应用程序,包括所有基于drools 6的二进制依赖项。为此,您可以创建Maven驱动的java应用程序。 在POM.xml文件中包括以下依赖项。。它将下载本地maven存储库中的所有依赖项

<parent>
    <groupId>org.drools</groupId>
    <artifactId>drools-multiproject</artifactId>
    <version>6.0.1.Final</version>
</parent>
 <dependencies>      
    <!-- Internal dependencies -->
    <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-api</artifactId>
    </dependency>
    <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-ci</artifactId>            
    </dependency>
    <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-core</artifactId>
    </dependency>
    <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-compiler</artifactId>
    </dependency>
    <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-decisiontables</artifactId>
    </dependency>
    <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-templates</artifactId>
    </dependency>

    <!-- Needed for logging -->
    <dependency>
        <groupId>com.thoughtworks.xstream</groupId>
        <artifactId>xstream</artifactId>
    </dependency>

    <!-- Logging -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
    </dependency>    
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
    </dependency>
    <dependency><!-- For example app logging: configure in src/java/resources/logback.xml -->
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
    </dependency>
</dependencies>

您的pom.xml应该具有这些依赖项

<dependency>
  <groupId>org.drools</groupId>
  <artifactId>drools-compiler</artifactId>
  <version>6.0.0.Final</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>org.drools</groupId>
  <artifactId>drools-core</artifactId>
  <version>6.0.0.Final</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>org.kie</groupId>
  <artifactId>kie-internal</artifactId>
  <version>6.0.0.Final</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>org.kie</groupId>
  <artifactId>kie-api</artifactId>
  <version>6.0.0.Final</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>org.drools</groupId>
  <artifactId>drools-templates</artifactId>
  <version>6.0.0.Final</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>org.mvel</groupId>
  <artifactId>mvel2</artifactId>
  <version>2.1.7.Final</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>org.antlr</groupId>
  <artifactId>antlr-runtime</artifactId>
  <version>3.5</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi-ooxml</artifactId>
  <version>3.9</version>
   <scope>provided</scope>
</dependency>


<dependency>
  <groupId>org.drools</groupId>
  <artifactId>drools-decisiontables</artifactId>
  <version>6.0.0.Final</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>org.eclipse.jdt</groupId>
  <artifactId>org.eclipse.jdt.core</artifactId>
  <version>3.7.1</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>com.thoughtworks.xstream</groupId>
  <artifactId>xstream</artifactId>
  <version>1.4.3</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>com.google.protobuf</groupId>
  <artifactId>protobuf-java</artifactId>
  <version>2.5.0</version>
  <scope>provided</scope>
</dependency>
drools-templates-6.0.0.Final.jar slf4j-api-1.7.5.jar drools-compiler-6.0.0.Final.jar mvel2-2.1.7.Final.jar antlr-runtime-3.5.jar poi-ooxml-3.9.jar poi-3.10-beta2.jar commons-lang-2.4.jar xstream-1.4.3.jar protobuf-java-2.5.0.jar
org.eclipse.jdt.core-3.7.1.jar

我尝试了这种方法。但应用程序无法找到kie模块。我还尝试使用其他方法,直接使用jar文件,但无法触发规则。POJO模型是在jar中定义的,我在我的独立java应用程序中创建了相同的POJO。我的方法有什么问题吗?你能指导我如何从工作台下载一个drl文件吗。它的url是什么?您是否设置了工作台数据将驻留在POM文件中的存储库路径?????是的,它位于我的远程服务器上。所以我给出了拥有存储库的远程服务器的位置。你能在这里发布你的问题吗。。。?
public static void main(String[] args) {
    ReleaseIdImpl releaseId = new ReleaseIdImpl("groupId", "artifactId", "LATEST");

    KieServices ks = KieServices.Factory.get();

    KieContainer kieContainer = ks.newKieContainer(releaseId);

    KieScanner kScanner = ks.newKieScanner(kieContainer);
    kScanner.start(10000L);             
    Scanner scanner = new Scanner(System.in);
    while (true) {
        runRule(kieContainer);
        System.out.println("Press enter in order to run the test again....");
        scanner.nextLine();
    }
  }
   private static void runRule(KieContainer kieKontainer) {
    KieSession newKieSession = kieKontainer.newKieSession();

    //Initiate POJO on which you want to define rule like
    //BankLoan bankLoan = new BankLoan();
      //  bankLoan.setLoanAmount(10000);
       // bankLoan.setLoanPeriod(11);

      //Insert into kieSession
       newKieSession.insert(bankLoan);

    int result = newKieSession.fireAllRules();
    newKieSession.dispose();
}
<dependency>
  <groupId>org.drools</groupId>
  <artifactId>drools-compiler</artifactId>
  <version>6.0.0.Final</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>org.drools</groupId>
  <artifactId>drools-core</artifactId>
  <version>6.0.0.Final</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>org.kie</groupId>
  <artifactId>kie-internal</artifactId>
  <version>6.0.0.Final</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>org.kie</groupId>
  <artifactId>kie-api</artifactId>
  <version>6.0.0.Final</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>org.drools</groupId>
  <artifactId>drools-templates</artifactId>
  <version>6.0.0.Final</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>org.mvel</groupId>
  <artifactId>mvel2</artifactId>
  <version>2.1.7.Final</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>org.antlr</groupId>
  <artifactId>antlr-runtime</artifactId>
  <version>3.5</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi-ooxml</artifactId>
  <version>3.9</version>
   <scope>provided</scope>
</dependency>


<dependency>
  <groupId>org.drools</groupId>
  <artifactId>drools-decisiontables</artifactId>
  <version>6.0.0.Final</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>org.eclipse.jdt</groupId>
  <artifactId>org.eclipse.jdt.core</artifactId>
  <version>3.7.1</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>com.thoughtworks.xstream</groupId>
  <artifactId>xstream</artifactId>
  <version>1.4.3</version>
   <scope>provided</scope>
</dependency>

<dependency>
  <groupId>com.google.protobuf</groupId>
  <artifactId>protobuf-java</artifactId>
  <version>2.5.0</version>
  <scope>provided</scope>
</dependency>
drools-decisiontables-6.0.0.Final.jar
drools-core-6.0.0.Final.jar
kie-internal-6.0.0.Final.jar
kie-api-6.0.0.Final.jar