[rules-users] (interesting) migration problem from Drools 3.0.6 toDrools 4.0.7

Maxim Veksler maxim.veksler at gmail.com
Mon Nov 17 13:09:22 EST 2008


Hello Joe,

On Mon, Nov 17, 2008 at 7:54 PM, Joe White <Joe.White at recondotech.com>wrote:

>  Maxim,
>
> Are the classes you are trying to reference multiple levels of inner
> classes? Drools 4 cannot reference nested inner classes in drl. That issue
> is fixed in the release for drools 5.
>
>
>
> Joe
>
>
>
No, I'm afraid they are "Simple" compilation units.
They do extend their "basic" versions, but this AFAIK should not be a
problem.

Never the less, thank you for the information.

Maxim.

>  *From:* rules-users-bounces at lists.jboss.org [mailto:
> rules-users-bounces at lists.jboss.org] *On Behalf Of *Maxim Veksler
> *Sent:* Monday, November 17, 2008 10:17 AM
> *To:* Rules Users List
> *Subject:* [rules-users] (interesting) migration problem from Drools 3.0.6
> toDrools 4.0.7
>
>
>
> Hello Everyone,
>
> Here's a fun stuff to debug:
>
>
> In our application we are using the concept of "Dynamic Beans", Drools is
> running in a webapp. The servlet container is tomcat6.
>
> Dynamic beans are beans we compile from java code and then load with a
> custom class loader. This happens in the following method :
>
> The class that implements ServletContextListener has in his
> contextInitialized(...) method a code to do the following: (simplification)
>
> ClassLoader cl = Janino.JavaSourceClassLoader(...)
> originalCl = Thread.currentThread().getContextClassLoader();
> Thread.currentThread().setContextClassLoader(cl);
>
> The above code allowed drools3 to find the Dynamic Classes (which didn't
> even existed, not to be mention were available to ANY classloader).
>
>
> Now, inside the .drl files we use properties from these dynamic beans -
> This allows us to be dynamic on the properties we can filter by.
>
> All good, but now comes the new Drools4 code. The application is no longer
> able to find the mentioned classes.
> The only changes the I've done was change Drools version from 3 to 4.
>
> The errors I'm getting are of the form :
>
> Rule Compilation error : [Rule name=X Status, agendaGroup=MAIN, salience=0,
> no-loop=false]
>     com/X/ruleEngine/filtering/Rule_X_Status_0.java (2:267) : Only a type
> can be imported. com.X.common.dataModel.facts.dynamic.X resolves to a
> package
>     com/X/ruleEngine/filtering/Rule_X_Status_0.java (2:334) : Only a type
> can be imported. com.X.common.dataModel.facts.dynamic.X resolves to a
> package
>     com/X/ruleEngine/filtering/Rule_X_Status_0.java (2:1111) : Only a type
> can be imported. com.X.common.dataModel.facts.banner.X resolves to a package
>     com/X/ruleEngine/filtering/Rule_X_Status_0.java (2:1379) : The import
> com.X.common.dataModel.facts.X.X cannot be resolved
> ...
>
> Anyone has ideas how to over come this?
>
> I'm currently searching for alternatives, I'm thinking about Configuring my
> custom class loader at the webapp level or something like that...
> Help would be appreciated as I'm not getting much success.
>
> --
> Cheers,
> Maxim Veksler
>
> "Free as in Freedom" - Do u GNU ?
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>


-- 
Cheers,
Maxim Veksler

"Free as in Freedom" - Do u GNU ?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20081117/9bef6d09/attachment.html 


More information about the rules-users mailing list