Hi Jen,
To answer your 3. point. You can create a serializable marshaller like this:
MarshallerFactory.newSerializeMarshallingStrategy( acceptor );
You can find complete examples here:
http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-compiler...
Best regards,
Michal
On Sat, Jul 11, 2009 at 11:55 PM, LadyCode <j_whittlesea(a)hotmail.com> wrote:
Hi,
I have written a Java application that reads in approximately 6000 .dslr
rules at runtime. This takes around 6minutes, however I have installed the
application on the target (rather old!) machine and load time is in excess
of 20minutes. I have been trying without success to find a way to speed up
loading:
I have tried:
1. Serialising the KnowledgePackages themselves. This works well but has
limited effect on load time.
2. Serialising the KnowledgeBase, this does not seem to work on large rule
bases and fails with StackOverflowException when I load more than about 200
rules.
3. Serialising the StatefulKnowledgeSession using
Marshaller marshaller = MarshallerFactory.newMarshaller(knowledgeBase);
marshaller.marshall(out, session);
This works well for the life of the marshaller but does not solve my
problem
as I need to restart the application and therefore cannot use the same
instance of marshaller later on. Marshaller is not serialisable.
I know some of these points are discussed in other posts. But is there
anything I can do or have I missed the point?
Any help or comments very much appreciated,
Regards,
Jen
--
View this message in context:
http://www.nabble.com/Failing-serialisation-of-large-rule-base-tp24444231...
Sent from the drools - user mailing list archive at
Nabble.com.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users