数据源一properties:
mongo.host=192.168.2.254
mongo.port=27017
mongo.dbname=beadwalletloan
mongo.table=test
mongo.name=test
mongo.password=test123
mongo.credentials=root:WaterElephant#2016@admin
mongo.replicaSet=
#每个host允许链接的最大链接数,这些链接空闲时会放入池中,
#如果链接被耗尽,任何请求链接的操作会被阻塞等待链接可用
mongo.connectionsPerHost=50
#此参数跟connectionsPerHost的乘积为一个线程变为可用的最大阻塞数
#超过此乘积数之后的所有线程将及时获取一个异常
mongo.connectionMultiplier=30
#链接超时的毫秒数,0表示不超时,此参数只用在新建一个新链接时
mongo.connectTimeout=10000
#此参数表示socket I/O读写超时时间
mongo.socketTimeout=15000
#一个线程等待链接可用的最大等待毫秒数,0表示不等待,负数表示等待时间不确定
mongo.maxWaitTime=60000
#该标志用于控制socket保持活动的功能,通过防火墙保持连接活跃
mongo.socketKeepAlive=false
数据源二properties:
mongodb.host=192.168.146.100
mongodb.port=27017
mongodb.dbname=beadwalletloan
mongodb.credentials=root:mongodb@admin
数据源一的配置文件
<mongo:mongo-client id=“mongo” host="
m
o
n
g
o
.
h
o
s
t
"
p
o
r
t
=
"
{mongo.host}" port="
mongo.host"port="{mongo.port}" credentials="
m
o
n
g
o
.
c
r
e
d
e
n
t
i
a
l
s
"
r
e
p
l
i
c
a
−
s
e
t
=
"
{mongo.credentials}" replica-set="
mongo.credentials"replica−set="{mongo.replicaSet}">
<mongo:client-options
connections-per-host="
m
o
n
g
o
.
c
o
n
n
e
c
t
i
o
n
s
P
e
r
H
o
s
t
"
m
a
x
−
w
a
i
t
−
t
i
m
e
=
"
{mongo.connectionsPerHost}" max-wait-time="
mongo.connectionsPerHost"max−wait−time="{mongo.maxWaitTime}"
socket-timeout="
m
o
n
g
o
.
s
o
c
k
e
t
T
i
m
e
o
u
t
"
c
o
n
n
e
c
t
−
t
i
m
e
o
u
t
=
"
{mongo.socketTimeout}" connect-timeout="
mongo.socketTimeout"connect−timeout="{mongo.connectTimeout}"
socket-keep-alive="${mongo.socketKeepAlive}"/>
</mongo:mongo-client>
数据源二的配置文件
<mongo:mongo-client id="mongodb" host="${mongodb.host}" port="${mongodb.port}" credentials="${mongodb.credentials}" replica-set="${mongo.replicaSet}">
<mongo:client-options
connections-per-host="${mongo.connectionsPerHost}"
max-wait-time="${mongo.maxWaitTime}"
socket-timeout="${mongo.socketTimeout}"
connect-timeout="${mongo.connectTimeout}"
socket-keep-alive="${mongo.socketKeepAlive}"/>
</mongo:mongo-client>
<mongo:db-factory id ="mongoDbFactory" dbname="${mongo.dbname}" mongo-ref="mongo" />
<mongo:db-factory id ="mongoFactory" dbname="${mongodb.dbname}" mongo-ref="mongodb" />
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
<constructor-arg name="mongoConverter" ref="mappingMongoConverter" />
</bean>
<bean id="mongodbTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoFactory" />
<constructor-arg name="mongoConverter" ref="mappingMongoConverter" />
</bean>
<bean id="mappingMongoConverter"
class="com.waterelephant.mongo.converter.MyMappingMongoConverter">
<constructor-arg name="dbRefResolver" ref ="dbRefResolver"/>
<constructor-arg name="mappingContext" ref="mappingContext" />
<property name="typeMapper" ref="defaultMongoTypeMapper" />
<property name="listConverter" ref="listConverter"/>
</bean>
<bean id="dbRefResolver" class="org.springframework.data.mongodb.core.convert.DefaultDbRefResolver">
<constructor-arg name="mongoDbFactory" ref ="mongoDbFactory"/>
</bean>
<bean id="defaultMongoTypeMapper"
class="org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper">
<constructor-arg name="typeKey">
<null></null>
</constructor-arg>
</bean>
<bean id="mappingContext" class="org.springframework.data.mongodb.core.mapping.MongoMappingContext" />
<bean id="listConverter" class="org.springframework.beans.factory.config.ListFactoryBean">
<property name="sourceList">
<list>
<value>com.waterelephant.entity.BwKuainiuCalls</value>
<value>com.waterelephant.entity.BwKuainiuNets</value>
<value>com.waterelephant.entity.BwKuainiuSmses</value>
<value>com.waterelephant.entity.BwXlCalls</value>
<value>com.waterelephant.entity.BwXlNets</value>
<value>com.waterelephant.entity.BwXlSmses</value>
<value>com.waterelephant.entity.BwXlContactList</value>
<value>com.waterelephant.entity.BwXgAreaAnalysisDetail</value>
<value>com.waterelephant.entity.BwThirdOperateVoice</value>
<value>com.waterelephant.entity.XgCallLog</value>
<value>com.waterelephant.entity.XgCallLogDetail</value>
<value>com.waterelephant.entity.BwMfCallInfoRecord</value>
<value>com.waterelephant.less.mongoeEntity.MongoBwXlCalls</value>
</list>
</property>
</bean>