You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ta...@apache.org on 2016/09/20 15:29:15 UTC
[2/2] qpid-jms git commit: QPIDJMS-208 Assign the set deserialization
policy to new connections.
QPIDJMS-208 Assign the set deserialization policy to new connections.
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/1c3ff1cb
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/1c3ff1cb
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/1c3ff1cb
Branch: refs/heads/master
Commit: 1c3ff1cbba17bb1f2fe09735abd16d96c1c40339
Parents: 6dd3d2b
Author: Timothy Bish <ta...@gmail.com>
Authored: Tue Sep 20 11:23:40 2016 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Tue Sep 20 11:23:40 2016 -0400
----------------------------------------------------------------------
.../apache/qpid/jms/JmsConnectionFactory.java | 1 +
.../qpid/jms/JmsConnectionFactoryTest.java | 24 ++++++++++++++++++++
.../qpid/jms/SerializationTestSupport.java | 15 ++++++++++++
3 files changed, 40 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1c3ff1cb/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java
index 4105842..c40b9f1 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java
@@ -219,6 +219,7 @@ public class JmsConnectionFactory extends JNDIStorable implements ConnectionFact
connection.setPrefetchPolicy(prefetchPolicy.copy());
connection.setPresettlePolicy(presettlePolicy.copy());
connection.setRedeliveryPolicy(redeliveryPolicy.copy());
+ connection.setDeserializationPolicy(deserializationPolicy.copy());
PropertyUtil.setProperties(connection, properties);
connection.setExceptionListener(exceptionListener);
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1c3ff1cb/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionFactoryTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionFactoryTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionFactoryTest.java
index 48c668b..ea8c867 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionFactoryTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionFactoryTest.java
@@ -732,4 +732,28 @@ public class JmsConnectionFactoryTest extends QpidJmsTestCase {
fail("should throw IllegalArgumentException");
} catch (IllegalArgumentException ex) {}
}
+
+ @Test
+ public void testDeserializationPolicyRestsToDefault() {
+ JmsConnectionFactory factory = new JmsConnectionFactory("amqp://127.0.0.1:5672");
+
+ assertNotNull(factory.getDeserializationPolicy());
+ factory.setDeserializationPolicy(null);
+ assertNotNull(factory.getDeserializationPolicy());
+ assertTrue(factory.getDeserializationPolicy() instanceof JmsDefaultDeserializationPolicy);
+ }
+
+ @Test
+ public void testCustomDeserializationPolicyIsAppliedToConnections() throws JMSException {
+ JmsConnectionFactory factory = new JmsConnectionFactory("mock://127.0.0.1:5672");
+
+ assertNotNull(factory.getDeserializationPolicy());
+ factory.setDeserializationPolicy(new SerializationTestSupport.TestJmsDeserializationPolicy());
+ assertNotNull(factory.getDeserializationPolicy());
+ assertTrue(factory.getDeserializationPolicy() instanceof SerializationTestSupport.TestJmsDeserializationPolicy);
+
+ JmsConnection connection = (JmsConnection) factory.createConnection();
+
+ assertTrue(connection.getDeserializationPolicy() instanceof SerializationTestSupport.TestJmsDeserializationPolicy);
+ }
}
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1c3ff1cb/qpid-jms-client/src/test/java/org/apache/qpid/jms/SerializationTestSupport.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/SerializationTestSupport.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/SerializationTestSupport.java
index 0078aaa..bcb2eca 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/SerializationTestSupport.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/SerializationTestSupport.java
@@ -22,6 +22,8 @@ import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
+import org.apache.qpid.jms.policy.JmsDeserializationPolicy;
+
public class SerializationTestSupport {
public static Object roundTripSerialize(final Object o) throws IOException, ClassNotFoundException {
@@ -47,4 +49,17 @@ public class SerializationTestSupport {
ois.close();
return deserializedObject;
}
+
+ public static class TestJmsDeserializationPolicy implements JmsDeserializationPolicy {
+
+ @Override
+ public JmsDeserializationPolicy copy() {
+ return new TestJmsDeserializationPolicy();
+ }
+
+ @Override
+ public boolean isTrustedType(JmsDestination destination, Class<?> clazz) {
+ return true;
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org