Spring Mongo DB factory始终仅连接两个已配置Mongo引用中的一个
我有下面的mongo配置 配置-1:Spring Mongo DB factory始终仅连接两个已配置Mongo引用中的一个,spring,mongodb,Spring,Mongodb,我有下面的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="2
<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“sysMongo”。这两种配置驻留在同一个应用程序中。有人遇到过类似的问题吗。如果您能帮助解决此问题,我们将不胜感激。在做进一步的研究时,我发现如果通过XML进行配置,则只会创建一个Mongo Options实例,而且它在创建多个实例时没有提供更大的灵活性。要创建不同的实例,我们应该有一个实现,并使用mongo驱动程序提供的生成器类。请在下面找到创建的JIRA及其解决方案
进一步挖掘后,我发现mongo实例有所不同,但它们共享相同的mongo选项。到目前为止,我还没有找到区分两个mongo选项实例的方法。我还在分析。同时,如果有人遇到过类似的问题并解决了相同的问题,请在此分享。