[rules-users] Dynamic changes to drl file

2007-08-23 Thread pns77

Have been stuck with this for quite some time now. Would appreciate if anyone
could help me out.

I was checking if changes could be made to the rule file at runtime and the
following is the block of code that i tried

RuleBase ruleBase = readRule();
WorkingMemory workingMemory =
ruleBase.newStatefulSession(false); // to keep reference
// Create a message object
workingMemory.insert( message );
workingMemory.fireAllRules();

When i try chaning the "drl" file at run time the change doesnt get
reflected. Is there anything else i need to be doing here?  Any additional
jar files ?

To have this change take effect at runtime - do i need to create a new
session for each run or do i need to retain the session - i tried both
"newStatefulSession(false)" and "newStatefulSession()" - get the same result
with both. 
-- 
View this message in context: 
http://www.nabble.com/Dynamic-changes-to-drl-file-tf4317491.html#a12293461
Sent from the drools - user mailing list archive at Nabble.com.

___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Drools - is dynamic change possible ?

2007-08-20 Thread pns77

Any suggestions / guidance for the below question ?


pns77 wrote:
> 
> Hi,
> 
> The following is the block of code that i tried
> 
> RuleBase ruleBase = readRule();
> WorkingMemory workingMemory =
> ruleBase.newStatefulSession(false); // to keep reference
> // Create a message object
> workingMemory.insert( message );
> workingMemory.fireAllRules();
> 
> When i try chaning the "drl" file at run time the change doesnt get
> reflected. Is there anything else i need to be doing here?  Any additional
> jar files ?
> 
> To have this change take effect at runtime - do i need to create a new
> session for each run or do i need to retain the session - i tried both
> "newStatefulSession(false)" and "newStatefulSession()" - get the same
> result with both.
> 
> Just to add on...for two successive runs, the times taken to create
> RuleBase object were
> 
> <<<<<<<< START >>>>>>>>>>1187339950422
> <<<<<<<<<< FINISH >>>>>>>>>>>>>>>>.1187339956100 => ~ 6 seconds
> 
> <<<<<<<< START >>>>>>>>>>1187340049090
> <<<<<<<<<< FINISH >>>>>>>>>>>>>>>>.1187340049721 => ~ .6 seconds
> 
> Doesnt this mean that there is a cache that prevents the modified drl file
> from being parsed ?
> 
> 
> Mark Proctor wrote:
>> 
>> 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
>>>>
>>>>
>>>> 
>>>
>>>   
>> 
>> 
>> ___
>> rules-users mailing list
>> rules-users@lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Drools---is-dynamic-change-possible---tf4277622.html#a12248108
Sent from the drools - user mailing list archive at Nabble.com.

___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Drools - is dynamic change possible ?

2007-08-17 Thread pns77

Hi,

The following is the block of code that i tried

RuleBase ruleBase = readRule();
WorkingMemory workingMemory =
ruleBase.newStatefulSession(false); // to keep reference
// Create a message object
workingMemory.insert( message );
workingMemory.fireAllRules();

When i try chaning the "drl" file at run time the change doesnt get
reflected. Is there anything else i need to be doing here?  Any additional
jar files ?

To have this change take effect at runtime - do i need to create a new
session for each run or do i need to retain the session - i tried both
"newStatefulSession(false)" and "newStatefulSession()" - get the same result
with both.




Mark Proctor wrote:
> 
> 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
>>>
>>>
>>> 
>>
>>   
> 
> 
> ___
> rules-users mailing list
> rules-users@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Drools---is-dynamic-change-possible---tf4277622.html#a12195188
Sent from the drools - user mailing list archive at Nabble.com.

___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Drools - is dynamic change possible ?

2007-08-16 Thread pns77


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

-- 
View this message in context: 
http://www.nabble.com/Drools---is-dynamic-change-possible---tf4277622.html#a12180915
Sent from the drools - user mailing list archive at Nabble.com.

___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


[rules-users] Drools - is dynamic change possible ?

2007-08-16 Thread pns77

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; 
-- 
View this message in context: 
http://www.nabble.com/Drools---is-dynamic-change-possible---tf4277622.html#a12175583
Sent from the drools - user mailing list archive at Nabble.com.

___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users