[ https://issues.apache.org/jira/browse/RYA-414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16310178#comment-16310178 ]
ASF GitHub Bot commented on RYA-414: ------------------------------------ Github user kchilton2 commented on a diff in the pull request: https://github.com/apache/incubator-rya/pull/256#discussion_r159510572 --- Diff: dao/mongodb.rya/src/test/java/org/apache/rya/mongodb/EmbeddedMongoSingleton.java --- @@ -19,20 +19,43 @@ package org.apache.rya.mongodb; import java.io.IOException; +import java.net.UnknownHostException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.mongodb.MongoClient; +import com.mongodb.MongoException; + +import de.flapdoodle.embed.mongo.config.IMongodConfig; /** * To be used for tests. Creates a singleton {@link MongoClient} to be used * throughout all of the MongoDB related tests. Without the singleton, the * embedded mongo factory ends up orphaning processes, consuming resources. */ public class EmbeddedMongoSingleton { - public static MongoClient getInstance() { - return InstanceHolder.SINGLETON.instance; + + public static MongoClient getNewMongoClient() throws UnknownHostException, MongoException { + final MongoClient client = InstanceHolder.SINGLETON.factory.newMongoClient(); + + Runtime.getRuntime().addShutdownHook(new Thread() { + @Override + public void run() { + try { + client.close(); + } catch (final Throwable t) { + // logging frameworks will likely be shut down + t.printStackTrace(System.err); + } + } + }); + + return client; + } + + public static IMongodConfig getMongodConfig() { --- End diff -- Done. > Fix inconsistent method of using MongoClient within a Sail object > ----------------------------------------------------------------- > > Key: RYA-414 > URL: https://issues.apache.org/jira/browse/RYA-414 > Project: Rya > Issue Type: Bug > Reporter: Andrew Smith > Assignee: Kevin Chilton > Priority: Blocker > > We've decided to introduce a stateful configuration object that is used to > hold onto objects that needs to be shared across components within a Sail > object in favor of having a static holder. The static holder limited our > ability to use more than a single Sail object within a single JVM because all > of those Sail objects would all have to access the same Mongo DB repository. -- This message was sent by Atlassian JIRA (v6.4.14#64029)