在云代工厂中基于jesque的应用程序拒绝连接

时间:2012-12-04 10:03:06

标签: cloudfoundry

我正在尝试在云代工厂部署基于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)

1 个答案:

答案 0 :(得分:1)

将应用推送到云代工厂时,CF配置的数据服务具有不同的配置,例如您自己的配置中的用户名/密码。对于Java独立应用程序,您必须首先从云代工厂提供的名为“VCAP_SERVICES”的环境中检索绑定服务的连接信息。您应该找到设置与云代工厂配置的redis服务的连接所需的所有属性。

对于像spring web app这样的其他类型的应用程序,CF有一个称为自动重新配置的功能,它通过某些编程约定自动设置连接。以下是您感兴趣的文档:http://docs.cloudfoundry.com/frameworks/java/spring/spring.html