Я запускаю Java Play framework версии v2.6.1 и используя Ebean для сохранения. Я намерен получить bean кэширование, используя play2-memcached.
Что я сделал до сих пор?
- установлен
memcachedна локальном хосте и включен ведомый журнал. - заменила
ehcacheзависимость сcacheApiвlibraryDependenciesвbuild.sbt(это, я полагаю, должно полностью удалить Ehcache). - добавлен
"com.github.mumoshu" %% "play2-memcached-play26" % "0.9.0",вlibraryDependenciesвbuild.sbt - добавлен
"Spy Repository" at "http://files.couchbase.com/maven2",вresolversвbuild.sbt - добавлены следующие записи в приложение conf:
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"
- взял мою сущность и сделал ее реализацию
Serializable, также добавил аннотацию@com.avaje.ebean.annotation.Cache. - включено ведение журнала SQL
Что работает?
- Загрузка объекта с помощью
Entity.find.byId(id)результатов SQLSELECT. Загрузка его снова с разными результатами запроса не содержит операторов SQL. - открытие браузера на localhost: 11211 показывает ошибки в syslog - это значит, что memcached запущен, и я вижу, как появляются запросы
- создание дампа памяти. Я вижу, что загружаются классы, связанные с кешем из
com.github.mumoshu.
Что не работает?
- Я ожидаю, что кешированные объекты будут отправлены в memcached (при чтении и/или обновлении). Этого не происходит - нет связанных с этим журналов memcached. Никаких подключений к порту 11211, если я запустил
netstat -na | grep 11211.
Есть ли что-нибудь, чего я не вижу?