You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ma...@apache.org on 2016/10/25 13:19:22 UTC
[07/33] activemq-artemis git commit: ARTEMIS-756 disabling finalize
check over CDI Connection Factories
ARTEMIS-756 disabling finalize check over CDI Connection Factories
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/e71f3d8a
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/e71f3d8a
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/e71f3d8a
Branch: refs/heads/ARTEMIS-780
Commit: e71f3d8a34c39f5d166e107d733b66841dba605a
Parents: 2ee742b
Author: Clebert Suconic <cl...@apache.org>
Authored: Mon Oct 24 10:37:22 2016 -0400
Committer: Clebert Suconic <cl...@apache.org>
Committed: Mon Oct 24 10:37:27 2016 -0400
----------------------------------------------------------------------
.../activemq/artemis/jms/client/ActiveMQConnection.java | 4 +++-
.../artemis/jms/client/ActiveMQConnectionFactory.java | 12 ++++++++++++
.../client/cdi/factory/ConnectionFactoryProvider.java | 3 ++-
3 files changed, 17 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/e71f3d8a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQConnection.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQConnection.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQConnection.java
index 440b576..0c6cf9d 100644
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQConnection.java
+++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQConnection.java
@@ -572,7 +572,9 @@ public class ActiveMQConnection extends ActiveMQConnectionForContextImpl impleme
@Override
protected final void finalize() throws Throwable {
if (!closed) {
- ActiveMQJMSClientLogger.LOGGER.connectionLeftOpen(creationStack);
+ if (this.factoryReference.isFinalizeChecks()) {
+ ActiveMQJMSClientLogger.LOGGER.connectionLeftOpen(creationStack);
+ }
close();
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/e71f3d8a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQConnectionFactory.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQConnectionFactory.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQConnectionFactory.java
index 4f6528b..91dee3c 100644
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQConnectionFactory.java
+++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQConnectionFactory.java
@@ -83,6 +83,8 @@ public class ActiveMQConnectionFactory implements ConnectionFactoryOptions, Exte
private String deserializationWhiteList;
+ private boolean finalizeChecks;
+
@Override
public void writeExternal(ObjectOutput out) throws IOException {
URI uri = toURI();
@@ -148,6 +150,16 @@ public class ActiveMQConnectionFactory implements ConnectionFactoryOptions, Exte
}
}
+ public ActiveMQConnectionFactory disableFinalizeChecks() {
+ this.finalizeChecks = false;
+ return this;
+ }
+
+ public boolean isFinalizeChecks() {
+ return finalizeChecks;
+ }
+
+
@Override
public String getDeserializationBlackList() {
return deserializationBlackList;
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/e71f3d8a/integration/artemis-cdi-integration/src/main/java/org/apache/artemis/client/cdi/factory/ConnectionFactoryProvider.java
----------------------------------------------------------------------
diff --git a/integration/artemis-cdi-integration/src/main/java/org/apache/artemis/client/cdi/factory/ConnectionFactoryProvider.java b/integration/artemis-cdi-integration/src/main/java/org/apache/artemis/client/cdi/factory/ConnectionFactoryProvider.java
index b57b771..b249474 100644
--- a/integration/artemis-cdi-integration/src/main/java/org/apache/artemis/client/cdi/factory/ConnectionFactoryProvider.java
+++ b/integration/artemis-cdi-integration/src/main/java/org/apache/artemis/client/cdi/factory/ConnectionFactoryProvider.java
@@ -97,6 +97,7 @@ public class ConnectionFactoryProvider {
activeMQConnectionFactory.setUser(configuration.getUsername());
activeMQConnectionFactory.setPassword(configuration.getPassword());
}
- return activeMQConnectionFactory;
+ // The CF will probably be GCed since it was injected, so we disable the finalize check
+ return activeMQConnectionFactory.disableFinalizeChecks();
}
}