groovy
  1. groovy
  2. GROOVY-5410

Groovy Generics Not Playing nice with java Proxies - java.lang.ClassCastException: $Proxy374 cannot be cast to ...

    Details

    • Type: Bug Bug
    • Status: Open Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: groovy-runtime
    • Labels:
      None
    • Testcase included:
      yes
    • Number of attachments :
      1

      Description

      We are taking a current Spring based application and starting to introduce "Groovy" spring beans. We ran into this ClassCastException when trying to call a generic method on our Groovy bean that has been wrapped by the JdkDynamicAopProxy.

      I was able to reproduce with Java/Groovy and the base java.reflect.Proxy classes.

      Attached are all of my simple test classes that demostrate the issue as well as a Spock test(GroovyIssuesSpec.groovy) that shows the problem as well.

      We've had to create a hack to override how Spring proxies it's beans to ignore the fact that these beans are GroovyObjects(Removing GroovyObject.class from the list of proxiedInterfaces, for some reason works around the issue). The sooner we can get rid of that hack, the better.

      Thanks!

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            Unassigned
            Reporter:
            Craig Rykal
          • Votes:
            3 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

            • Created:
              Updated: