【问题标题】:Wildfly 8.1 + EHCache + Annotations not workingWildfly 8.1 + EHCache + 注释不起作用
【发布时间】:2014-08-22 20:54:48
【问题描述】:

我正在构建一个 Java EE 应用程序,并希望使用 JSR107 的 @CacheResult 注释“透明地”向我的服务层添加一些缓存。这是我的第一个“全功能”Java EE 应用程序,我通常在 Spring 中工作,注解处理似乎要容易得多;)

所以,这是我的软件堆栈:

...这是我 EAR 的布局:

  • 根目录包含一些 EJB/CDI bean jar
  • /lib 包含所有必需的库
  • 其中一个根级 jar 中的一个 bean 包含一些用 @CacheResult 注释的方法,该方法的参数是一个字符串

我的问题:没有发生缓存;)

具体问题:

  • 这里有人获得过我用来成功协同执行缓存的软件堆栈吗?
  • 有没有办法让我获得更多关于拦截器处理期间内部发生的调试信息?我尝试了各种记录器配置并挖掘了我正在使用的框架的来源,但似乎错过了关键点。

提前致谢

斯文

更新

如果我将 @Interceptors(CacheResultInterceptor.class) 显式添加到服务 bean,它就可以工作。但是,我自己的拦截器(在同一个 jar 文件中)不需要这样声明,相应的拦截器绑定类型就足够了。如果我尝试使用驻留在外部 jar 中的拦截器,会有什么不同吗?

【问题讨论】:

    标签: jakarta-ee caching annotations cdi wildfly


    【解决方案1】:

    我在这里找到了正确答案的相关问题:https://stackoverflow.com/a/12081608/2290153

    相关规范是http://docs.jboss.org/cdi/spec/1.0/html/interceptors.html,重要部分是第9.4节。

    在 beans.xml 中指定 CacheResultInterceptor(全限定名)应该可以工作。

    【讨论】:

      猜你喜欢
      • 2020-07-03
      • 2023-02-17
      • 2014-08-14
      • 1970-01-01
      • 2013-09-20
      • 2020-10-09
      • 2012-09-19
      • 2015-09-14
      • 2017-08-20
      相关资源
      最近更新 更多