Hide Forgot
Date of First Response: 2010-02-04 05:07:57 Help Desk Ticket Reference: https://enterprise.redhat.com/issue-tracker/442503 project_key: SOA On IBM JVM with JIT enabled using Drools 4.0.7 often the following exception occurs: org.drools.RuntimeDroolsException: unable to determine ValueType for Class [class MyClass] at org.drools.base.ValueType.determineValueType(ValueType.java:222) at org.drools.base.ClassObjectType.<init>(ClassObjectType.java:56) at org.drools.reteoo.Rete$ClassObjectTypeConf.<init>(Rete.java:442) at org.drools.reteoo.Rete.assertObject(Rete.java:152) ... We have determined that in the IBM JVN with JIT enabled, the expression "XXXX instanceof Object" fails sometimes. On the other hand expression "XXXX isAssignableFrom(YYYYYY) ... " works as expected. The code change required here is in org.drools.base.ValueType change: ... } else if ( clazz instanceof Object ) { return ValueType.OBJECT_TYPE; ... to ... else if ( Object.class.isAssignableFrom( clazz ) ) { return ValueType.OBJECT_TYPE; ...
Link: Added: This issue depends JBRULES-2421
Re-opening as we still need to track the component upgrade stage of Drools so that the fix is incorporated in the release.
Approved but not required for SOA 4.3 CP03. If it is not resolved by Due Date, it will be moved out.
fix confirmed in http://anonsvn.jboss.org/repos/labs/labs/jbossrules/soa_branches/SOA_JDK6/drools-core/src/main/java/org/drools/base/ValueType.java, will create tag and include in this release
Draft text for the Resolved Issues section of the Release Notes: https://jira.jboss.org/jira/browse/JBRULES-2421 If the user was running JBoss Rules 4.0.7 on an IBM virtual machine with JIT enabled, an org.drools.RuntimeDroolsException: unable to determine ValueType for Class exception would occur.. This was because of a problem with regard to the way in which XXXX instanceof Object expressions were handled. The code in the org.drools.base.ValueType class which handles these expressions has been modified. As a result, JBoss Rules can now be run on IBM virtual machines with JIT enabled, without it causing exceptions.
Verified 4.3.CP03 ER1