標籤:style blog http color java os io for
1. 通過Java based bean metadata
@Configurationpublic class AppConfig {public @Bean Mongo mongo() throws UnknownHostExceptioin {return new Mongo("localhost");}}
上面的方式包含異常處理,這並不是我們想要的。
所以,應該盡量用下面這種方式MongoFactoryBean,或者後面的xml方式。
@Configurationpublic class AppConfig {public @Bean MongoFactoryBean mongo(){MongoFactoryBean mongo = new MongoFactoryBean();mongo.setHost("localhost");return mongo;}}
2. 通過XML based metadata
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mongo="http://www.springframework.org/schema/data/mongo" xsi:schemaLocation= "http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <!-- Default bean name is ‘mongo‘ --> <mongo:mongo host="localhost" port="27017"/></beans>
帶有MongoOptions的更詳細的配置可以如下,但是其中的值不是推薦值。
<beans> <mongo:mongo host="localhost" port="27017"> <mongo:options connections-per-host="8" threads-allowed-to-block-for-connection-multiplier="4" connect-timeout="1000" max-wait-time="1500}" auto-connect-retry="true" socket-keep-alive="true" socket-timeout="1500" slave-ok="true" write-number="1" write-timeout="0" write-fsync="true"/> </mongo:mongo/></beans>
副本配置
<mongo:mongo id="replicaSetMongo" replica-set="127.0.0.1:27017,localhost:27018"/>