Repository: qpid-jms
Updated Branches:
  refs/heads/master b7f7ac5ab -> 8b409f630


enable defining non-dynamic Queue and Topic objects in the properties


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/8b409f63
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/8b409f63
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/8b409f63

Branch: refs/heads/master
Commit: 8b409f6305e73dfedebb9eeb9962bb949374deca
Parents: 2c61581
Author: Robert Gemmell <rob...@apache.org>
Authored: Fri Jan 9 15:58:08 2015 +0000
Committer: Robert Gemmell <rob...@apache.org>
Committed: Fri Jan 9 16:00:29 2015 +0000

----------------------------------------------------------------------
 .../qpid/jms/jndi/JmsInitialContextFactory.java | 29 ++++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8b409f63/qpid-jms-client/src/main/java/org/apache/qpid/jms/jndi/JmsInitialContextFactory.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/jndi/JmsInitialContextFactory.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/jndi/JmsInitialContextFactory.java
index b7e7ef8..5d30e0e 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/jndi/JmsInitialContextFactory.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/jndi/JmsInitialContextFactory.java
@@ -52,8 +52,8 @@ public class JmsInitialContextFactory implements 
InitialContextFactory {
 
     private String connectionPrefix = "";
 
-    String queuePrefix = "/queue/";
-    String topicPrefix = "/topic/";
+    String queuePrefix = "queue.";
+    String topicPrefix = "topic.";
 
     @Override
     public Context getInitialContext(Hashtable environment) throws 
NamingException {
@@ -78,6 +78,9 @@ public class JmsInitialContextFactory implements 
InitialContextFactory {
             data.put(name, factory);
         }
 
+        createQueues(data, environment);
+        createTopics(data, environment);
+
         data.put("queue", new LazyCreateContext() {
             private static final long serialVersionUID = 6503881346214855588L;
 
@@ -148,6 +151,28 @@ public class JmsInitialContextFactory implements 
InitialContextFactory {
         return DEFAULT_CONNECTION_FACTORY_NAMES;
     }
 
+    protected void createQueues(Map<String, Object> data, Hashtable 
environment) {
+        for (Iterator iter = environment.entrySet().iterator(); 
iter.hasNext();) {
+            Map.Entry entry = (Map.Entry) iter.next();
+            String key = entry.getKey().toString();
+            if (key.startsWith(queuePrefix)) {
+                String jndiName = key.substring(queuePrefix.length());
+                data.put(jndiName, createQueue(entry.getValue().toString()));
+            }
+        }
+    }
+
+    protected void createTopics(Map<String, Object> data, Hashtable 
environment) {
+        for (Iterator iter = environment.entrySet().iterator(); 
iter.hasNext();) {
+            Map.Entry entry = (Map.Entry) iter.next();
+            String key = entry.getKey().toString();
+            if (key.startsWith(topicPrefix)) {
+                String jndiName = key.substring(topicPrefix.length());
+                data.put(jndiName, createTopic(entry.getValue().toString()));
+            }
+        }
+    }
+
     /**
      * Factory method to create new Queue instances
      */


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org

Reply via email to