Uploaded image for project: 'Drools'
  1. Drools
  2. DROOLS-711

Kie Server unable to build KieBase which builds fine with kie-maven-plugin and unit test

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • None
    • 6.2.0.CR4, 6.2.0.Final
    • None
    • None

    Description

      I have deployed Kie Server kie-server-distribution-wars-6.2.0.CR4-ee7.war on WildFly 8.2.0.Final.

      I have a simple rule base in the project client-test-rules as per below, in a kie project structured as kie-drools-archetype, which passes all test and install in m2 repo with mvn clean install.

      package com.acme.client_test_rules;
      
      declare Measurement
       @role(event)
      end
      
      rule "keep latest Measurement ID"
      salience 1000
      no-loop
      when
          $old : Measurement( $id : id )
          $new : Measurement( id == $id , this after $old  )
      then
       System.out.println("keep latest old : "+$old+" new (kept): "+$new);
          retract($old);
      end
      

      Then I issue Kie Server commands, using the client library, using project client-test to instantiate a container for the same artifact, but in the wildfly logs I get the following error below - which doesn't happen for kie-maven-plugin nor during unit test. Please note I'm assuming user kieserver with password kieserver is a valid user for the Kie Server Realm, or configure wildfly or the code in the project client-test accordingly to your environment =).

      09:41:41,700 ERROR [org.drools.compiler.kie.builder.impl.AbstractKieModule] (default task-4) Unable to build KieBaseModel:kbase1
      Unable to create Field Extractor for 'id'Field/method 'id' not found for class 'com.acme.client_test_rules.Measurement'
       : [Rule name='keep latest Measurement ID']
      java.lang.RuntimeException: Field/method 'id' not found for class 'com.acme.client_test_rules.Measurement'
      
      Unable to create Field Extractor for 'id'Field/method 'id' not found for class 'com.acme.client_test_rules.Measurement'
       : [Rule name='keep latest Measurement ID']
      java.lang.RuntimeException: Field/method 'id' not found for class 'com.acme.client_test_rules.Measurement'
      
      Field Reader does not exist for declaration '$id' in 'predicate 'id == $id'' in the rule 'keep latest Measurement ID' : [Rule name='keep latest Measurement ID']
      
      Unable to Analyse Expression id == $id:
      [Error: unable to resolve method using strict-mode: com.acme.client_test_rules.Measurement.id()]
      [Near : {... id == $id ....}]
                   ^
      [Line: 12, Column: 4] : [Rule name='keep latest Measurement ID']
      

      Can you kindly verify if some bug is hiding behind this odd behavior, please?
      Thank you
      MM

      Attachments

        Activity

          People

            mfusco@redhat.com Mario Fusco
            mmortari@redhat.com Matteo Mortari
            Votes:
            2 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated: