[jboss-user] [JBoss Seam] - Re: annotation for Drools

mark.proctor@jboss.com do-not-reply at jboss.com
Mon Jul 16 14:51:10 EDT 2007


"ellenzhao" wrote : A few annotations for Drools might be handy. Currently there is a good candidates in my mind: @DynamicSlot
  | 
  | Once Seam detects there is any property setter in an entity class annotated with @DynamicSlot, it could automatically generate the boilerplate code like shown in the Drools manual. Or if not generate code, at least manipulate the bytecode.... 
  | 
  |  

I looked at a weaving type framework for drools, some of the code is even still be in the codebase (although not used or finished). 
http://anonsvn.labs.jboss.com/labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/JavaFact.java
http://anonsvn.labs.jboss.com/labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/JavaFactRegistryEntry.java
http://anonsvn.labs.jboss.com/labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DelegateJavaFactHandler.java

The idea was that the microcontainer would have a configuration of multiple named rulebases and working memories and a settings file would specify which working memories would monitor (auto insert on creation and update on modifications) which facts. AOP would then weave into the object generating the correct notification code; using the jboss pojo cache approach to have tx.begin() and tx.end() any facts that are modified in that block are removed from any monitoring working memories using session.modifyRetract(); and then at the end when tx.end() is called we call session.modifyInsert(); on each modified object. In future releases if we know the changed fields, we can make engine re-evaluation more efficient, so we might be able to use that information too.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4064682#4064682

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4064682



More information about the jboss-user mailing list