問題タブ [spring-data-redis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - レタス接続ファクトリを接続しようとしてエラーが発生しました
Spring Data Redis (バージョン: 1.1.x) を使用して redis クライアント (レタス クライアント バージョン: 2.3.3) の接続ファクトリをセットアップしようとしていますが、すべてを配線する際に問題が発生しています。
ここに私の設定があります: application-context-redis.xml
これはredisPool Beanのコンストラクタ シグネチャです。
poolConfigプロパティはpublic内部静的クラスです: org.apache.commons.pool.impl.GenericObjectPool.Config
Configプロパティは静的な内部クラス (こちらを参照)であり、getter メソッドが含まれていないため、redisPool Bean に注入するのに苦労しています。
これは私が得ているエラーです:
maven - Maven と Spring Boot を使用した Spring Session サンプルの Redis エラー
Spring Boot + Maven を使用してこの Spring-Session の例をセットアップしようとしていました (GIT リンクのソースは Gradle を使用しています)。コンパイル エラーはありませんでした。デプロイ可能な WAR ファイルも、再パッケージ ゴールを使用して生成されました。
WildFly サーバーに WAR ファイルをデプロイしようとすると、Redis に関連する次のエラーが発生します。自分のマシンで Redis サーバーを実行していません (デプロイされた WAR ファイルであっても、組み込みの Redis インスタンスがアプリケーションの一部として作成されると想定しているため)
ファイル: EmbeddedRedisConfiguration.java
原因:
環境: ドメイン モードで実行されている WildFly8.2 (フル HA プロファイルで実行されている 3 つのノード) アプリケーション: Spring Boot + Spring Session + Maven
質問: このエラーは、WAR ファイルがコンテナーにデプロイされている間、組み込みの Redis インスタンスを作成できないためですか? これを実行可能なWARファイルとして実行することはまだ試していません。
完全なエラー スタック:
redis - Spring RedisTemplate を安全に破棄するには?
要求 (書き込み/読み取り) ごとに RedisTemplate をオンデマンドで作成する必要があります。connectionfactory は JedisConnectionFactory です。
一度、RedisTemplate.opsForHash/opsForValue を使用して、テンプレートを安全に破棄する方法を実行し、接続が JedisPool に返されるようにします。
今のところ、私はこれを
これは正しい方法ですか?
multithreading - Spring データ redis、Jedis のマルチスレッドの問題
非常にマルチスレッド化された Java アプリケーションで redis を使用していて、断続的なClassCastException
s が発生しています。さまざまな議論を読むと、これは Jedis 接続インスタンスが複数のスレッド ( https://github.com/xetorthio/jedis/issues/359 ) 間で共有されているためである可能性があることが指摘されているようです。推奨される解決策は、スレッドセーフな JedisPool を使用することです。
RedisTemplate を使用して、Spring redis サポートを通じて redis を構成しました。注意すべきことは、複数のテンプレートを使用していることです (シリアライゼーションとデシリアライゼーションのさまざまなモデルをサポートするため)。これが私の構成のスニペットです-
usePool=true
を使用すると、JedisPool を使用するように促されることに注意してください。また、Spring コードを調べてみると、Spring がリソースの割り当てと解放を適切に処理していることがわかります。
問題を特定するための助けをいただければ幸いです。
編集:スタックトレース -