How fix com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting for a server that matches WritableServerSelector. Client view of cluster state is {type=UNKNOWN, servers=[{address=localhost:12345, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.ConnectException: Connection refused: connect}}]
?
Context
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongo" ref="mongo"/>
<constructor-arg name="databaseName" value="${mongo.database}"/>
<constructor-arg name="userCredentials" ref="mongoCredentials"/>
</bean>
<bean id="mongoCredentials" class="org.springframework.data.authentication.UserCredentials">
<constructor-arg name="username" value="${mongo.user}"/>
<constructor-arg name="password" value="${mongo.password}"/>
</bean>
<bean class="com.mongodb.MongoURI" id="mongoURI">
<constructor-arg value="${mongo.url}"/>
</bean>
<bean class="com.mongodb.Mongo" id="mongo">
<constructor-arg ref="mongoURI"/>
</bean>
Properties
mongo.url=mongodb://localhost:12345
mongo.database=local
mongo.user=
mongo.password=
Code
protected static void startMongo() {
int defaultConfigPort = Network.freeServerPort
String localhost = "localhost"
mongoD = startMongoD(defaultConfigPort)
mongoS = startMongoS(Network.freeServerPort, defaultConfigPort, localhost)
mongo = new MongoClient(localhost, 12345)
}
private static MongosProcess startMongoS(int port, int defaultConfigPort, String defaultHost) throws
UnknownHostException, IOException {
MongosStarter.defaultInstance.prepare(new MongosConfigBuilder()
.version(Version.Main.PRODUCTION)
.net(new Net(port, Network.localhostIsIPv6()))
.configDB(defaultHost + ":" + defaultConfigPort)
.build())
.start()
}
private static MongodProcess startMongoD(int defaultConfigPort) throws UnknownHostException, IOException {
MongodStarter.defaultInstance.prepare(new MongodConfigBuilder()
.version(Version.Main.PRODUCTION)
.net(new Net(defaultConfigPort, Network.localhostIsIPv6()))
.build())
.start()
}
Aucun commentaire:
Enregistrer un commentaire