Having spent all day on this one, I have finally got to the bottom of it.

The problem is reproducible if I have /both/ a declarative fact model /and/ a function in my rules. It doesn't matter whether the function is called or not... It's presence is enough to cause the problem.

Any rule that is dependent on the existence of an instance of the declarative fact model where the instance is created in the RHS of another rule will not fire.

I suspect that this is a bug that has been fixed in 5.1 because I have been using this technique in Drools 5.1... It's only since downgrading to the (supported) JBoss Rules 5.0 that I have experienced the problem.

Does anyone know if there is a fix in the 5.0 branch?

If I create a "real" Java class and upload it in a jar file to the Guvnor and use that in place of the declarative model then the problem does not happen. This is a workaround in the short term but I would much prefer not to have to do this.

Chris Selwyn


On 01/12/2010 15:14, Chris Selwyn wrote:
Yes the package is "SWWB2BOutgoing" but it looks as though the package name simple doesn't get reported in the log file.

I have been debugging through this thing and where I've got to so far is that I am getting two (and maybe more) entries for the class "SWWB2BOutgoing.QuestionValidation" in the ObjectTypeConfigurationRepository. So my current question is "How is this possible?" Is it maybe a classloader issue?

Chris


On 01/12/2010 12:05, Wolfgang Laun wrote:
A closer look:

On 1 December 2010 11:13, Chris Selwyn <ch...@selwyn-family.me.uk <mailto:ch...@selwyn-family.me.uk>> wrote:



    I can see the facts being inserted in the log as follows
    
[#|2010-12-01T09:19:16.723+0000|INFO|sun-appserver2.1|javax.enterprise.system.stream.out|_ThreadID=70;_ThreadName=p:
    thread-pool-1; w: 7;|
    OBJECT ASSERTED value:QuestionValidation( mandatory=true,
    state=Closed,
    question=B2B_METER_SERIAL_NUMBER, type=string ) factId: 39|#]


Shouldn't the package name appear in the log as well?


    However, if I insert a QuestionValidation fact created in Java by
    using
    kbase.getFactType("SWWB2BOutgoing", "QuestionValidation") then
    the Test
    rule gets fired just fine.


That is, apparently "SWWB2BOutgoing".

-W


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


No virus found in this message.
Checked by AVG - www.avg.com <http://www.avg.com>
Version: 10.0.1170 / Virus Database: 426/3290 - Release Date: 11/30/10


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


No virus found in this message.
Checked by AVG - www.avg.com <http://www.avg.com>
Version: 10.0.1170 / Virus Database: 426/3290 - Release Date: 11/30/10

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

Reply via email to