簡體   English   中英

具有Redisson的Tomcat會話管理器

[英]Tomcat session manager with redisson

嘗試使用Redisson配置我的JavaEE Web項目。

  1. 在Docker容器中安裝Redis,它可以正常工作。

  2. 通過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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM