如何在Windows Azure工作者角色中将Java与MongoDB连接?

时间:2013-05-10 11:28:29

标签: java mongodb spring-mvc azure-worker-roles spring-data-mongodb

我有一个Spring RESTFul Web服务项目,它使用“Spring Data MongoDB”库连接MongoDB数据库。

使用我的本地计算机成功测试后,我已准备好部署在云服务器上(Windows Azure的工作者角色)。

我已经从官方网站(here)逐步跟随名为TomcatWorkerRole的额外工作角色(因为我想运行mongodb仅供内部使用,我必须在同一个云中部署我的Web应用程序服务)。

在部署中一切正常但在设置我的应用程序的数据库连接时不是那样。

问题是因为副本集看起来像这样..

rs:PRIMARY> rs.conf()
{
   "_id" : "rs",
   "version" : 1,
   "members" : [
         {
             "_id" : 0,
             "host" : "rs_0:27017"
         },
         {
             "_id" : 1,
             "host" : "rs_1:27017"
         },
         {
             "_id" : 2,
             "host" : "rs_2:27017"
         }
   ]
}

由于描述..

  

考虑运行实例的IP可能发生的变化   MongoDB,worker角色使用hosts文件对每个文件进行别名   实例。因此,客户端应用程序实例需要相同   实例。此外,客户端应用程序还必须具有该名称   副本集。

问题是如何知道“rs_X”代表哪个主机? 因为我必须指定主机才能创建客户端连接。

是的,有人可以帮帮我吗?我是否必须改变主意,将VM的角色用于MongoDB而不是工作者角色?

谢谢。

PS。抱歉我的英文。

0 个答案:

没有答案