一般社団法人 全国個人事業主支援協会

COLUMN コラム

  • 【Redis】Spring Boot + Lettuceで接続先を指定しない場合localhost:6379に接続しにいくらしい

Heroku Redisに繋がらなくなってから数日経っていますが、状況はまだ好転していません。

Heroku Key Value Store add-onでの接続です。

↓ちな前の記事はこちらです。

Heroku Redisに接続できなくなった

ログレベル上げて何か情報がないか確認したり、接続情報の定義方法を変えたりして色々試していますが、まだ解決方法が掴めていません…。

SNSで同じ状況の人がいないか調べてみると、まだHeroku Key Value Storeでの接続例はないみたいです。

早とちりして接続できてる人がいるのかと思ってましたが、そんなことはありませんでした。HerokuのRedis用のadd-onって色々ありますもんね。

 

LettuceConnectionFactoryのデフォルトはlocalhost

前回の記事でローカル環境からHeroku Redisへの接続に成功したかと思っていましたがただの思い過ごしでした。

 

Herokuのドキュメントで、

「Spring bootは環境変数にREDIS_URLとかその辺の設定があったらいい感じに設定してくれるよ!」

って書いてあったので

「お、ええやん!(REDIS_URLはHeroku以外でも使われるRedisオフィシャルな環境変数名なのかな?🤔まぁ、うまくいくならなんでもいいか)」

と思ってたんですが、そんなことはないみたいです。

 

Spring bootのjarからREDIS_URLとかその辺の文字列を検索してもヒットせず、ぼんやりとソースを追っていたタイミングであることに気が付きました。

 

・LettuceConnectionFactory.javaから抜粋

private RedisStandaloneConfiguration standaloneConfig = new RedisStandaloneConfiguration(“localhost”, 6379);

 

ん?初期値でlocalhost:6379を設定してるやんけ!てかこのクラス引数無しのコンストラクタあるな…。

…え、もしや…。

 

色々試した結果、ローカル環境からHeroku Redisに接続できた気になっていましたが、ただローカルで立ち上げたDocker上のRedisに接続していただけでした。

凡ミスすぎる

 

でも進展なしっていう

ローカルからHerokuにも繋がらないことが分かりましたが、はい、まったく前進していませんね。

Herokuからの続報を待つしかないようです。

 

ちなみに、ちゃんとREDIS_TLS_URLから取得したURLで接続しようとしていますし、peer verificationも言われた通り無効化しています。

 

うーん…。みんなは困ってないのかなぁ…。

 

https://devcenter.heroku.com/ja/articles/connecting-heroku-redis#connecting-in-java

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア