我有以下mongo配置。
配置 - 1:
<mongo:mongo replica-set="${system.mongo.host}" id="sysMongo">
<mongo:options connections-per-host="8"
threads-allowed-to-block-for-connection-multiplier="2"
connect-timeout="2000"
max-wait-time="2000"
auto-connect-retry="true"
socket-keep-alive="true"
socket-timeout="2000"
/>
</mongo:mongo>
<mongo:db-factory id="system_MongoDbFactory" dbname="${system.mongo.database}" mongo-ref="sysMongo" username="${mongo.username}" password="${mongo.password}"/>
配置 - 2:
<mongo:mongo replica-set="${mongo.host}" id="mongo">
<mongo:options connections-per-host="8"
threads-allowed-to-block-for-connection-multiplier="2"
connect-timeout="1"
max-wait-time="1"
auto-connect-retry="true"
socket-keep-alive="false"
socket-timeout="1"
/>
</mongo:mongo>
<mongo:db-factory id="office_MongoDbFactory" dbname="${mongo.office.dbname}" mongo-ref="mongo" username="${mongo.username}" password="${mongo.password}"/>
如果您看到上述两种配置,则会创建两个具有不同ID的mongo实例,但仍然只有一个实例的配置始终连接到mongo DB工厂。在这种情况下,它是bean&#39; sysMongo&#39;。这两种配置都位于同一应用程序中。有没有人遇到类似的问题。任何帮助解决这个问题的人都将不胜感激。
答案 0 :(得分:0)
在进行进一步研究时,我发现如果通过XML配置,只创建了一个Mongo Options实例,并且在创建多个实例时没有提供更多灵活性。要创建不同的实例,我们应该有一个实现并使用mongo驱动程序提供的构建器类。请在下面找到创建的JIRA及其解决方案。