Grails Spring キャッシュ プラグインの代わりに、Spring 3.1 キャッシュ抽象化を使用する予定です。ローカルで実験しましたが、Spring el のような式を使用すると問題が発生しました
@Cacheable(value = 'dashboardCache', key = 'sessionStorageService.getUser()', condition = 'sessionStorageService.getUser() != null')
public List<BusinessDashboard> getUserDashboards(String serverName, SessionStorageService sessionStorageService) { ... }
統合テストケースを実行すると、次のエラーが発生します
EL1008E:(pos 0): Field or property 'sessionStorageService' cannot be found on object of type 'org.springframework.cache.interceptor.CacheExpressionRootObject'
org.springframework.expression.spel.SpelEvaluationException: EL1008E:(pos 0): Field or property 'sessionStorageService' cannot be found on object of type 'org.springframework.cache.interceptor.CacheExpressionRootObject'
この動作は、デバッグ情報の欠落が原因であると想定しています-したがって、私の質問:
Grails アプリで Spring el 式を有効にすることはできますか? または、クラス ファイルにデバッグ シンボルを保持するように Grails に指示するコンパイル プロセスへのパラメーターはありますか?
(Grails 2.0.1 で実行しています)