Apache Shiro 対応の Web サービスで認証キャッシュを処理するように EhCache を構成しようとしています。現在、次の例外が発生しています。
org.apache.shiro.cache.CacheException: net.sf.ehcache.CacheException: 名前のない別の CacheManager が同じ VM に既に存在します。config で各 CacheManager に一意の名前を指定するか、次のいずれかを実行してください。
- CacheManager.create() 静的ファクトリ メソッドの 1 つを使用して、同じ CacheManager を同じ名前で再利用するか、必要に応じて作成します
- 同じ名前で新しい cacheManager を作成する前に、以前の cacheManager をシャットダウンします。
私の shiro.ini は次のようになります。
[main]
...
cacheManager = org.apache.shiro.cache.ehcache.EhCacheManager
cacheManager.cacheManagerConfigFile = classpath:ehcache.xml
securityManager.cacheManager = $cacheManager
この StackOverflow の投稿から、Spring を使用している人々は CacheManager を強制的にシングルトンにすることでこの問題を回避したようです:同じ VM (ehCache 2.5) に名前のない別の CacheManager が既に存在します。
Spring の初期化を使用しない回避策を知っている人はいますか (私は dropwizard フレームワーク内で作業しており、Spring をプルする必要はありません)。shiro.ini からシングルトン構成を強制する方法はありますか?
前もって感謝します!