Updated Branches: refs/heads/master e00f8d48a -> 2f57d0a05
[KARAF-2549] Add username/password support in jms feature Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/2f57d0a0 Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/2f57d0a0 Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/2f57d0a0 Branch: refs/heads/master Commit: 2f57d0a05382fb16d467540c712ef606f851cf67 Parents: e00f8d4 Author: Jean-Baptiste Onofré <[email protected]> Authored: Thu Dec 19 10:43:55 2013 +0100 Committer: Jean-Baptiste Onofré <[email protected]> Committed: Thu Dec 19 10:43:55 2013 +0100 ---------------------------------------------------------------------- .../apache/karaf/jms/command/BrowseCommand.java | 8 ++++- .../karaf/jms/command/ConsumeCommand.java | 8 ++++- .../apache/karaf/jms/command/CountCommand.java | 9 +++++- .../apache/karaf/jms/command/InfoCommand.java | 9 +++++- .../apache/karaf/jms/command/MoveCommand.java | 8 ++++- .../apache/karaf/jms/command/QueuesCommand.java | 9 +++++- .../apache/karaf/jms/command/SendCommand.java | 8 ++++- .../apache/karaf/jms/command/TopicsCommand.java | 9 +++++- .../java/org/apache/karaf/jms/JmsMBean.java | 32 +++++++++++++----- .../java/org/apache/karaf/jms/JmsService.java | 32 +++++++++++++----- .../apache/karaf/jms/internal/JmsMBeanImpl.java | 32 +++++++++--------- .../karaf/jms/internal/JmsServiceImpl.java | 34 ++++++++++---------- 12 files changed, 141 insertions(+), 57 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java ---------------------------------------------------------------------- diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java index 8c51378..f2d6b13 100644 --- a/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java +++ b/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java @@ -36,6 +36,12 @@ public class BrowseCommand extends JmsCommandSupport { @Option(name = "-s", aliases = { "--selector" }, description = "The selector to select the messages to browse", required = false, multiValued = false) String selector; + @Option(name = "-u", aliases = { "--username" }, description = "Username to connect to the JMS broker", required = false, multiValued = false) + String username = "karaf"; + + @Option(name = "-p", aliases = { "--password" }, description = "Password to connect to the JMS broker", required = false, multiValued = false) + String password = "karaf"; + @Option(name = "-v", aliases = { "--verbose" }, description = "Display JMS message headers and properties", required = false, multiValued = false) boolean verbose = false; @@ -59,7 +65,7 @@ public class BrowseCommand extends JmsCommandSupport { table.column("Properties"); } - List<JmsMessage> messages = getJmsService().browse(connectionFactory, queue, selector); + List<JmsMessage> messages = getJmsService().browse(connectionFactory, queue, selector, username, password); for (JmsMessage message : messages) { if (verbose) { StringBuilder headers = new StringBuilder(); http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java ---------------------------------------------------------------------- diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java index f3f4bd4..8ee992c 100644 --- a/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java +++ b/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java @@ -32,9 +32,15 @@ public class ConsumeCommand extends JmsCommandSupport { @Option(name = "-s", aliases = { "--selector" }, description = "The selector to use to select the messages to consume", required = false, multiValued = false) String selector; + @Option(name = "-u", aliases = { "--username" }, description = "Username to connect to the JMS broker", required = false, multiValued = false) + String username = "karaf"; + + @Option(name = "-p", aliases = { "--password" }, description = "Password to connect to the JMS broker", required = false, multiValued = false) + String password = "karaf"; + public Object doExecute() throws Exception { - System.out.println(getJmsService().consume(connectionFactory, queue, selector) + " message(s) consumed"); + System.out.println(getJmsService().consume(connectionFactory, queue, selector, username, password) + " message(s) consumed"); return null; } http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java ---------------------------------------------------------------------- diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java index 1904b7e..7d8ad9c 100644 --- a/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java +++ b/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java @@ -18,6 +18,7 @@ package org.apache.karaf.jms.command; import org.apache.karaf.shell.commands.Argument; import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.commands.Option; import org.apache.karaf.shell.table.ShellTable; @Command(scope = "jms", name = "count", description = "Count the number of messages on a JMS queue.") @@ -29,12 +30,18 @@ public class CountCommand extends JmsCommandSupport { @Argument(index = 1, name = "queue", description = "The JMS queue name", required = true, multiValued = false) String queue; + @Option(name = "-u", aliases = { "--username" }, description = "Username to connect to the JMS broker", required = false, multiValued = false) + String username = "karaf"; + + @Option(name = "-p", aliases = { "--password" }, description = "Password to connect to the JMS broker", required = false, multiValued = false) + String password = "karaf"; + public Object doExecute() throws Exception { ShellTable table = new ShellTable(); table.column("Messages Count"); - table.addRow().addContent(getJmsService().count(connectionFactory, queue)); + table.addRow().addContent(getJmsService().count(connectionFactory, queue, username, password)); table.print(System.out); return null; http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java ---------------------------------------------------------------------- diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java index 69b13ba..9d7ee22 100644 --- a/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java +++ b/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java @@ -18,6 +18,7 @@ package org.apache.karaf.jms.command; import org.apache.karaf.shell.commands.Argument; import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.commands.Option; import org.apache.karaf.shell.table.ShellTable; import java.util.Map; @@ -28,12 +29,18 @@ public class InfoCommand extends JmsCommandSupport { @Argument(index = 0, name = "connectionFactory", description = "The JMS connection factory name", required = true, multiValued = false) String connectionFactory; + @Option(name = "-u", aliases = { "--username" }, description = "Username to connect to the JMS broker", required = false, multiValued = false) + String username = "karaf"; + + @Option(name = "-p", aliases = { "--password" }, description = "Password to connect to the JMS broker", required = false, multiValued = false) + String password = "karaf"; + public Object doExecute() throws Exception { ShellTable table = new ShellTable(); table.column("Property"); table.column("Value"); - Map<String, String> info = getJmsService().info(connectionFactory); + Map<String, String> info = getJmsService().info(connectionFactory, username, password); for (String key : info.keySet()) { table.addRow().addContent(key, info.get(key)); } http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java ---------------------------------------------------------------------- diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java index e8a3530..7e08188 100644 --- a/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java +++ b/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java @@ -35,8 +35,14 @@ public class MoveCommand extends JmsCommandSupport { @Option(name = "-s", aliases = { "--selector" }, description = "Selector to move only some messages", required = false, multiValued = false) String selector; + @Option(name = "-u", aliases = { "--username" }, description = "Username to connect to the JMS broker", required = false, multiValued = false) + String username = "karaf"; + + @Option(name = "-p", aliases = { "--password" }, description = "Password to connect to the JMS broker", required = false, multiValued = false) + String password = "karaf"; + public Object doExecute() throws Exception { - System.out.println(getJmsService().move(connectionFactory, source, destination, selector) + " message(s) moved"); + System.out.println(getJmsService().move(connectionFactory, source, destination, selector, username, password) + " message(s) moved"); return null; } http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java ---------------------------------------------------------------------- diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java index 254616c..91aff83 100644 --- a/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java +++ b/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java @@ -18,6 +18,7 @@ package org.apache.karaf.jms.command; import org.apache.karaf.shell.commands.Argument; import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.commands.Option; import org.apache.karaf.shell.table.ShellTable; @Command(scope = "jms", name = "queues", description = "List the JMS queues.") @@ -26,12 +27,18 @@ public class QueuesCommand extends JmsCommandSupport { @Argument(index = 0, name = "connectionFactory", description= "The JMS connection factory name", required = true, multiValued = false) String connectionFactory; + @Option(name = "-u", aliases = { "--username" }, description = "Username to connect to the JMS broker", required = false, multiValued = false) + String username = "karaf"; + + @Option(name = "-p", aliases = { "--password" }, description = "Password to connect to the JMS broker", required = false, multiValued = false) + String password = "karaf"; + public Object doExecute() throws Exception { ShellTable table = new ShellTable(); table.column("JMS Queues"); - for (String queue : getJmsService().queues(connectionFactory)) { + for (String queue : getJmsService().queues(connectionFactory, username, password)) { table.addRow().addContent(queue); } http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java ---------------------------------------------------------------------- diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java index 995c907..758881d 100644 --- a/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java +++ b/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java @@ -35,8 +35,14 @@ public class SendCommand extends JmsCommandSupport { @Option(name = "-r", aliases = { "--replyTo" }, description = "Set the message ReplyTo", required = false, multiValued = false) String replyTo; + @Option(name = "-u", aliases = { "--username" }, description = "Username to connect to the JMS broker", required = false, multiValued = false) + String username = "karaf"; + + @Option(name = "-p", aliases = { "--password" }, description = "Password to connect to the JMS broker", required = false, multiValued = false) + String password = "karaf"; + public Object doExecute() throws Exception { - getJmsService().send(connectionFactory, queue, message, replyTo); + getJmsService().send(connectionFactory, queue, message, replyTo, username, password); return null; } http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java ---------------------------------------------------------------------- diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java index de8707d..8993fa8 100644 --- a/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java +++ b/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java @@ -18,6 +18,7 @@ package org.apache.karaf.jms.command; import org.apache.karaf.shell.commands.Argument; import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.commands.Option; import org.apache.karaf.shell.table.ShellTable; @Command(scope = "jms", name = "topics", description = "List the JMS topics.") @@ -26,12 +27,18 @@ public class TopicsCommand extends JmsCommandSupport { @Argument(index = 0, name = "connectionFactory", description = "The JMS connection factory name", required = true, multiValued = false) String connectionFactory; + @Option(name = "-u", aliases = { "--username" }, description = "Username to connect to the JMS broker", required = false, multiValued = false) + String username = "karaf"; + + @Option(name = "-p", aliases = { "--password" }, description = "Password to connect to the JMS broker", required = false, multiValued = false) + String password = "karaf"; + public Object doExecute() throws Exception { ShellTable table = new ShellTable(); table.column("JMS Topics"); - for (String topic : getJmsService().topics(connectionFactory)) { + for (String topic : getJmsService().topics(connectionFactory, username, password)) { table.addRow().addContent(topic); } http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/core/src/main/java/org/apache/karaf/jms/JmsMBean.java ---------------------------------------------------------------------- diff --git a/jms/core/src/main/java/org/apache/karaf/jms/JmsMBean.java b/jms/core/src/main/java/org/apache/karaf/jms/JmsMBean.java index de91fc8..8540b86 100644 --- a/jms/core/src/main/java/org/apache/karaf/jms/JmsMBean.java +++ b/jms/core/src/main/java/org/apache/karaf/jms/JmsMBean.java @@ -56,38 +56,46 @@ public interface JmsMBean { * Get details about a JMS connection factory. * * @param connectionFactory the JMS connection factory name. + * @param username optional username to connect to the JMS broker. + * @param password optional password to connect to the JMS broker. * @return a map (property/value) containing details. * @throws MBeanException */ - Map<String, String> info(String connectionFactory) throws MBeanException; + Map<String, String> info(String connectionFactory, String username, String password) throws MBeanException; /** * Count the messages on a given JMS queue. * * @param connectionFactory the JMS connection factory name. * @param queue the JMS queue name. + * @param username optional username to connect to the JMS broker. + * @param password optional password to connect to the JMS broker. * @return * @throws MBeanException */ - int count(String connectionFactory, String queue) throws MBeanException; + int count(String connectionFactory, String queue, String username, String password) throws MBeanException; /** * List the JMS queues. * * @param connectionFactory the JMS connection factory name. + * @param username optional username to connect to the JMS broker. + * @param password optional password to connect to the JMS broker. * @return the list of JMS queues. * @throws MBeanException */ - List<String> queues(String connectionFactory) throws MBeanException; + List<String> queues(String connectionFactory, String username, String password) throws MBeanException; /** * List the JMS topics. * * @param connectionFactory the JMS connection factory name. + * @param username optional username to connect to the JMS broker. + * @param password optional password to connect to the JMS broker. * @return the list of JMS topics. * @throws MBeanException */ - List<String> topics(String connectionFactory) throws MBeanException; + List<String> topics(String connectionFactory, String username, String password) throws MBeanException; /** * Browse the messages in a JMS queue. @@ -95,10 +103,12 @@ public interface JmsMBean { * @param connectionFactory the JMS connection factory name. * @param queue the JMS queue name. * @param selector a selector to use to browse only certain messages. + * @param username optional username to connect to the JMS broker. + * @param password optional password to connect to the JMS broker. * @return a tabular data with messages details. * @throws MBeanException */ - TabularData browse(String connectionFactory, String queue, String selector) throws MBeanException; + TabularData browse(String connectionFactory, String queue, String selector, String username, String password) throws MBeanException; /** * Send a JMS message to given queue. @@ -107,9 +117,11 @@ public interface JmsMBean { * @param queue the JMS queue name. * @param content the message content. * @param replyTo the message ReplyTo. + * @param username optional username to connect to the JMS broker. + * @param password optional password to connect to the JMS broker. * @throws MBeanException */ - void send(String connectionFactory, String queue, String content, String replyTo) throws MBeanException; + void send(String connectionFactory, String queue, String content, String replyTo, String username, String password) throws MBeanException; /** * Consume JMS messages from a given queue. @@ -117,10 +129,12 @@ public interface JmsMBean { * @param connectionFactory the JMS connection factory name. * @param queue the JMS queue name. * @param selector a selector to use to consume only certain messages. + * @param username optional username to connect to the JMS broker. + * @param password optional password to connect to the JMS broker. * @return the number of messages consumed. * @throws MBeanException */ - int consume(String connectionFactory, String queue, String selector) throws MBeanException; + int consume(String connectionFactory, String queue, String selector, String username, String password) throws MBeanException; /** * Move JMS messages from one queue to another. @@ -129,9 +143,11 @@ public interface JmsMBean { * @param source the source JMS queue name. * @param destination the destination JMS queue name. * @param selector a selector to move only certain messages. + * @param username optional username to connect to the JMS broker. + * @param password optional password to connect to the JMS broker. * @return the number of messages moved. * @throws MBeanException */ - int move(String connectionFactory, String source, String destination, String selector) throws MBeanException; + int move(String connectionFactory, String source, String destination, String selector, String username, String password) throws MBeanException; } http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/core/src/main/java/org/apache/karaf/jms/JmsService.java ---------------------------------------------------------------------- diff --git a/jms/core/src/main/java/org/apache/karaf/jms/JmsService.java b/jms/core/src/main/java/org/apache/karaf/jms/JmsService.java index 92d046d..fbcd67e 100644 --- a/jms/core/src/main/java/org/apache/karaf/jms/JmsService.java +++ b/jms/core/src/main/java/org/apache/karaf/jms/JmsService.java @@ -54,38 +54,46 @@ public interface JmsService { * Get details about a given JMS connection factory. * * @param connectionFactory the JMS connection factory name. + * @param username optional username to connect to the JMS broker. + * @param password optional password to connect to the JMS broker. * @return a map (property/value) containing details. * @throws Exception */ - Map<String, String> info(String connectionFactory) throws Exception; + Map<String, String> info(String connectionFactory, String username, String password) throws Exception; /** * Count the number of messages in a JMS queue. * * @param connectionFactory the JMS connection factory name. * @param queue the queue name. + * @param username optional username to connect to the JMS broker. + * @param password optional password to connect to the JMS broker. * @return the number of messages in a JMS queue. * @throws Exception */ - int count(String connectionFactory, String queue) throws Exception; + int count(String connectionFactory, String queue, String username, String password) throws Exception; /** * List the queues. * * @param connectionFactory the JMS connection factory name. + * @param username optional username to connect to the JMS broker. + * @param password optional password to connect to the JMS broker. * @return the list of queues. * @throws Exception */ - List<String> queues(String connectionFactory) throws Exception; + List<String> queues(String connectionFactory, String username, String password) throws Exception; /** * List the topics. * * @param connectionFactory the JMS connection factory name. + * @param username optional username to connect to the JMS broker. + * @param password optional password to connect to the JMS broker. * @return the list of topics. * @throws Exception */ - List<String> topics(String connectionFactory) throws Exception; + List<String> topics(String connectionFactory, String username, String password) throws Exception; /** * Browse a destination. @@ -93,10 +101,12 @@ public interface JmsService { * @param connectionFactory the JMS connection factory name. * @param queue the queue name. * @param selector the selector. + * @param username optional username to connect to the JMS broker. + * @param password optional password to connect to the JMS broker. * @return the list of messages. * @throws Exception */ - List<JmsMessage> browse(String connectionFactory, String queue, String selector) throws Exception; + List<JmsMessage> browse(String connectionFactory, String queue, String selector, String username, String password) throws Exception; /** * Send a message on the given queue. @@ -105,9 +115,11 @@ public interface JmsService { * @param queue the queue name. * @param body the message body. * @param replyTo the message replyTo header. + * @param username optional username to connect to the JMS broker. + * @param password optional password to connect to the JMS broker. * @throws Exception */ - void send(String connectionFactory, String queue, String body, String replyTo) throws Exception; + void send(String connectionFactory, String queue, String body, String replyTo, String username, String password) throws Exception; /** * Consume messages from a given destination. @@ -115,10 +127,12 @@ public interface JmsService { * @param connectionFactory the JMS connection factory name. * @param queue the queue name. * @param selector the messages selector. + * @param username optional username to connect to the JMS broker. + * @param password optional password to connect to the JMS broker. * @return the number of messages consumed. * @throws Exception */ - int consume(String connectionFactory, String queue, String selector) throws Exception; + int consume(String connectionFactory, String queue, String selector, String username, String password) throws Exception; /** * Move messages from a destination to another. @@ -127,9 +141,11 @@ public interface JmsService { * @param sourceQueue the source queue. * @param targetQueue the target queue. * @param selector the messages selector on the source queue. + * @param username optional username to connect to the JMS broker. + * @param password optional password to connect to the JMS broker. * @return the number of messages moved. * @throws Exception */ - int move(String connectionFactory, String sourceQueue, String targetQueue, String selector) throws Exception; + int move(String connectionFactory, String sourceQueue, String targetQueue, String selector, String username, String password) throws Exception; } http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsMBeanImpl.java ---------------------------------------------------------------------- diff --git a/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsMBeanImpl.java b/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsMBeanImpl.java index a49b7a0..b682240 100644 --- a/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsMBeanImpl.java +++ b/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsMBeanImpl.java @@ -60,70 +60,70 @@ public class JmsMBeanImpl implements JmsMBean { } @Override - public Map<String, String> info(String connectionFactory) throws MBeanException { + public Map<String, String> info(String connectionFactory, String username, String password) throws MBeanException { try { - return jmsService.info(connectionFactory); + return jmsService.info(connectionFactory, username, password); } catch (Throwable t) { throw new MBeanException(null, t.getMessage()); } } @Override - public int count(String connectionFactory, String queue) throws MBeanException { + public int count(String connectionFactory, String queue, String username, String password) throws MBeanException { try { - return jmsService.count(connectionFactory, queue); + return jmsService.count(connectionFactory, queue, username, password); } catch (Throwable t) { throw new MBeanException(null, t.getMessage()); } } @Override - public List<String> queues(String connectionFactory) throws MBeanException { + public List<String> queues(String connectionFactory, String username, String password) throws MBeanException { try { - return jmsService.queues(connectionFactory); + return jmsService.queues(connectionFactory, username, password); } catch (Throwable t) { throw new MBeanException(null, t.getMessage()); } } @Override - public List<String> topics(String connectionFactory) throws MBeanException { + public List<String> topics(String connectionFactory, String username, String password) throws MBeanException { try { - return jmsService.topics(connectionFactory); + return jmsService.topics(connectionFactory, username, password); } catch (Throwable t) { throw new MBeanException(null, t.getMessage()); } } @Override - public void send(String connectionFactory, String queue, String content, String replyTo) throws MBeanException { + public void send(String connectionFactory, String queue, String content, String replyTo, String username, String password) throws MBeanException { try { - jmsService.send(connectionFactory, queue, content, replyTo); + jmsService.send(connectionFactory, queue, content, replyTo, username, password); } catch (Throwable t) { throw new MBeanException(null, t.getMessage()); } } @Override - public int consume(String connectionFactory, String queue, String selector) throws MBeanException { + public int consume(String connectionFactory, String queue, String selector, String username, String password) throws MBeanException { try { - return jmsService.consume(connectionFactory, queue, selector); + return jmsService.consume(connectionFactory, queue, selector, username, password); } catch (Throwable t) { throw new MBeanException(null, t.getMessage()); } } @Override - public int move(String connectionFactory, String source, String destination, String selector) throws MBeanException { + public int move(String connectionFactory, String source, String destination, String selector, String username, String password) throws MBeanException { try { - return jmsService.move(connectionFactory, source, destination, selector); + return jmsService.move(connectionFactory, source, destination, selector, username, password); } catch (Throwable t) { throw new MBeanException(null, t.getMessage()); } } @Override - public TabularData browse(String connectionFactory, String queue, String selector) throws MBeanException { + public TabularData browse(String connectionFactory, String queue, String selector, String username, String password) throws MBeanException { try { CompositeType type = new CompositeType("message", "JMS Message", new String[]{ "id", "content", "charset", "type", "correlation", "delivery", "destination", "expiration", "priority", "redelivered", "replyto", "timestamp" }, @@ -131,7 +131,7 @@ public class JmsMBeanImpl implements JmsMBean { new OpenType[]{ SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.INTEGER, SimpleType.STRING, SimpleType.LONG, SimpleType.INTEGER, SimpleType.BOOLEAN, SimpleType.STRING, SimpleType.LONG }); TabularType tableType = new TabularType("messages", "JMS Messages", type, new String[]{ "id" }); TabularData table = new TabularDataSupport(tableType); - for (JmsMessage message : getJmsService().browse(connectionFactory, queue, selector)) { + for (JmsMessage message : getJmsService().browse(connectionFactory, queue, selector, username, password)) { CompositeData data = new CompositeDataSupport(type, new String[]{ "id", "content", "charset", "type", "correlation", "delivery", "destination", "expiration", "priority", "redelivered", "replyto", "timestamp" }, new Object[]{ message.getMessageId(), message.getContent(), message.getCharset(), message.getType(), message.getCorrelationID(), message.getDeliveryMode(), message.getDestination(), message.getExpiration(), message.getProperties(), message.isRedelivered(), message.getReplyTo(), message.getTimestamp() } http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java ---------------------------------------------------------------------- diff --git a/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java b/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java index 223169c..5f525a2 100644 --- a/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java +++ b/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java @@ -47,7 +47,7 @@ public class JmsServiceImpl implements JmsService { File karafBase = new File(System.getProperty("karaf.base")); File deployFolder = new File(karafBase, "deploy"); - File outFile = new File(deployFolder, "connectionfactory-" + name + ".xml"); + File outFile = new File(deployFolder, "connectionfactory-" + name + ".xml"); if (type.equalsIgnoreCase("activemq")) { // activemq @@ -101,13 +101,13 @@ public class JmsServiceImpl implements JmsService { } @Override - public Map<String, String> info(String connectionFactory) throws Exception { + public Map<String, String> info(String connectionFactory, String username, String password) throws Exception { Map<String, String> map = new HashMap<String, String>(); ServiceReference reference = this.lookupConnectionFactory(connectionFactory); Connection connection = null; try { ConnectionFactory cf = (ConnectionFactory) bundleContext.getService(reference); - connection = cf.createConnection(); + connection = cf.createConnection(username, password); ConnectionMetaData metaData = connection.getMetaData(); map.put("product", metaData.getJMSProviderName()); map.put("version", metaData.getProviderVersion()); @@ -123,13 +123,13 @@ public class JmsServiceImpl implements JmsService { } @Override - public int count(String connectionFactory, String destination) throws Exception { + public int count(String connectionFactory, String destination, String username, String password) throws Exception { ServiceReference reference = this.lookupConnectionFactory(connectionFactory); Connection connection = null; Session session = null; try { ConnectionFactory cf = (ConnectionFactory) bundleContext.getService(reference); - connection = cf.createConnection(); + connection = cf.createConnection(username, password); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); QueueBrowser browser = session.createBrowser(session.createQueue(destination)); Enumeration<Message> enumeration = browser.getEnumeration(); @@ -154,13 +154,13 @@ public class JmsServiceImpl implements JmsService { } @Override - public List<String> queues(String connectionFactory) throws Exception { + public List<String> queues(String connectionFactory, String username, String password) throws Exception { List<String> queues = new ArrayList<String>(); ServiceReference reference = this.lookupConnectionFactory(connectionFactory); Connection connection = null; try { ConnectionFactory cf = (ConnectionFactory) bundleContext.getService(reference); - connection = cf.createConnection(); + connection = cf.createConnection(username, password); if (connection instanceof PooledConnection) { connection = ((PooledConnection) connection).getConnection(); } @@ -183,13 +183,13 @@ public class JmsServiceImpl implements JmsService { } @Override - public List<String> topics(String connectionFactory) throws Exception { + public List<String> topics(String connectionFactory, String username, String password) throws Exception { List<String> topics = new ArrayList<String>(); ServiceReference reference = this.lookupConnectionFactory(connectionFactory); Connection connection = null; try { ConnectionFactory cf = (ConnectionFactory) bundleContext.getService(reference); - connection = cf.createConnection(); + connection = cf.createConnection(username, password); if (connection instanceof PooledConnection) { connection = ((PooledConnection) connection).getConnection(); } @@ -212,14 +212,14 @@ public class JmsServiceImpl implements JmsService { } @Override - public List<JmsMessage> browse(String connectionFactory, String queue, String filter) throws Exception { + public List<JmsMessage> browse(String connectionFactory, String queue, String filter, String username, String password) throws Exception { List<JmsMessage> messages = new ArrayList<JmsMessage>(); ServiceReference reference = this.lookupConnectionFactory(connectionFactory); Connection connection = null; Session session = null; try { ConnectionFactory cf = (ConnectionFactory) bundleContext.getService(reference); - connection = cf.createConnection(); + connection = cf.createConnection(username, password); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); QueueBrowser browser = session.createBrowser(session.createQueue(queue), filter); Enumeration<Message> enumeration = browser.getEnumeration(); @@ -243,13 +243,13 @@ public class JmsServiceImpl implements JmsService { } @Override - public void send(String connectionFactory, String queue, String body, String replyTo) throws Exception { + public void send(String connectionFactory, String queue, String body, String replyTo, String username, String password) throws Exception { ServiceReference reference = this.lookupConnectionFactory(connectionFactory); Connection connection = null; Session session = null; try { ConnectionFactory cf = (ConnectionFactory) bundleContext.getService(reference); - connection = cf.createConnection(); + connection = cf.createConnection(username, password); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Message message = session.createTextMessage(body); if (replyTo != null) { @@ -272,14 +272,14 @@ public class JmsServiceImpl implements JmsService { } @Override - public int consume(String connectionFactory, String queue, String selector) throws Exception { + public int consume(String connectionFactory, String queue, String selector, String username, String password) throws Exception { int count = 0; ServiceReference reference = this.lookupConnectionFactory(connectionFactory); Connection connection = null; Session session = null; try { ConnectionFactory cf = (ConnectionFactory) bundleContext.getService(reference); - connection = cf.createConnection(); + connection = cf.createConnection(username, password); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageConsumer consumer = session.createConsumer(session.createQueue(queue), selector); Message message; @@ -304,14 +304,14 @@ public class JmsServiceImpl implements JmsService { } @Override - public int move(String connectionFactory, String sourceQueue, String targetQueue, String selector) throws Exception { + public int move(String connectionFactory, String sourceQueue, String targetQueue, String selector, String username, String password) throws Exception { int count = 0; ServiceReference reference = this.lookupConnectionFactory(connectionFactory); Connection connection = null; Session session = null; try { ConnectionFactory cf = (ConnectionFactory) bundleContext.getService(reference); - connection = cf.createConnection(); + connection = cf.createConnection(username, password); session = connection.createSession(true, Session.SESSION_TRANSACTED); MessageConsumer consumer = session.createConsumer(session.createQueue(sourceQueue), selector); Message message;
