The *Descr classes are the AST - hence textual in content- so they should be fine to serialize now.
This means you at least save the cost of the reparsing, although you still need to wear the cost of compiling it into the executable package etc. On 4/5/06, Mark Proctor <[EMAIL PROTECTED]> wrote: > > I'll work on making it serialisable tonight. > > Mark > Peter Lin wrote: > > it's quite normal for RETE engines to make everything in the > workingmemory > > and the nodes serializable. this is often done so that one can save the > > state of the rule engine. In my own engine, I have both the nodes, > > functions, rules, workingmemory and base items either extend or > implement > > serializable. > > > > peter > > > > > > On 4/4/06, Greg Barton <[EMAIL PROTECTED]> wrote: > > > >> I've been trying to serialize an instance of > >> org.drools.rule.Package and have come upon some > >> problems. The object itself is Externalizable, but > >> several objects it uses are not: > >> > >> org.drools.base.ClassObjectType > >> org.drools.rule.Column > >> org.drools.base.evaluators.StringFactory$StringEqualEvaluator > >> > >> That's no problem, I just implemented Serializable on > >> those classes. (org.drools.base.BaseEvaluator to > >> cover all of the evaluators...) > >> > >> The problem lies in these classes: > >> org.drools.spi.FieldValue and > >> org.drools.base.FieldImpl. > >> > >> FieldValue has a methods that returns Object and > >> FieldImpl contains a reference to Object. I changed > >> that to Serializable, but unfortunately that would > >> mean every field of every WM object would need to be > >> Serializable, and that ain't kosher. (And, even after > >> that change I was getting ClassNotFoundExceptions > >> because class names of my fields were having > >> "org.drools.fieldaccess." prepended to them...) > >> > >> At this point I think org.drools.rule.Package should > >> not implement Externalizable. Seems there's some > >> difficult issues deep down in making it functional. I > >> thought on first blush that I'd be able to ship > >> packages over the wire for some mobile agent stuff I'm > >> doing, but have had to back off to just sending DRL, > >> globals, and the content of working memory and > >> reconstituting at the other end of the line. > >> > >> I tried Serializing reteoo.WorkingMemoryImpl and got > >> similar results. I had to implement Serializable on: > >> > >> org.drools.common.AgendaGroupImpl > >> org.drools.common.ActivationQueue > >> org.drools.util.LinkedList > >> org.drools.util.LinkedListNode > >> org.drools.common.PropagationContextImpl > >> > >> Then it wrapped around again onto the Package > >> serialization problems... > >> > >> As a side note, org.drools.lang.descr.PackageDescr was > >> easily serialized by making > >> org.drools.lang.descr.PaternDescr Serializable. > >> Worked like a champ. :) > >> > >> GreG > >> > >> > >> __________________________________________________ > >> Do You Yahoo!? > >> Tired of spam? Yahoo! Mail has the best spam protection around > >> http://mail.yahoo.com > >> > >> > > > > > > >
