Re: [rules-users] KnowledgeAgent exception while trying to deserialize
by John Peterson
Mike,
I believe this is the first time we've tried running anything from
workstation to server. Essentially what happened was that I did the
upgrade of the drools-guvnor.war file and then we fired up the server
following the upgrade. I checked out the server environment to see that
it was using the new version of Guvnor (i.e. new features, like
reporting, etc.) and it checked out fine. I turned it over to my
business partners to start building a new rule app.
I installed the new Guvnor-standalone to my workstation (based on 5.1.1)
and then started building a java application. I used the local copy to
with some dummy rules to verify that my eclipse app was talking to the
local server correctly, which it was. It wasn't until about 2 weeks ago
we tried to switch my eclipse app to talk to the new Guvnor app built by
the business partners that we started seeing the problem. Since we were
working with a new app, post-update, we never tried to connect prior to
the update.
The specific error - "KnowledgeAgent exception while trying to
deserialize KnowledgeDefinitionsPackage" - seems to imply an
incompatibility between Drools in eclipse and Guvnor from what I've
gathered from Google, mailing lists, etc. It is this issue that is
leading towards the idea of just exporting the repository, installing
the .zip of the Guvnor-standalone I used for my workstation locally to
the server, and then importing the repository.
I hope that helps answer your questions. Thanks for your help so
far....
John
Message: 5
Date: Wed, 5 Jan 2011 14:48:43 +0000
From: Michael Anstis <michael.anstis(a)gmail.com>
Subject: Re: [rules-users] KnowledgeAgent exception while trying to
deserialize KnowledgeDefinitionsPackage
To: Rules Users List <rules-users(a)lists.jboss.org>
Message-ID:
<AANLkTi=LDDG00Vd98ebetparyRa+sdO-jACkmL9hv4Ox(a)mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"
Hi John,
Hmmm.... one of these types of problem. Nice.
Firstly, the "re-compile\re-package" malarkey is the same as "Build
package"
on the package information screen (or whatever we want to call that
too!)
I am suspicious that something somewhere else has not caused the
problem: If
Guvnor 5.1.1 (presumably) worked OK for a couple of weeks following the
upgrade.....
Was this the first new package created with 5.1.1? Has the server been
restored for some reason (to a backup with 5.0.1)? Have any new packages
been successful?
Thanks,
Mike
On 4 January 2011 18:12, John Peterson
<john.peterson.gv3k(a)statefarm.com>wrote:
> I upgraded Guvnor on the JBoss server by replacing the 5.0.1
> drools-guvnor.war in /server/default/deploy with the drools-guvnor.war
> for 5.1.1. Once we restarted the server, everything seemed to be
> working fine with the 5.1.1 features. It wasn't until a couple weeks
> later when we tried to connect that we started getting the failure
> messages. The package in question is new since the upgrade.
>
> How do I re-compile/re-package the binaries? I'm assuming this is
> different from doing a "Save and validate configuration" or "Build
> package" on the package screen.
>
> Thanks and a Happy New Year to you as well!
>
> John
>
> Message: 2
> Date: Tue, 4 Jan 2011 16:56:52 +0000
> From: Michael Anstis <michael.anstis(a)gmail.com>
> Subject: Re: [rules-users] KnowledgeAgent exception while trying to
> deserialize KnowledgeDefinitionsPackage
> To: Rules Users List <rules-users(a)lists.jboss.org>
> Message-ID:
>
<AANLkTiktBPpALU68Ptbha=gVQ7OYDeMs1Eee+u+TmbFj(a)mail.gmail.com<gVQ7OYDeMs
1Eee%2Bu%2BTmbFj(a)mail.gmail.com>
> >
> Content-Type: text/plain; charset="windows-1252"
>
> Hi John,
>
> AFAIK you need both client (i.e. your IDE) and server versions of
Guvnor
> to be the same.
>
> If you are trying to load a package from an existing (5.0.1) Guvnor
> repositoty I believe you will need to re-compile\re-package the
binaries
> as a number of SerialVersionIds changed.
>
> It wasn't clear from your email whether this is what you have set-up.
>
> Happy New Year!
>
> Mike
>
> 2011/1/4 John Peterson <john.peterson.gv3k(a)statefarm.com>
>
> > This is sort of a repost of an error I?ve been getting, but I
thought
>
> > with the new year, I?d give it another shot.
> >
> > I?ve been getting the following exception in my code:
> >
> > [2010:12:361 09:12:910:debug] KnowledgeAgent rebuilding
KnowledgeBase
> > using ChangeSet
> >
> > [2010:12:361 09:12:972:exception]
> >
> > ***java.lang.RuntimeException*: KnowledgeAgent exception while
trying
> > to deserialize KnowledgeDefinitionsPackage
> >
> >
> >
atorg.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(*
> > **
> > KnowledgeAgentImpl.java:664*)
> >
> >
> >
atorg.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase
> > (*
> > **KnowledgeAgentImpl.java:889*)
> >
> > at org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(***
> > KnowledgeAgentImpl.java:704*)
> >
> > at org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(***
> > KnowledgeAgentImpl.java:584*)
> >
> > at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(***
> > KnowledgeAgentImpl.java:185*)
> >
> > at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(***
> > KnowledgeAgentImpl.java:168*)
> >
> > at com.agencyawards2.RuleSessionProviderFactory.getSessionFactory(
> > ***RuleSessionProviderFactory.java:95*)
> >
> > at com.agencyawards2.RuleSessionProviderFactory.getProvider(***
> > RuleSessionProviderFactory.java:35*)
> >
> > at com.agencyawards2.RunRules.runRules(***RunRules.java:27*)
> >
> > at com.agencyawards2.DroolsTest.main(***DroolsTest.java:40*)
> >
> > Caused by:*** java.io.StreamCorruptedException*: invalid stream
> > header:7061636B
> >
> > at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
> >
> > at java.io.ObjectInputStream.<init>(Unknown Source)
> >
> > at org.drools.common.DroolsObjectInputStream.<init>(***
> > DroolsObjectInputStream.java:71*)
> >
> > at org.drools.core.util.DroolsStreamUtils.streamIn(***
> > DroolsStreamUtils.java:205*)
> >
> > at org.drools.core.util.DroolsStreamUtils.streamIn(***
> > DroolsStreamUtils.java:174*)
> >
> >
> >
atorg.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(*
> > **
> > KnowledgeAgentImpl.java:653*)
> >
> > ... 9 more
> >
> > I?m running Drools 5.1.1 on my workstation in Eclipse. When I run
it
> > against Guvnor locally using version 5.1.1 installed as the ?Guvnor
> > Standalone? downloaded at the same time as Drools 5.1.1 was
> downloadedfrom the JBoss.org site, it works fine.
> >
> > When I run it against the server, which was from the 5.0.1 ?Guvnor
> > Standalone? installation, but I updated the drools-guvnor.war file
to
> > use the new 5.1.1 version, I get the error listed above. Based on
my
> > research into the ?KnowledgeAgent exception while trying to
> > deserialize KnowledgeDefinitionsPackage? error, it seems to stem
from
> > an incompatibility between versions of Drools.
> >
> > Do I need to install the 5.1.1 Guvnor Standalone to my server to
bring
>
> > the versions into synch, or am I experiencing some other sort of
> problem?
> >
> >
> > _______________________________________________
> > rules-users mailing list
> > rules-users(a)lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
> >
> >
>
15 years, 6 months
Re: [rules-users] KnowledgeAgent exception while trying to deserialize KnowledgeDefinitionsPackage
by John Peterson
I upgraded Guvnor on the JBoss server by replacing the 5.0.1
drools-guvnor.war in /server/default/deploy with the drools-guvnor.war
for 5.1.1. Once we restarted the server, everything seemed to be
working fine with the 5.1.1 features. It wasn't until a couple weeks
later when we tried to connect that we started getting the failure
messages. The package in question is new since the upgrade.
How do I re-compile/re-package the binaries? I'm assuming this is
different from doing a "Save and validate configuration" or "Build
package" on the package screen.
Thanks and a Happy New Year to you as well!
John
Message: 2
Date: Tue, 4 Jan 2011 16:56:52 +0000
From: Michael Anstis <michael.anstis(a)gmail.com>
Subject: Re: [rules-users] KnowledgeAgent exception while trying to
deserialize KnowledgeDefinitionsPackage
To: Rules Users List <rules-users(a)lists.jboss.org>
Message-ID:
<AANLkTiktBPpALU68Ptbha=gVQ7OYDeMs1Eee+u+TmbFj(a)mail.gmail.com>
Content-Type: text/plain; charset="windows-1252"
Hi John,
AFAIK you need both client (i.e. your IDE) and server versions of Guvnor
to be the same.
If you are trying to load a package from an existing (5.0.1) Guvnor
repositoty I believe you will need to re-compile\re-package the binaries
as a number of SerialVersionIds changed.
It wasn't clear from your email whether this is what you have set-up.
Happy New Year!
Mike
2011/1/4 John Peterson <john.peterson.gv3k(a)statefarm.com>
> This is sort of a repost of an error I?ve been getting, but I thought
> with the new year, I?d give it another shot.
>
> I?ve been getting the following exception in my code:
>
> [2010:12:361 09:12:910:debug] KnowledgeAgent rebuilding KnowledgeBase
> using ChangeSet
>
> [2010:12:361 09:12:972:exception]
>
> ***java.lang.RuntimeException*: KnowledgeAgent exception while trying
> to deserialize KnowledgeDefinitionsPackage
>
>
> atorg.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(*
> **
> KnowledgeAgentImpl.java:664*)
>
>
> atorg.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase
> (*
> **KnowledgeAgentImpl.java:889*)
>
> at org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(***
> KnowledgeAgentImpl.java:704*)
>
> at org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(***
> KnowledgeAgentImpl.java:584*)
>
> at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(***
> KnowledgeAgentImpl.java:185*)
>
> at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(***
> KnowledgeAgentImpl.java:168*)
>
> at com.agencyawards2.RuleSessionProviderFactory.getSessionFactory(
> ***RuleSessionProviderFactory.java:95*)
>
> at com.agencyawards2.RuleSessionProviderFactory.getProvider(***
> RuleSessionProviderFactory.java:35*)
>
> at com.agencyawards2.RunRules.runRules(***RunRules.java:27*)
>
> at com.agencyawards2.DroolsTest.main(***DroolsTest.java:40*)
>
> Caused by:*** java.io.StreamCorruptedException*: invalid stream
> header:7061636B
>
> at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
>
> at java.io.ObjectInputStream.<init>(Unknown Source)
>
> at org.drools.common.DroolsObjectInputStream.<init>(***
> DroolsObjectInputStream.java:71*)
>
> at org.drools.core.util.DroolsStreamUtils.streamIn(***
> DroolsStreamUtils.java:205*)
>
> at org.drools.core.util.DroolsStreamUtils.streamIn(***
> DroolsStreamUtils.java:174*)
>
>
> atorg.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(*
> **
> KnowledgeAgentImpl.java:653*)
>
> ... 9 more
>
> I?m running Drools 5.1.1 on my workstation in Eclipse. When I run it
> against Guvnor locally using version 5.1.1 installed as the ?Guvnor
> Standalone? downloaded at the same time as Drools 5.1.1 was
downloadedfrom the JBoss.org site, it works fine.
>
> When I run it against the server, which was from the 5.0.1 ?Guvnor
> Standalone? installation, but I updated the drools-guvnor.war file to
> use the new 5.1.1 version, I get the error listed above. Based on my
> research into the ?KnowledgeAgent exception while trying to
> deserialize KnowledgeDefinitionsPackage? error, it seems to stem from
> an incompatibility between versions of Drools.
>
> Do I need to install the 5.1.1 Guvnor Standalone to my server to bring
> the versions into synch, or am I experiencing some other sort of
problem?
>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
15 years, 6 months
Subject: Drools Planner - Design Suggestions
by Dave Wellman
All,
Maybe someone could offer some smart pointers on how to best setup a drools
planning project where I am trying to optimize ad display.
The project game plan is:
* At any one time there is only one ad in play across all 4K+ sites.
* Ads are scored and ranked by value and potential of generating a click. We
know what ad is the most valuable down to the least.
* Each of the 10,080 minutes in a week is scored by how much traffic is seen
at that minute. (the curve is a predictable 7 peak mountain. Each peak is
variable but around 2:00 PM EST with the biggest peak on Thursday and lowest
on Sunday. Valleys are around 3:00 am. A small hemigog around 10:00 and
12:00 weekdays.
* Each ad is "in play" from between 10 to 60 minutes. Meaning that one ad
is displayed across all properties for at least 10 minutes and a most 60.
* Once a add gets a certain number of clicks it is "100% sold" and then
removed from the queue. If an ad is sold before the 60 minutes is up it is
removed and the next ad in line take its place. If it is under 10 minutes
it will stay in play and continue to be "sold" until the first 10 minutes is
up.
Is drools scheduler the right tool for this job or could you suggest
something better?
Thank you for any insights you all have.
15 years, 6 months
Error in Guvnor - Incompatible magic value
by sunkara007
I created new JAR file using my domain Objects in Eclipse().
When I upload my JAR file in Guvnor and then If I click on Save and Validate
Configuration I am getting the following ERROR.
ERROR [STDERR] Caused by: java.lang.ClassFormatError: Incompatible magic
value 1885430635 in class file com/otx/eag/
I felt its Version incompatible so I created JAR with JDK-6.0,5.0,1.4, but
it is showing same ERROR for all the versions.
I can not able to create the Rules using my domain Objects.
Please Help me, How to resolve this.
Thanks in Advance.
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Error-in-Guvnor-Incom...
Sent from the Drools - User mailing list archive at Nabble.com.
15 years, 6 months
using complex evaluate expressions with DSL
by maverik j
Hi,
We are planning to use DSL/DSRL approach with generic DSL template like say
[condition][]The {object} has valid {field}={object}({field} != null )
[condition][]there is object {*obj*} that = {*obj*}()
[condition][]- has {*attr*} equal {*val*} = {*attr*} == {*val*}
[condition][]- has valid {*attr*} = {*attr*} != null
[condition][]- and has {*attr*} equal {value}= && {*attr*} == {value}
But there are quite few of requirements like to have DSL rules that can
generate expression as follows:
exists Employee(
attribute name not equals "xxx"
&& the attribute subOrdinate is not null
&& eval(
the attribute $dept.getId() is not null
&& attribute $dept.getId() follows pattern "I"
&& ( ! (the attribute $dept.getHeadOfDpt() equals name)
)
)
I am not sure if this is possible with DSL. Using '-' operator we cannot
really add '&&', '||' conditions it by-default expands to ',' separated and
conditions. And wirtting generic rules with and/or is not really dynamic to
allow any number of expressions in evaluation.
i am struggling to get this run since long time so any help/thoughts on this
would be highly appriciable !!!
Thanks & Regards,
-Maverik
15 years, 6 months
Guvnor - No function but rule containing it still validates
by Rob Fisher
Using Guvnor 5.1.1....
I've written a rule utilizing a function that does not exist within the
same package. However, the rule still validates ok. How is this
possible?
Rob Fisher
Systems Analyst, Agency Awards
Desk 309-735-4136
Cell 309-660-4957
15 years, 6 months
KnowledgeAgent exception while trying to deserialize KnowledgeDefinitionsPackage
by John Peterson
This is sort of a repost of an error I've been getting, but I thought
with the new year, I'd give it another shot.
I've been getting the following exception in my code:
[2010:12:361 09:12:910:debug] KnowledgeAgent rebuilding KnowledgeBase
using ChangeSet
[2010:12:361 09:12:972:exception]
***java.lang.RuntimeException*: KnowledgeAgent exception while trying to
deserialize KnowledgeDefinitionsPackage
at
org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(***Kn
owledgeAgentImpl.java:664*)
at
org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(***
KnowledgeAgentImpl.java:889*)
at
org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(***KnowledgeAg
entImpl.java:704*)
at
org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(***Knowledge
AgentImpl.java:584*)
at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(***KnowledgeAgen
tImpl.java:185*)
at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(***KnowledgeAgen
tImpl.java:168*)
at
com.agencyawards2.RuleSessionProviderFactory.getSessionFactory(***RuleSe
ssionProviderFactory.java:95*)
at
com.agencyawards2.RuleSessionProviderFactory.getProvider(***RuleSessionP
roviderFactory.java:35*)
at com.agencyawards2.RunRules.runRules(***RunRules.java:27*)
at com.agencyawards2.DroolsTest.main(***DroolsTest.java:40*)
Caused by:*** java.io.StreamCorruptedException*: invalid stream header:
7061636B
at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.<init>(Unknown Source)
at
org.drools.common.DroolsObjectInputStream.<init>(***DroolsObjectInputStr
eam.java:71*)
at
org.drools.core.util.DroolsStreamUtils.streamIn(***DroolsStreamUtils.jav
a:205*)
at
org.drools.core.util.DroolsStreamUtils.streamIn(***DroolsStreamUtils.jav
a:174*)
at
org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(***Kn
owledgeAgentImpl.java:653*)
... 9 more
I'm running Drools 5.1.1 on my workstation in Eclipse. When I run it
against Guvnor locally using version 5.1.1 installed as the "Guvnor
Standalone" downloaded at the same time as Drools 5.1.1 was downloaded
from the JBoss.org site, it works fine.
When I run it against the server, which was from the 5.0.1 "Guvnor
Standalone" installation, but I updated the drools-guvnor.war file to
use the new 5.1.1 version, I get the error listed above. Based on my
research into the "KnowledgeAgent exception while trying to deserialize
KnowledgeDefinitionsPackage" error, it seems to stem from an
incompatibility between versions of Drools.
Do I need to install the 5.1.1 Guvnor Standalone to my server to bring
the versions into synch, or am I experiencing some other sort of
problem?
15 years, 6 months
Does Drools Fusion support "Group By" clause ?
by Kiran Ananthpur Bacche (kbacche)
Hi,
I have a event processing rule as follows
declare Sale
@role(event)
end
rule "StoreABC"
when
#conditions
Number( $TotalSalesAmount : intValue,
intValue > 100)
from accumulate ( Sale($amount : amount,
$quantity : quantity)
from entry-point StoreABC,sum($amount *
$quantity))
then
System.out.println("StoreABC sale
exceeds 100...");
End
The POJO Sale has a attribute "String type;". The above rule actually
ignores the type, and does the accumulation for all types put together.
Now I want the rule to fire successfully only when the TotalSalesAmount
for _any_ given type exceeds 100.
And is it possible to access the "type" of Sale whose sales exceeded
100, in the "Then" clause ?
Example:
Lets say the input events are as below (Triplets - Type, Quantity and
Amount)
1. Apple , 10, 5
2. Orange, 10, 6
3. Banana, 20, 4
4. Orange, 10, 5
5. Apple, 2, 5
Now in the above rule, the event fires after Event 2 since the total
sales is > 100. However I want the rule to fire after Event 4 since at
that point the sale of one particular item, viz. "Orange" exceeds 100 in
this store. In the "THEN" clause of the rules, I also want access to a
variable that indicates that it was "Orange" whose sale exceeded 100 in
this store.
Is this possible in Drools Fusion ? If yes, can you please let me know
the changes to be made to the above rule ?
Thanks
Kiran
15 years, 6 months