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.
in general you shouldn't be looking up concrete
implementations, just
using what the factory services provide in drools-api; so the split
packages shouldn't impact. I made a few of the services avaiable as osgi
factory services, see docs for more details.
Mark
Thanks,
Dave
On 10 August 2010 17:46, David Conde <dconde(a)calomtech.com
<mailto:dconde@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(a)gmail.com
<mailto:pavel.tavoda@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(a)calomtech.com
<mailto:dconde@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(a)gmail.com <mailto:pavel.tavoda@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(a)calomtech.com
<mailto:dconde@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(a)calomtech.com
<mailto:dconde@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(a)lists.jboss.org
<mailto:rules-users@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(a)gmail.com <mailto:pavel.tavoda@gmail.com>> wrote:
>> >>
>> >> Is it session creation or rule compilation?
>> >>
>> >> Pavel
>> >>
>> >> 2010/8/9 David Conde <dconde(a)calomtech.com
<mailto:dconde@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(a)lists.jboss.org
<mailto:rules-users@lists.jboss.org>
>> >> >
https://lists.jboss.org/mailman/listinfo/rules-users
>> >> >
>> >> >
>> >>
>> >> _______________________________________________
>> >> rules-users mailing list
>> >> rules-users(a)lists.jboss.org
<mailto:rules-users@lists.jboss.org>
>> >>
https://lists.jboss.org/mailman/listinfo/rules-users
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > _______________________________________________
>> > rules-users mailing list
>> > rules-users(a)lists.jboss.org
<mailto:rules-users@lists.jboss.org>
>> >
https://lists.jboss.org/mailman/listinfo/rules-users
>> >
>> >
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users(a)lists.jboss.org
<mailto:rules-users@lists.jboss.org>
>>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org <mailto:rules-users@lists.jboss.org>
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org <mailto:rules-users@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/rules-users
--
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users