From 805f12551e131dc7b18c94bfe23d755bf2dc45af Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Mon, 21 Jul 2014 22:13:48 +0000 Subject: QPID-5426 : Allow use of a URL for properties file initial context factory git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1612416 13f79535-47bb-0310-9956-ffa450edef68 --- .../jndi/PropertiesFileInitialContextFactory.java | 25 ++++++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) (limited to 'qpid/java') diff --git a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/jndi/PropertiesFileInitialContextFactory.java b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/jndi/PropertiesFileInitialContextFactory.java index 9fd7f0fa7f..39a6b152a2 100644 --- a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/jndi/PropertiesFileInitialContextFactory.java +++ b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/jndi/PropertiesFileInitialContextFactory.java @@ -20,15 +20,11 @@ */ package org.apache.qpid.amqp_1_0.jms.jndi; -import org.apache.qpid.amqp_1_0.jms.impl.ConnectionFactoryImpl; -import org.apache.qpid.amqp_1_0.jms.impl.DestinationImpl; -import org.apache.qpid.amqp_1_0.jms.impl.QueueImpl; -import org.apache.qpid.amqp_1_0.jms.impl.TopicImpl; - import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException; import java.net.MalformedURLException; +import java.net.URL; import java.util.Hashtable; import java.util.Iterator; import java.util.Map; @@ -43,6 +39,11 @@ import javax.naming.Context; import javax.naming.NamingException; import javax.naming.spi.InitialContextFactory; +import org.apache.qpid.amqp_1_0.jms.impl.ConnectionFactoryImpl; +import org.apache.qpid.amqp_1_0.jms.impl.DestinationImpl; +import org.apache.qpid.amqp_1_0.jms.impl.QueueImpl; +import org.apache.qpid.amqp_1_0.jms.impl.TopicImpl; + public class PropertiesFileInitialContextFactory implements InitialContextFactory { @@ -75,7 +76,18 @@ public class PropertiesFileInitialContextFactory implements InitialContextFactor { // Load the properties specified - BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(file)); + BufferedInputStream inputStream; + + try + { + URL fileURL = new URL(file); + inputStream = new BufferedInputStream(fileURL.openStream()); + } + catch(MalformedURLException e) + { + inputStream = new BufferedInputStream(new FileInputStream(file)); + } + Properties p = new Properties(); try { @@ -86,7 +98,6 @@ public class PropertiesFileInitialContextFactory implements InitialContextFactor inputStream.close(); } - for (Map.Entry me : p.entrySet()) { String key = (String) me.getKey(); -- cgit v1.2.1