Yes this can be done at runtime. The RuleBase has a reference to each of the created StatefulSessions that has not called dispose() yet and will push those rule changes out to each running session.


Mark
pns77 wrote:
Thanks for the response.

Just to confirm when you say "...but you can remove a rule and add another
in its place..." - can this be done at runtime - i.e server is running, i go
add a new rule/change the output of an existing rule. If so, can  i have the
new rule take effect ?

Also, do i need to include any specific jar file for this dynamic feature ?

Am not looking at performance here - more from a maintenance/changeability
point of view.


Mark Proctor wrote:
  
you cannot change an individual rule, but you can remove a rule and add 
another in its place.

Mark
pns77 wrote:
    
Have been able to execute/run a sample Drools file

import com.sample.Message;
 
rule "Hello World"
    when
        m : Message( status == Message.HELLO, message : message,
testStringExternal : testStringExternal )
    then
        System.out.println( message );
        m.setMessage( "Goodbye cruel world" );
        System.out.println( testStringExternal + "Message.HELLO" );
        m.setStatus( Message.GOODBYE );
        update( m );
end

Now, is it possible to change the logic dynamically at runtime ? Or is
the
drl file used only to externalize the business logic? I tried changing
the
message in drl file and it didnt get reflected

Environment - RAD 6.0/jdk 1.4

Used the following set of jar files
C:\Drools\libraries\drools-core.jar;
C:\Drools\libraries\drools-compiler.jar;
C:\Drools\libraries\mvel14.jar;
C:\Drools\libraries\antlr-runtime.jar;
C:\Drools\libraries\xstream.jar;
C:\Drools\lib\core-3.2.3.v_686_R32x.jar; 
  
      
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users