首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用memcached让Java Play框架缓存Ebean实体

使用memcached让Java Play框架缓存Ebean实体
EN

Stack Overflow用户
提问于 2017-08-23 01:00:44
回答 1查看 602关注 0票数 19

我运行的是Java Play framework版本v2.6.1,并使用Ebean实现持久性。我的意图是使用play2-memcached插件让bean caching运行起来。

到目前为止我做了什么?

  • 在本地主机上安装了memcached,并在应用程序配置文件的以下条目中启用了详细的logging.
  • replaced completely).
  • added依赖项:H227 F228 F228(我假设,这应该删除build.sbt
  • added中的Ehcache D22到build.sbt
  • added中的D23的libraryDependencies

play.modules.disabled += "play.api.cache.ehcache.EhCacheModule" play.modules.enabled+="com.github.mumoshu.play2.memcached.MemcachedModule" play.cache.defaultCache=default play.cache.bindCaches=["db-cache", "user-cache", "session-cache"] memcached.host="127.0.0.1:11211"

SQL获取了我的实体并使其实现了Serializable,还添加了@com.avaje.ebean.annotation.Cache SQL

  • logging

什么是有效的?

  • 正在加载具有Entity.find.byId(id)结果SELECT的实体。使用不同的请求结果再次加载它没有SQL statements.
  • opening浏览器到本地主机:11211在syslog中显示错误--这是为了确保memcached正在运行,并且我可以看到请求appearing
  • making内存转储我可以看到com.github.mumoshu中与缓存相关的类已加载。

什么不起作用?

memcached

  • 我希望缓存的对象被发送到memcached(在读取和/或更新时)。这不会发生-没有与此相关的memcached日志。如果我运行netstat -na | grep 11211.

,也没有任何到端口11211的连接

我是不是漏掉了什么?

EN

回答 1

Stack Overflow用户

发布于 2017-09-21 04:18:31

您还需要绑定javax.caching.CacheManager。添加

代码语言:javascript
复制
libraryDependencies += jcache

发送到您的build.sbt

如果您使用的是Guice,则还必须为Java注释添加以下内容:

代码语言:javascript
复制
libraryDependencies += "org.jsr107.ri" % "cache-annotations-ri-guice" % "1.0.0"

更多信息可以在Playframework documentation here的"JCache Support“部分找到。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45823291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档