You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2016/12/23 07:55:50 UTC
[3/3] camel git commit: CAMEL-10635 - camel-mongodb-gridfs - The
component should not store state
CAMEL-10635 - camel-mongodb-gridfs - The component should not store state
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/7ef99c17
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/7ef99c17
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/7ef99c17
Branch: refs/heads/master
Commit: 7ef99c17d082c4e2302f215f2f1374f912b24af8
Parents: a56afad
Author: Andrea Cosentino <an...@gmail.com>
Authored: Fri Dec 23 08:54:54 2016 +0100
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Fri Dec 23 08:54:54 2016 +0100
----------------------------------------------------------------------
.../camel/component/gridfs/GridFsComponent.java | 19 -------------------
.../camel/component/gridfs/GridFsEndpoint.java | 15 ++++++++++++++-
2 files changed, 14 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/7ef99c17/components/camel-mongodb-gridfs/src/main/java/org/apache/camel/component/gridfs/GridFsComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-mongodb-gridfs/src/main/java/org/apache/camel/component/gridfs/GridFsComponent.java b/components/camel-mongodb-gridfs/src/main/java/org/apache/camel/component/gridfs/GridFsComponent.java
index 62701a0..5b91313 100644
--- a/components/camel-mongodb-gridfs/src/main/java/org/apache/camel/component/gridfs/GridFsComponent.java
+++ b/components/camel-mongodb-gridfs/src/main/java/org/apache/camel/component/gridfs/GridFsComponent.java
@@ -18,35 +18,20 @@ package org.apache.camel.component.gridfs;
import java.util.Map;
-import com.mongodb.Mongo;
import org.apache.camel.Endpoint;
import org.apache.camel.impl.UriEndpointComponent;
-import org.apache.camel.util.CamelContextHelper;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
public class GridFsComponent extends UriEndpointComponent {
- private static final Logger LOG = LoggerFactory.getLogger(GridFsComponent.class);
-
- private volatile Mongo db;
-
public GridFsComponent() {
super(GridFsEndpoint.class);
}
protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
- if (db == null) {
- db = CamelContextHelper.mandatoryLookup(getCamelContext(), remaining, Mongo.class);
- LOG.debug("Resolved the connection with the name {} as {}", remaining, db);
- }
GridFsEndpoint endpoint = new GridFsEndpoint(uri, this);
- parameters.put("mongoConnection", db);
endpoint.setConnectionBean(remaining);
- endpoint.setMongoConnection(db);
setProperties(endpoint, parameters);
return endpoint;
@@ -54,10 +39,6 @@ public class GridFsComponent extends UriEndpointComponent {
@Override
protected void doShutdown() throws Exception {
- if (db != null) {
- LOG.debug("Closing the connection {} on {}", db, this);
- db.close();
- }
super.doShutdown();
}
http://git-wip-us.apache.org/repos/asf/camel/blob/7ef99c17/components/camel-mongodb-gridfs/src/main/java/org/apache/camel/component/gridfs/GridFsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-mongodb-gridfs/src/main/java/org/apache/camel/component/gridfs/GridFsEndpoint.java b/components/camel-mongodb-gridfs/src/main/java/org/apache/camel/component/gridfs/GridFsEndpoint.java
index f4d5d65..da5a064 100644
--- a/components/camel-mongodb-gridfs/src/main/java/org/apache/camel/component/gridfs/GridFsEndpoint.java
+++ b/components/camel-mongodb-gridfs/src/main/java/org/apache/camel/component/gridfs/GridFsEndpoint.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.gridfs;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.Mongo;
+import com.mongodb.MongoClient;
import com.mongodb.ReadPreference;
import com.mongodb.WriteConcern;
import com.mongodb.gridfs.GridFS;
@@ -30,6 +31,7 @@ import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.apache.camel.util.CamelContextHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -129,10 +131,21 @@ public class GridFsEndpoint extends DefaultEndpoint {
+ ", " + writeConcernRef + ". Aborting initialization.";
throw new IllegalArgumentException(msg);
}
-
+ mongoConnection = CamelContextHelper.mandatoryLookup(getCamelContext(), connectionBean, MongoClient.class);
+ LOG.debug("Resolved the connection with the name {} as {}", connectionBean, mongoConnection);
setWriteReadOptionsOnConnection();
super.doStart();
}
+
+ @Override
+ protected void doStop() throws Exception {
+ super.doStop();
+ if (mongoConnection != null) {
+ LOG.debug("Closing connection");
+ mongoConnection.close();
+ }
+ }
+
private void setWriteReadOptionsOnConnection() {
// Set the WriteConcern
if (writeConcern != null) {