[英]Tomcat session manager with redisson
嘗試使用Redisson配置我的JavaEE Web項目。
在Docker容器中安裝Redis,它可以正常工作。
通過https://github.com/redisson/redisson/tree/master/redisson-tomcat來配置我的tomcat。
當我嘗試運行項目時,拋出以下錯誤:
java.lang.IllegalArgumentException:com.fasterxml.jackson.databind.JsonMappingException:無限遞歸(StackOverflowError)(通過參考鏈:java.util.LoaderReference [“ cacheKey”]-> java.util.CacheKey [“ loaderRef”]
我從那里讀到的內容發現,這與使用jackson序列化具有雙向關系的Java對象有關。 但是該項目是如此之大,並且序列化的對象太多,因此很難確定問題的根源。
我對redisson相對較新,並且不知道還需要做些什么才能在我現有的javaEE項目中使用它作為會話管理器。 我們正在嘗試從傳統的tomcat會話管理器過渡到基於redisson的tomcat會話管理器。 任何幫助將不勝感激。
我開始使用@JsonIgnore刪除雙向關系,但是有太多雙向關系,我覺得浪費時間使用傑克遜進行序列化。 因此,我將編解碼器從傑克遜更改為JDK序列化編解碼器,並且在出現幾個問題之后,該項目運行良好。
在redisson.yml文件中,在以下行添加/更改:
codec: !<org.redisson.codec.SerializationCodec> {}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.