【问题标题】:Deploying spring app in Tomcat with Mongodb running in Micro cloud foundry在 Tomcat 中部署 Spring 应用,在 Micro cloud Foundry 中运行 Mongodb
【发布时间】:2012-06-05 15:43:12
【问题描述】:

尝试连接 Micro cloud Foundry Mongodb 服务器时出现以下异常 通过在 localhost Tomcat 服务器内运行的 Spring 应用程序。

Exception:
Jun 05, 2012 4:30:44 PM com.mongodb.DBTCPConnector fetchMaxBsonObjectSize
WARNING: Exception determining maxBSON size using0
java.io.IOException: couldn't connect to [/192.168.80.128:27017] bc:java.net.ConnectException: Connection refused: connect
    at com.mongodb.DBPort._open(DBPort.java:228)
    at com.mongodb.DBPort.go(DBPort.java:112)
    at com.mongodb.DBPort.go(DBPort.java:93)
    at com.mongodb.DBPort.findOne(DBPort.java:146)

场景:

为 Cloud Foundry 配置的 Spring 应用程序在 Micro cloud Foundry 设置中工作。
它在部署到 Live cloudfoundry.com 时也可以工作
我在 Spring 工具套件 (STS) 内的 VMWare Vfabric Tomcat 中部署了该应用程序,
指向在我的虚拟机(192.168.80.128)中运行的mongodb

Root-context.xml:(随着主机配置的变化)

<beans profile="default">
<mongo:db-factory id="mongoDbFactory" dbname="pwdtest" host="192.168.80.128" 
port="27017" username="test_user" password="efgh"/>
</beans

此主机正在从 localhost 机器 ping。

请告知 mongodb 设置中需要更改的内容。

我无法通过上帝网站找到..我的意思是谷歌..:)

干杯 库姆

【问题讨论】:

  • 这是什么版本的MongoDB?看起来它可能是 Java 驱动程序在协商连接时遇到问题的旧版本。
  • 我正在使用来自 micro cloudfoundry 设置的最新版本。正如我所提到的,当我在 MicroCloudFoundry 和 LiveCloudFoundry 中部署我的应用程序时,它适用于相同的版本。

标签: spring mongodb cloud-foundry


【解决方案1】:

如果 Tomcat 应用程序没有在 Micro Cloundfoundry VM 上运行,那么它将无法通过端口 27017 访问 MongoDB 实例,该端口只能通过 VM 本身的 localhost 访问。

如果应用程序在 MCF 虚拟机之外运行,那么您需要使用 VMC 创建到该实例的隧道,然后相应地调整应用程序中的连接。有关“vmc 隧道”的更多详细信息,请查看http://docs.cloudfoundry.com/tools/vmc/caldecott.html

干杯

【讨论】:

  • 在 cloudfoundry 上使用 mongodb 是否必须使用 vmc?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多