[rules-users] CPU Spike creating a StatefulKnowledgeSession using OSGi

David Conde dconde at calomtech.com
Tue Aug 10 14:53:52 EDT 2010


Just to let people know, I've worked around this by only creating one
SessionConfig object and caching it i.e "StatelessKnowledgeSession ksession
=
kbase.newStatelessKnowledgeSession((KnowledgeSessionConfiguration)getSessionConfig());".

What seemed to be happening was ChainedProperties was trying Classloader
lookups that were very slow when running in an OSGi environment.

Also with how the OSGi bundles are built the org.drools package is split and
it makes it difficult to load up certain classes. I ended up having to use
reflection to load up the SessionConfiguration class from a specific bundle.
Maybe it's to do with how I'm importing the drools bundles into my project
but it's one to watch out for if your using drools with OSGi.

Thanks,
Dave

On 10 August 2010 17:46, David Conde <dconde at calomtech.com> wrote:

> ChainedProperties lives in org.drools.util.ChainedProperties and is created
> in SessionConfiguration(). The call is called
> during StatelessKnowledgeSession ksession =
> kbase.newStatelessKnowledgeSession();.
>
>
> On 10 August 2010 17:36, Pavel Tavoda <pavel.tavoda at gmail.com> wrote:
>
>> Can't you avoid using ChainedProperties, what is it? Can you send
>> piece of code where you create session?
>>
>> Pavel
>>
>>
>> 2010/8/10 David Conde <dconde at calomtech.com>:
>> > Hi Pavel,
>> > I've changed it over to use a stateless session and I'm seeing the
>> > same behavior. I've done some debugging and it seems to be very slow
>> loading
>> > up the SessionConfiguration due to all of the loading that happens in
>> > ChainedProperties.
>> > Thanks,
>> > Dave
>> >
>> > On 10 August 2010 13:53, Pavel Tavoda <pavel.tavoda at gmail.com> wrote:
>> >>
>> >> Interesting. Normally it should be fast. Try to change your patter and
>> >> load binary compiled serialized package from disk. You can find it in
>> >> documentation.
>> >> Also consider using stateless session. Do you really need stateful
>> >> session?
>> >>
>> >> Pavel
>> >>
>> >> 2010/8/9 David Conde <dconde at calomtech.com>:
>> >> > Is it possible that this might be invoking the compiler when a
>> session
>> >> > is
>> >> > created? I have all of the init code in the service start call and
>> >> > stored as
>> >> > members of the service for reuse but I must create a new knowledge
>> >> > session
>> >> > for each run.
>> >> > Any ideas?
>> >> > Thanks,
>> >> > Dave
>> >> >
>> >> > ---------- Forwarded message ----------
>> >> > From: David Conde <dconde at calomtech.com>
>> >> > Date: 9 August 2010 11:17
>> >> > Subject: Re: [rules-users] CPU Spike creating a
>> StatefulKnowledgeSession
>> >> > using OSGi
>> >> > To: Rules Users List <rules-users at lists.jboss.org>
>> >> >
>> >> >
>> >> > The line that it spikes on is StatefulKnowledgeSession ksession =
>> >> > kbase.newStatefulKnowledgeSession();.
>> >> > Cheers,
>> >> > Dave
>> >> >
>> >> > On 9 August 2010 11:09, Pavel Tavoda <pavel.tavoda at gmail.com> wrote:
>> >> >>
>> >> >> Is it session creation or rule compilation?
>> >> >>
>> >> >> Pavel
>> >> >>
>> >> >> 2010/8/9 David Conde <dconde at calomtech.com>:
>> >> >> > Good Morning,
>> >> >> > I now have drools running on the Spring DM-Server but I am seeing
>> a
>> >> >> > CPU
>> >> >> > spike when creating a StatefulKnowledgeSession. I've tested this
>> >> >> > outside
>> >> >> > of
>> >> >> > an OSGi environment and I don't see the spike. Does anyone know
>> any
>> >> >> > settings
>> >> >> > that I can change that might make this go away?
>> >> >> > Thanks,
>> >> >> > Dave
>> >> >> >
>> >> >> > --
>> >> >> > David Conde
>> >> >> > CTO Calom Technologies
>> >> >> >
>> >> >> >
>> >> >> > _______________________________________________
>> >> >> > rules-users mailing list
>> >> >> > rules-users at lists.jboss.org
>> >> >> > https://lists.jboss.org/mailman/listinfo/rules-users
>> >> >> >
>> >> >> >
>> >> >>
>> >> >> _______________________________________________
>> >> >> rules-users mailing list
>> >> >> rules-users at lists.jboss.org
>> >> >> https://lists.jboss.org/mailman/listinfo/rules-users
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > _______________________________________________
>> >> > rules-users mailing list
>> >> > rules-users at lists.jboss.org
>> >> > https://lists.jboss.org/mailman/listinfo/rules-users
>> >> >
>> >> >
>> >>
>> >> _______________________________________________
>> >> rules-users mailing list
>> >> rules-users at lists.jboss.org
>> >> https://lists.jboss.org/mailman/listinfo/rules-users
>> >
>> >
>> >
>> > _______________________________________________
>> > rules-users mailing list
>> > rules-users at lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/rules-users
>> >
>> >
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>
>
>
> --
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100810/f39a523b/attachment.html 


More information about the rules-users mailing list