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