Do you really need to assert an Iterator into memory? this does not
"sound" good to me...

   If you really need, IMO you have 2 options: either create your own
wrapper for the "array iterator", that is not a "final" nor "private" class,
or disable shadow facts for this class only. If you need to change anything
in it, make sure you do that inside a modify() block, not using update.

http://blog.athico.com/2007/12/modify-block-for-java-dialect.html

http://blog.athico.com/2008/02/shadow-facts-what-you-always-wanted-to.html

    []s
    Edson


2008/4/1, Narendra Valada <[EMAIL PROTECTED]>:
>
> Hi,
>
> I am upgrading to Drools 4.0.4 and I am getting this exception when
> executing this rule:
>
> rule "insert iterator"
> when
>  somecondition
> then
>  insert(Arrays.asList(some array).iterator());
> end
>
> Here is the exception. Is this a bug? Disabling shadow copy is not really
> an option for this application.
>
> Exception in thread "pool-1-thread-1" java.lang.IllegalAccessError: class
> org.drools.shadow.java.util.AbstractList$ItrShadowProxy cannot access its
> superclass java.util.AbstractList$Itr
>
> at java.lang.ClassLoader.defineClass1(
> *Native Method*)
>
> at java.lang.ClassLoader.defineClass(Unknown Source)
>
> at org.drools.rule.MapBackedClassLoader.fastFindClass(
> *MapBackedClassLoader.java:60*)
>
> at org.drools.rule.MapBackedClassLoader.loadClass(
> *MapBackedClassLoader.java:79*)
>
> at java.lang.ClassLoader.loadClass(Unknown Source)
>
> at org.drools.reteoo.Rete$ClassObjectTypeConf.loadOrGenerateProxy(
> *Rete.java:547*)
>
> at org.drools.reteoo.Rete$ClassObjectTypeConf.defineShadowProxyData(
> *Rete.java:494*)
>
> at org.drools.reteoo.Rete$ClassObjectTypeConf.<init>(
> *Rete.java:461*)
>
> at org.drools.reteoo.Rete.assertObject(
> *Rete.java:152*)
>
> at org.drools.reteoo.ReteooRuleBase.assertObject(
> *ReteooRuleBase.java:192*)
>
> at org.drools.reteoo.ReteooWorkingMemory.doInsert(
> *ReteooWorkingMemory.java:71*)
>
> at org.drools.common.AbstractWorkingMemory.insert(
> *AbstractWorkingMemory.java:909*)
>
> at org.drools.common.AbstractWorkingMemory.insert(
> *AbstractWorkingMemory.java:881*)
>
> at org.drools.base.DefaultKnowledgeHelper.insert(
> *DefaultKnowledgeHelper.java:67*)
>
> at org.drools.base.DefaultKnowledgeHelper.insert(
> *DefaultKnowledgeHelper.java:61*)
>
>
>
> Thanks,
>
>
>
> Narendra Valada
>
> _______________________________________________
> rules-users mailing list
> rules-users@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>


-- 
  Edson Tirelli
  JBoss Drools Core Development
  Office: +55 11 3529-6000
  Mobile: +55 11 9287-5646
  JBoss, a division of Red Hat @ www.jboss.com
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to