使用在Micro cloud代工厂中运行的Mongodb在Tomcat中部署spring应用程序

时间:2012-06-05 15:43:13

标签: spring mongodb cloudfoundry

我在尝试连接Micro cloud代工厂Mongodb服务器时遇到以下异常 通过Spring应用程序在localhost Tomcat服务器内运行。

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代工厂中设置 当部署到Live cloudfoundry.com时,它也可以工作 我在Spring工具套件(STS)中的VMWare Vfabric Tomcat中部署了应用程序 指向在我的虚拟机中运行的mongodb(192.168.80.128)

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设置中建议需要更改的内容。

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

干杯 琴

1 个答案:

答案 0 :(得分:1)

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

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

干杯