Uploaded image for project: 'JBoss Enterprise SOA Platform'
  1. JBoss Enterprise SOA Platform
  2. SOA-1914

org.drools.RuntimeDroolsException: unable to determine ValueType for Class [class MyClass] on IBM JVM with JIT enabled

    Details

      Description

      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;
      ...

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  tsurdilovic Tihomir Surdilovic
                  Reporter:
                  tsurdilovic Tihomir Surdilovic
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Due:
                    Created:
                    Updated:
                    Resolved: