protected void connect() { if (this.mongoClient == null) { try { List<ServerAddress> addresses = new ArrayList<ServerAddress>(); for (String host : this.servers) { addresses.add(new ServerAddress(host, 27017)); } this.mongoClient = new MongoClient( addresses, MongoClientOptions.builder() .connectionsPerHost(30) .threadsAllowedToBlockForConnectionMultiplier(20) .build()); this.db = this.mongoClient.getDB("twitter"); this.dbCollection = this.db.getCollection("tweets"); } catch (Exception e) { this.log.write( "MongoDBConnector - Exception in MongoDBConnector.connect: " + e.getMessage() + ": " + e.toString()); } } }
public void initialiseConnections() throws UnknownHostException { MongoClientOptions options = MongoClientOptions.builder().connectTimeout(15000).socketKeepAlive(true).build(); Mongo mongo = new MongoClient(new ServerAddress(sourceHost, sourcePort), options); sourceDB = mongo.getDB(sourceDBName); // conceptTermListColl_source = JacksonDBCollection.wrap(sourceDB.getCollection("TermList"), // ConceptTermList.class, // String.class); placeTermListColl_source = JacksonDBCollection.wrap( sourceDB.getCollection("TermList"), PlaceTermList.class, String.class); // timespanTermListColl_source = JacksonDBCollection.wrap(sourceDB.getCollection("TermList"), // TimespanTermList.class, String.class); // agentTermListColl_source = JacksonDBCollection.wrap(sourceDB.getCollection("TermList"), // AgentTermList.class, // String.class); // conceptTermColl_source = JacksonDBCollection.wrap(sourceDB.getCollection("concept"), // MongoTerm.class, // String.class); placeTermColl_source = JacksonDBCollection.wrap(sourceDB.getCollection("place"), MongoTerm.class, String.class); // timespanTermColl_source = JacksonDBCollection.wrap(sourceDB.getCollection("period"), // MongoTerm.class, // String.class); // agentTermColl_source = JacksonDBCollection.wrap(sourceDB.getCollection("people"), // MongoTerm.class, // String.class); if (!sourceHost.equals(targetHost) || sourcePort != targetPort) { mongo = new MongoClient(new ServerAddress(targetHost, targetPort), options); } targetDB = mongo.getDB(targetDBName); /* conceptTermListColl_target = JacksonDBCollection.wrap(targetDB.getCollection("TermList"), ConceptTermList.class, String.class); conceptTermListColl_target.createIndex(new BasicDBObject("codeUri", 1), new BasicDBObject("unique", true)); */ placeTermListColl_target = JacksonDBCollection.wrap( targetDB.getCollection("TermList"), PlaceTermList.class, String.class); placeTermListColl_target.createIndex( new BasicDBObject("codeUri", 1), new BasicDBObject("unique", true)); /* timespanTermListColl_target = JacksonDBCollection.wrap(targetDB.getCollection("TermList"), TimespanTermList.class, String.class); timespanTermListColl_target.createIndex(new BasicDBObject("codeUri", 1), new BasicDBObject("unique", true)); agentTermListColl_target = JacksonDBCollection.wrap(targetDB.getCollection("TermList"), AgentTermList.class, String.class); agentTermListColl_target.createIndex(new BasicDBObject("codeUri", 1), new BasicDBObject("unique", true)); conceptTermColl_target = JacksonDBCollection.wrap(targetDB.getCollection("concept"), MongoTerm.class, String.class); conceptTermColl_target.createIndex(new BasicDBObject("label", 1).append("lang", 1).append("codeUri", 1), new BasicDBObject("unique", true)); conceptTermColl_target.createIndex(new BasicDBObject("codeUri", 1)); */ placeTermColl_target = JacksonDBCollection.wrap(targetDB.getCollection("place"), MongoTerm.class, String.class); placeTermColl_target.createIndex( new BasicDBObject("label", 1).append("lang", 1).append("codeUri", 1), new BasicDBObject("unique", true)); placeTermColl_target.createIndex(new BasicDBObject("codeUri", 1)); /* timespanTermColl_target = JacksonDBCollection.wrap(targetDB.getCollection("period"), MongoTerm.class, String.class); timespanTermColl_target.createIndex(new BasicDBObject("label", 1).append("lang", 1).append("codeUri", 1), new BasicDBObject("unique", true)); timespanTermColl_target.createIndex(new BasicDBObject("codeUri", 1)); agentTermColl_target = JacksonDBCollection.wrap(targetDB.getCollection("people"), MongoTerm.class, String.class); agentTermColl_target.createIndex(new BasicDBObject("label", 1).append("lang", 1).append("codeUri", 1), new BasicDBObject("unique", true)); agentTermColl_target.createIndex(new BasicDBObject("codeUri", 1)); */ lookupColl_target = JacksonDBCollection.wrap( targetDB.getCollection("lookup"), MongoCodeLookup.class, String.class); lookupColl_target.createIndex( new BasicDBObject("codeUri", 1).append("originalCodeUri", 1), new BasicDBObject("unique", true)); lookupColl_target.createIndex(new BasicDBObject("originalCodeUri", 1)); // for // reverse // lookup sequenceColl_target = JacksonDBCollection.wrap( targetDB.getCollection("sequence"), MongoSequence.class, String.class); }
@Test @SuppressWarnings("deprecation") public void testToClientOptions() throws UnknownHostException { MongoOptions options = new MongoOptions(); options.description = "my client"; options.fsync = true; options.readPreference = ReadPreference.secondary(); options.requiredReplicaSetName = "test"; options.cursorFinalizerEnabled = false; options.alwaysUseMBeans = true; options.connectTimeout = 100; options.maxWaitTime = 500; options.socketKeepAlive = true; options.threadsAllowedToBlockForConnectionMultiplier = 10; MongoClientOptions clientOptions = options.toClientOptions(); assertEquals(options.requiredReplicaSetName, clientOptions.getRequiredReplicaSetName()); assertEquals(options.description, clientOptions.getDescription()); assertEquals(WriteConcern.ACKNOWLEDGED.withFsync(true), clientOptions.getWriteConcern()); assertEquals(0, clientOptions.getMinConnectionsPerHost()); assertEquals(10, clientOptions.getConnectionsPerHost()); assertEquals(100, clientOptions.getConnectTimeout()); assertEquals(500, clientOptions.getMaxWaitTime()); assertEquals(ReadPreference.secondary(), clientOptions.getReadPreference()); assertEquals(10, clientOptions.getThreadsAllowedToBlockForConnectionMultiplier()); assertTrue(clientOptions.isSocketKeepAlive()); assertFalse(clientOptions.isSslEnabled()); assertEquals(options.dbDecoderFactory, clientOptions.getDbDecoderFactory()); assertEquals(options.dbEncoderFactory, clientOptions.getDbEncoderFactory()); assertEquals(15, clientOptions.getLocalThreshold()); assertTrue(clientOptions.isAlwaysUseMBeans()); assertFalse(clientOptions.isCursorFinalizerEnabled()); }