0

ベースのスタンドアロン アプリケーションをクラウド ファウンドリーにデプロイしようとresque(i.e jesque java version)しています。アプリケーションのデプロイ中に redis サービスをバインドしました。

私はSTSこのすべてのプロセスに使用しています。しかし、次のような例外が発生しています

 redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused
        at redis.clients.jedis.Connection.connect(Connection.java:134)
        at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:69)
        at redis.clients.jedis.Connection.sendCommand(Connection.java:79)
        at redis.clients.jedis.BinaryClient.select(BinaryClient.java:148)
        at redis.clients.jedis.Jedis.select(Jedis.java:328)
        at net.greghaines.jesque.TestUtils.createJedis(TestUtils.java:75)
        at net.greghaines.jesque.TestUtils.resetRedis(TestUtils.java:45)
        at com.accenture.creditcard.UseCreditCard.resetRedis(UseCreditCard.java:23)
        at com.accenture.creditcard.UseCreditCard.main(UseCreditCard.java:56)
    Caused by: java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
        at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
        at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
        at java.net.SocksSocketImpl.connect(Unknown Source)
        at java.net.Socket.connect(Unknown Source)
        at redis.clients.jedis.Connection.connect(Connection.java:129)
4

1 に答える 1

1

アプリをクラウド ファウンドリーにプッシュする場合、CF でプロビジョニングされたデータ サービスには、独自の構成からのユーザー名/パスワードなど、さまざまな構成があります。Java スタンドアロン アプリケーションの場合、最初に、「VCAP_SERVICES」と呼ばれるクラウド ファウンドリが提供する実行可能な環境から、バインドされたサービスの接続情報を取得する必要があります。Cloud Foundry でプロビジョニングされた Redis サービスへの接続を設定するために必要なすべてのプロパティが見つかるはずです。

Spring Web アプリのような他のタイプのアプリの場合、特定のプログラミング規則によって自動的に設定された接続を処理する、自動再構成と呼ばれる CF の機能があります。興味のあるドキュメントは次のとおりです。http://docs.cloudfoundry.com/frameworks/java/spring/spring.html

于 2012-12-05T03:46:29.990 に答える