Hello Joe, On Mon, Nov 17, 2008 at 7:54 PM, Joe White <[EMAIL PROTECTED]>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:* [EMAIL PROTECTED] [mailto: > [EMAIL PROTECTED] *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 > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users > > -- Cheers, Maxim Veksler "Free as in Freedom" - Do u GNU ?
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
