Обновление Grails GPARS - PullRequest
       21

Обновление Grails GPARS

1 голос
/ 14 августа 2011

Я использую Grails 1.4.0.M1 и пытаюсь обновить версию gpars для использования с моим приложением.

Итак, я добавил в BuildConfig.groovy:

dependencies{
    build 'org.codehaus.gpars:gpars:0.11'
}

Это, однако, приносит мне следующее исключение при использовании run-app:

Exception in thread "Thread-4" java.lang.ClassCastException: groovyx.gpars.ThreadLocalPools cannot be cast to groovy.lang.GroovyObject
  at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:47)
  at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:231)
  at groovyx.gpars.Parallelizer.retrieveCurrentPool(Parallelizer.groovy:62)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

Я подозреваю, что это может быть связано с платформой Grails с использованием этой библиотеки в более старой версии и несовместимых версий.

Есть идеи, как мне решить эту проблему?

Спасибо.

1 Ответ

6 голосов
/ 14 августа 2011

Да, Grails использовал более старую версию GPars (v0.9), но очень ограниченным образом. К сожалению, он был добавлен в загрузочный путь к классу таким образом, что его было бы нетривиально удалить или заменить, поэтому я переработал этот код с использованием обычного кода управления потоками и удалил зависимость.

Если вы обновитесь до 2.0.0.M1, зависимость исчезнет, ​​и вы сможете использовать любую версию GPars, какую пожелаете.

...