diff options
-rw-r--r-- | qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionFactoryImpl.java | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionFactoryImpl.java b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionFactoryImpl.java index e83fc24fcd..90b3298c3a 100644 --- a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionFactoryImpl.java +++ b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionFactoryImpl.java @@ -138,7 +138,7 @@ public class ConnectionFactoryImpl implements ConnectionFactory, TopicConnection _remoteHost = remoteHost; _ssl = ssl; _maxSessions = maxSessions; - if(! "".equals(System.getProperty("qpid.sync_publish",""))) + if(System.getProperties().containsKey("qpid.sync_publish")) { _syncPublish = Boolean.getBoolean("qpid.sync_publish"); } @@ -330,7 +330,14 @@ public class ConnectionFactoryImpl implements ConnectionFactory, TopicConnection { public void setOption(ConnectionOptions options, String value) { - options.syncPublish = Boolean.parseBoolean(value); + if("".equals(value) || "default".equals(value)) + { + options.syncPublish = null; + } + else + { + options.syncPublish = Boolean.parseBoolean(value); + } } }, new OptionSetter("max-sessions", "set maximum number of sessions allowed") @@ -403,7 +410,6 @@ public class ConnectionFactoryImpl implements ConnectionFactory, TopicConnection int port = url.getPort(); final ConnectionOptions options = new ConnectionOptions(); - if (port == -1) { if ("amqps".equals(protocol)) @@ -442,6 +448,11 @@ public class ConnectionFactoryImpl implements ConnectionFactory, TopicConnection } } + if(System.getProperties().containsKey("qpid.sync_publish")) + { + options.syncPublish = Boolean.getBoolean("qpid.sync_publish"); + } + OptionSetter.parseOptions(url, options); if (options.remoteHost == null) |