[
https://issues.apache.org/jira/browse/RYA-414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16308745#comment-16308745
]
ASF GitHub Bot commented on RYA-414:
------------------------------------
Github user ejwhite922 commented on a diff in the pull request:
https://github.com/apache/incubator-rya/pull/256#discussion_r159309851
--- 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 --
javadocs
> 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)