You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2013/12/19 15:31:16 UTC
[01/19] git commit: Update index, manual and navigation
Updated Branches:
refs/heads/master d6251d587 -> 04836b61e
Update index, manual and navigation
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/1ef6dd8d
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/1ef6dd8d
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/1ef6dd8d
Branch: refs/heads/master
Commit: 1ef6dd8d0123a1d4329ff185249ae632d865b7fb
Parents: 0047897
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Wed Dec 18 07:35:39 2013 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Wed Dec 18 07:35:39 2013 +0100
----------------------------------------------------------------------
manual/src/main/webapp/_navigation.conf | 2 +-
manual/src/main/webapp/manual.conf | 1 +
manual/src/main/webapp/users-guide/index.conf | 2 +-
3 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/1ef6dd8d/manual/src/main/webapp/_navigation.conf
----------------------------------------------------------------------
diff --git a/manual/src/main/webapp/_navigation.conf b/manual/src/main/webapp/_navigation.conf
index 72cdb3c..ae3169f 100644
--- a/manual/src/main/webapp/_navigation.conf
+++ b/manual/src/main/webapp/_navigation.conf
@@ -25,7 +25,7 @@ h3. [Users Guide|/users-guide/index]
-- [Naming (JNDI)|/users-guide/jndi]
-- Transaction (JTA)
-- [DataSource (JDBC)|/users-guide/jdbc]
--- MOM (JMS)
+-- [MOM (JMS)|/users-guide/jms]
-- Persistence (JPA)
-- OpenEJB
-- CDI
http://git-wip-us.apache.org/repos/asf/karaf/blob/1ef6dd8d/manual/src/main/webapp/manual.conf
----------------------------------------------------------------------
diff --git a/manual/src/main/webapp/manual.conf b/manual/src/main/webapp/manual.conf
index b24564d..2564804 100644
--- a/manual/src/main/webapp/manual.conf
+++ b/manual/src/main/webapp/manual.conf
@@ -53,6 +53,7 @@ h1. Users Guide
{include:users-guide/webcontainer}
{include:users-guide/jndi}
{include:users-guide/jdbc}
+{include:users-guide/jms}
{include:users-guide/failover}
{include:users-guide/monitoring}
{include:users-guide/webconsole}
http://git-wip-us.apache.org/repos/asf/karaf/blob/1ef6dd8d/manual/src/main/webapp/users-guide/index.conf
----------------------------------------------------------------------
diff --git a/manual/src/main/webapp/users-guide/index.conf b/manual/src/main/webapp/users-guide/index.conf
index 09ce6e9..f24f9a9 100644
--- a/manual/src/main/webapp/users-guide/index.conf
+++ b/manual/src/main/webapp/users-guide/index.conf
@@ -20,7 +20,7 @@ h1. Users Guide
** [Naming (JNDI)|jndi]
** Transaction (JTA)
** [DataSource (JDBC)|jdbc]
-** MOM (JMS)
+** [MOM (JMS)|jms]
** Persistence (JPA)
** OpenEJB
** CDI
[15/19] git commit: JMS doc
Posted by jb...@apache.org.
JMS doc
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/e45919d8
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/e45919d8
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/e45919d8
Branch: refs/heads/master
Commit: e45919d8b5daf094bf906e6a267efd30cc6d9934
Parents: c8fd176
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Thu Dec 19 14:10:45 2013 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Thu Dec 19 14:10:45 2013 +0100
----------------------------------------------------------------------
manual/src/main/webapp/users-guide/jms.conf | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/e45919d8/manual/src/main/webapp/users-guide/jms.conf
----------------------------------------------------------------------
diff --git a/manual/src/main/webapp/users-guide/jms.conf b/manual/src/main/webapp/users-guide/jms.conf
index ae5218d..1c8e57d 100644
--- a/manual/src/main/webapp/users-guide/jms.conf
+++ b/manual/src/main/webapp/users-guide/jms.conf
@@ -120,7 +120,17 @@ JMS Connection Factory
h3. {{jms:info}}
-The {{jms:info}} command
+The {{jms:info}} command provides details about the JMS connection factory:
+
+{code}
+karaf@root()> jms:info /jms/test
+Property | Value
+-------------------
+product | ActiveMQ
+version | 5.9.0
+{code}
+
+You can see the JMS broker product and version.
h3. {{jms:send}}
@@ -132,4 +142,7 @@ For instance, to send a message containing {{Hello World}} in the {{test}} queue
karaf@root()> jms:send /jms/test test "Hello World"
{code}
+The {{jms:send}} command optionally accepts the {{-u}} ({{--username}}) and {{-p}} ({{--password}}) options to provide
+the username and password to connect to the JMS broker.
+
h3. {{jms:consume}}
[04/19] git commit: Merge branch 'master' into jms_doc
Posted by jb...@apache.org.
Merge branch 'master' into jms_doc
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/787dbd9b
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/787dbd9b
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/787dbd9b
Branch: refs/heads/master
Commit: 787dbd9b0acc0c5c2725b7833ca5ed84c663cbde
Parents: 5efa1a5 2a8d6f3
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Wed Dec 18 09:15:40 2013 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Wed Dec 18 09:15:40 2013 +0100
----------------------------------------------------------------------
pom.xml | 1 -
1 file changed, 1 deletion(-)
----------------------------------------------------------------------
[18/19] git commit: Merge branch 'master' into doc
Posted by jb...@apache.org.
Merge branch 'master' into doc
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/30c0d563
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/30c0d563
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/30c0d563
Branch: refs/heads/master
Commit: 30c0d563a5f865f630b47bbfde8fcaf521bacf9a
Parents: 1a1b57c d6251d5
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Thu Dec 19 15:05:22 2013 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Thu Dec 19 15:05:22 2013 +0100
----------------------------------------------------------------------
.../apache/karaf/jms/command/BrowseCommand.java | 8 +----
.../java/org/apache/karaf/jms/JmsMessage.java | 37 ++++++++++++--------
.../apache/karaf/jms/internal/JmsMBeanImpl.java | 2 +-
.../karaf/jms/internal/JmsServiceImpl.java | 1 +
4 files changed, 26 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
[12/19] git commit: Merge branch 'master' into doc
Posted by jb...@apache.org.
Merge branch 'master' into doc
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/2b970c8c
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/2b970c8c
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/2b970c8c
Branch: refs/heads/master
Commit: 2b970c8c1d3fcdb95bf3c3f64134e3440e6489ba
Parents: 384540d e00f8d4
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Thu Dec 19 07:07:19 2013 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Thu Dec 19 07:07:19 2013 +0100
----------------------------------------------------------------------
.../resources/resources/etc/system.properties | 2 +-
.../features/FeatureDeploymentListener.java | 142 ++++++++++---------
.../instance/resources/etc/system.properties | 2 +-
.../org/apache/karaf/shell/ssh/SshUtils.java | 99 +++++++++++++
.../resources/OSGI-INF/blueprint/shell-ssh.xml | 12 ++
5 files changed, 190 insertions(+), 67 deletions(-)
----------------------------------------------------------------------
[19/19] git commit: [KARAF-2511] Complete the jms page in the user
guide [KARAF-2549] Fix browsing operation in the JMS MBean
Posted by jb...@apache.org.
[KARAF-2511] Complete the jms page in the user guide
[KARAF-2549] Fix browsing operation in the JMS MBean
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/04836b61
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/04836b61
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/04836b61
Branch: refs/heads/master
Commit: 04836b61efc441d4727ca8188bb973b258ff1f1f
Parents: 30c0d56
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Thu Dec 19 15:29:16 2013 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Thu Dec 19 15:29:16 2013 +0100
----------------------------------------------------------------------
.../apache/karaf/jms/internal/JmsMBeanImpl.java | 2 +-
.../karaf/jms/internal/JmsServiceImpl.java | 1 +
manual/src/main/webapp/users-guide/jdbc.conf | 4 +-
manual/src/main/webapp/users-guide/jms.conf | 58 +++++++++++++++++++-
4 files changed, 61 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/04836b61/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 51de7e7..cc46434 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
@@ -134,7 +134,7 @@ public class JmsMBeanImpl implements JmsMBean {
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() }
+ new Object[]{ message.getMessageId(), message.getContent(), message.getCharset(), message.getType(), message.getCorrelationID(), message.getDeliveryMode(), message.getDestination(), message.getExpiration(), message.getPriority(), message.isRedelivered(), message.getReplyTo(), message.getTimestamp() }
);
table.put(data);
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/04836b61/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 b39e31a..9be6f6a 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
@@ -332,6 +332,7 @@ public class JmsServiceImpl implements JmsService {
count++;
}
} while (message != null);
+ session.commit();
} finally {
if (session != null) {
session.close();
http://git-wip-us.apache.org/repos/asf/karaf/blob/04836b61/manual/src/main/webapp/users-guide/jdbc.conf
----------------------------------------------------------------------
diff --git a/manual/src/main/webapp/users-guide/jdbc.conf b/manual/src/main/webapp/users-guide/jdbc.conf
index abcaead..7950b31 100644
--- a/manual/src/main/webapp/users-guide/jdbc.conf
+++ b/manual/src/main/webapp/users-guide/jdbc.conf
@@ -186,9 +186,9 @@ REF_GENERATION | TYPE_NAME | TABLE_NAME | TYPE_CAT | REMARKS | TYPE_SCHEM
| | PERSON | | | | TABLE | APP | |
{code}
-h2. JMX JdbcMBean
+h2. JMX JDBC MBean
-The JMX JdbcMBean provides the JDBC datasources, and the operations to manipulate datasources and database.
+The JMX JDBC MBean provides the JDBC datasources, and the operations to manipulate datasources and database.
The object name to use is {{org.apache.karaf:type=jdbc,name=*}}.
http://git-wip-us.apache.org/repos/asf/karaf/blob/04836b61/manual/src/main/webapp/users-guide/jms.conf
----------------------------------------------------------------------
diff --git a/manual/src/main/webapp/users-guide/jms.conf b/manual/src/main/webapp/users-guide/jms.conf
index 5cb460a..c9d6896 100644
--- a/manual/src/main/webapp/users-guide/jms.conf
+++ b/manual/src/main/webapp/users-guide/jms.conf
@@ -201,6 +201,8 @@ karaf@root()> jms:consume /jms/test MyQueue
2 message(s) consumed
{code}
+If you want to consume only some messages, you can define a selector using the {{-s}} ({{--selector}}) option.
+
If the JMS broker requires an authentication, you can use the {{-u}} ({{--username}}) and {{-p}} ({{--password}}) options.
{warning}
@@ -230,5 +232,59 @@ The {{jms:browse}} command browses a JMS queue and display details about message
For instance, to browse the {{MyQueue}} queue:
{code}
+karaf@root()> jms:browse /jms/test MyQueue
+Message ID | Content | Charset | Type | Correlation ID | Delivery Mode | Destination | Expiration | Priority | Redelivered | ReplyTo | Timestamp
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ID:vostro-59602-1387462183019-3:1:1:1:1 | Hello World | UTF-8 | | | Persistent | queue://MyQueue | Never | 4 | false | | Thu Dec 19 15:10:12 CET 2013
+ID:vostro-59602-1387462183019-3:2:1:1:1 | Hello ActiveMQ | UTF-8 | | | Persistent | queue://MyQueue | Never | 4 | false | | Thu Dec 19 15:10:16 CET 2013
+ID:vostro-59602-1387462183019-3:3:1:1:1 | Hello Karaf | UTF-8 | | | Persistent | queue://MyQueue | Never | 4 | false | | Thu Dec 19 15:10:19 CET 2013
+{code}
+
+By default, the messages properties are not displayed. You can use the {{-v}} ({{--verbose}}) option to display the properties:
+
+{code}
+karaf@root()> jms:browse -v /jms/test MyQueue
+Message ID | Content | Charset | Type | Correlation ID | Delivery Mode | Destination | Expiration | Priority | Redelivered | ReplyTo | Timestamp | Properties
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ID:vostro-59602-1387462183019-3:1:1:1:1 | Hello World | UTF-8 | | | Persistent | queue://MyQueue | Never | 4 | false | | Thu Dec 19 15:10:12 CET 2013 |
+ID:vostro-59602-1387462183019-3:2:1:1:1 | Hello ActiveMQ | UTF-8 | | | Persistent | queue://MyQueue | Never | 4 | false | | Thu Dec 19 15:10:16 CET 2013 |
+ID:vostro-59602-1387462183019-3:3:1:1:1 | Hello Karaf | UTF-8 | | | Persistent | queue://MyQueue | Never | 4 | false | | Thu Dec 19 15:10:19 CET 2013 |
+{code}
+
+If you want to browse only some messages, you can define a selector using the {{-s}} ({{--selector}}) option.
+
+If the JMS broker requires an authentication, you can use the {{-u}} ({{--username}}) and {{-p}} ({{--password}}) options.
+
+h3. {{jms:move}}
+
+The {{jms:move}} command consumes all messages from a JMS queue and send it to another one.
+
+For instance, to move all messages from {{MyQueue}} queue to {{AnotherQueue}} queue, you can do:
+
+{code}
+karaf@root()> jms:move /jms/test MyQueue AnotherQueue
+3 message(s) moved
+{code}
+
+h2. JMX JMS MBean
+
+The JMX JMS MBean provides the attributes and operations to manipulate the JMS connection factories and JMS messages.
+
+The object name to use is {{org.apache.karaf:type=jms,name=*}}.
+
+h3. Attributes
+
+The {{Connectionfactories}} attribute provides the list of all JMS connection factories names.
+
+h3. Operations
-{code}
\ No newline at end of file
+* {{create(name, type, url)}} creates a JMS connection factory.
+* {{delete(name)}} deletes a JMS connection factory.
+* {{Map<String, String> info(connectionFactory, username, password)}} gets details about a JMS connection factory and broker.
+* {{int count(connectionFactory, queue, username, password)}} counts the number of pending messages on a JMS queue.
+* {{List<String> queues(connectionFactory, username, password)}} lists the JMS queues available on the JMS broker.
+* {{List<String> topics(connectionFactory, username, password)}} lists the JMS topics available on the JMS broker.
+* {{TabularData browse(connectionFactory, queue, selector, username, password)}} browses a JMS queue and provides a table of JMS messages.
+* {{send(connectionFactory, queue, content, replyTo, username, password)}} sends a JMS message to a target queue.
+* {{int consume(connectionFactory, queue, selector, username, password)}} consumes JMS messages from a JMS queue.
+* {{int move(connectionFactory, source, destination, selector, username, password)}} moves messages from a JMS queue to another.
\ No newline at end of file
[09/19] git commit: Continue jms page
Posted by jb...@apache.org.
Continue jms page
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/773079b1
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/773079b1
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/773079b1
Branch: refs/heads/master
Commit: 773079b1f4e7dcaf88559a976ed48e2ea7434462
Parents: 54a5008
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Wed Dec 18 20:51:03 2013 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Wed Dec 18 20:51:03 2013 +0100
----------------------------------------------------------------------
manual/src/main/webapp/users-guide/jdbc.conf | 2 +-
manual/src/main/webapp/users-guide/jms.conf | 12 +++++++++++-
2 files changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/773079b1/manual/src/main/webapp/users-guide/jdbc.conf
----------------------------------------------------------------------
diff --git a/manual/src/main/webapp/users-guide/jdbc.conf b/manual/src/main/webapp/users-guide/jdbc.conf
index 2d94e1a..abcaead 100644
--- a/manual/src/main/webapp/users-guide/jdbc.conf
+++ b/manual/src/main/webapp/users-guide/jdbc.conf
@@ -54,7 +54,7 @@ OPTIONS
{code}
-* the {{name}} argument is required. It's the name of the datasource. The name is used to identify the datasource, and to create the datasource definition file ({{deploy/datasource-[name].xml}}.
+* the {{name}} argument is required. It's the name of the datasource. The name is used to identify the datasource, and to create the datasource definition file ({{deploy/datasource-[name].xml}}).
* the {{-u}} option is optional. It defines the database username.
* the {{-v}} option is optional. It "forces" a given JDBC driver version (only used with the {{-i}} option).
* the {{-t}} option is required. It defines the JDBC datasource type. Accepted values are: MySQL, Oracle, Postgres, Derby, H2, HSQL, Generic. Generic is a generic configuration file using DBCP. When using generic, it's up to you to install the JDBC driver and configure the {{deploy/datasource-[name].xml}} datasource file.
http://git-wip-us.apache.org/repos/asf/karaf/blob/773079b1/manual/src/main/webapp/users-guide/jms.conf
----------------------------------------------------------------------
diff --git a/manual/src/main/webapp/users-guide/jms.conf b/manual/src/main/webapp/users-guide/jms.conf
index 50898ba..ea13a22 100644
--- a/manual/src/main/webapp/users-guide/jms.conf
+++ b/manual/src/main/webapp/users-guide/jms.conf
@@ -45,4 +45,14 @@ The {{jms:create}} command accepts different arguments and options:
{code}
-{code}
\ No newline at end of file
+{code}
+
+* the {{name}} argument is required. It's the name of the JMS connection factory. The name is used to identify the connection factory, and to create the connection factory definition file ({{deploy/connectionfactory-[name].xml}}).
+* the {{-t}} ({{--type}}) option is required. It's the type of the JMS connection factory. Currently on {{activemq}} and {{webspheremq}} type are supported. If you want to use another type of JMS connection factory, you can create the {{deploy/connectionfactory-[name].xml}} file by hand (using one as template).
+* the {{-u}} ({{--url}}) option is required. It's the URL used by the JMS connection factory to connect to the broker. If the type is {{activemq}}, the URL looks like {{tcp://localhost:61616}}. If the type is {{webspheremq}}, the URL looks like {{host/port/queuemanager/channel}}.
+
+For instance, to create a JMS connection factory for a Apache ActiveMQ broker, you can do:
+
+{code}
+
+{code}
[14/19] git commit: Merge branch 'master' into doc
Posted by jb...@apache.org.
Merge branch 'master' into doc
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/c8fd1765
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/c8fd1765
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/c8fd1765
Branch: refs/heads/master
Commit: c8fd176572df60164c5b9e4a5407db46150781c2
Parents: 77c6a94 2f57d0a
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Thu Dec 19 10:44:36 2013 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Thu Dec 19 10:44:36 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(-)
----------------------------------------------------------------------
[03/19] git commit: Add JMS page
Posted by jb...@apache.org.
Add JMS page
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/5efa1a5f
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/5efa1a5f
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/5efa1a5f
Branch: refs/heads/master
Commit: 5efa1a5f574f909735e0aa7576fabb837416daf6
Parents: 3d00570
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Wed Dec 18 09:13:19 2013 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Wed Dec 18 09:13:19 2013 +0100
----------------------------------------------------------------------
manual/src/main/webapp/users-guide/jms.conf | 27 ++++++++++++++++++++++++
1 file changed, 27 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/5efa1a5f/manual/src/main/webapp/users-guide/jms.conf
----------------------------------------------------------------------
diff --git a/manual/src/main/webapp/users-guide/jms.conf b/manual/src/main/webapp/users-guide/jms.conf
new file mode 100644
index 0000000..f06db63
--- /dev/null
+++ b/manual/src/main/webapp/users-guide/jms.conf
@@ -0,0 +1,27 @@
+h1. MOM (JMS)
+
+The Apache Karaf MOM (Messaging Oriented Middleware/JMS) is an optional enterprise feature.
+
+You have to install the {{jms}} feature first:
+
+{code}
+karaf@root()> feature:install jms
+{code}
+
+The {{jms}} feature doesn't install a JMS broker: it just installs the OSGi service, commands, and MBean to interact with
+a JMS broker (not the broker itself).
+
+It means that you have to install a JMS broker itself.
+
+This JMS broker can be available:
+
+* outside of Apache Karaf, as a standalone broker. In that case, Apache Karaf JMS will remotely connect to the JMS broker.
+* embedded in Apache Karaf.
+
+For instance, you can install Apache ActiveMQ directly in Apache Karaf:
+
+{code}
+karaf@root()> feature:repo-add activemq
+Adding feature url mvn:org.apache.activemq/activemq-karaf/LATEST/xml/features
+karaf@root()> feature:install activemq-broker
+{code}
\ No newline at end of file
[10/19] git commit: Merge branch 'master' into jms_doc
Posted by jb...@apache.org.
Merge branch 'master' into jms_doc
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/43cf6575
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/43cf6575
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/43cf6575
Branch: refs/heads/master
Commit: 43cf657535082f5e4a852e175daade965aaea54d
Parents: 773079b 9c8f533
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Wed Dec 18 21:38:51 2013 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Wed Dec 18 21:38:51 2013 +0100
----------------------------------------------------------------------
.../connectionFactory-webspheremq.xml | 20 --------------
.../connectionfactory-activemq.xml | 28 --------------------
.../jms/internal/connectionfactory-activemq.xml | 28 ++++++++++++++++++++
.../internal/connectionfactory-webspheremq.xml | 20 ++++++++++++++
pom.xml | 2 +-
5 files changed, 49 insertions(+), 49 deletions(-)
----------------------------------------------------------------------
[02/19] git commit: Merge branch 'master' into jms_doc
Posted by jb...@apache.org.
Merge branch 'master' into jms_doc
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/3d005709
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/3d005709
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/3d005709
Branch: refs/heads/master
Commit: 3d005709cde4e4662e104d25c6370b9bfe89a607
Parents: 1ef6dd8 280a0df
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Wed Dec 18 07:51:24 2013 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Wed Dec 18 07:51:24 2013 +0100
----------------------------------------------------------------------
.../java/org/apache/karaf/tooling/features/DependencyHelper.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
[06/19] git commit: Merge branch 'master' into jms_doc
Posted by jb...@apache.org.
Merge branch 'master' into jms_doc
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/69ce8946
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/69ce8946
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/69ce8946
Branch: refs/heads/master
Commit: 69ce8946b1e1f0d7ae5bdfcddb14997814cb0de1
Parents: e49e3e5 aed3b08
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Wed Dec 18 14:54:35 2013 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Wed Dec 18 14:54:35 2013 +0100
----------------------------------------------------------------------
.../src/main/resources/OSGI-INF/blueprint/webconsole-features.xml | 1 +
.../gogo/src/main/resources/OSGI-INF/blueprint/webconsole-gogo.xml | 1 +
.../src/main/resources/OSGI-INF/blueprint/webconsole-instance.xml | 1 +
3 files changed, 3 insertions(+)
----------------------------------------------------------------------
[16/19] git commit: Merge branch 'master' into doc
Posted by jb...@apache.org.
Merge branch 'master' into doc
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/ffa9ac0b
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/ffa9ac0b
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/ffa9ac0b
Branch: refs/heads/master
Commit: ffa9ac0b4fa8825c5f438a03f6ff6ba9f015573d
Parents: e45919d ab10651
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Thu Dec 19 14:18:28 2013 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Thu Dec 19 14:18:28 2013 +0100
----------------------------------------------------------------------
RELEASE-NOTES | 1171 +++++++++++++++++-
.../karaf/jms/internal/JmsServiceImpl.java | 8 +
2 files changed, 1177 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
[08/19] git commit: Merge branch 'master' into jms_doc
Posted by jb...@apache.org.
Merge branch 'master' into jms_doc
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/54a50084
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/54a50084
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/54a50084
Branch: refs/heads/master
Commit: 54a50084338ea01514bad89250ab02fc881e3b57
Parents: 46e1403 96b36a6
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Wed Dec 18 18:51:04 2013 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Wed Dec 18 18:51:04 2013 +0100
----------------------------------------------------------------------
.../src/main/resources/resources/etc/all.policy | 22 +++
.../resources/resources/etc/system.properties | 10 ++
.../standard/src/main/feature/feature.xml | 4 +
.../apache/karaf/jaas/modules/JaasHelper.java | 137 +++++++++++++++++++
pom.xml | 8 +-
.../impl/jline/ConsoleFactoryService.java | 9 +-
.../apache/karaf/shell/ssh/ShellCommand.java | 9 +-
webconsole/console/pom.xml | 5 +
.../webconsole/internal/KarafOsgiManager.java | 12 +-
9 files changed, 211 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
[17/19] git commit: Continue the JMS feature documentation
Posted by jb...@apache.org.
Continue the JMS feature documentation
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/1a1b57cb
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/1a1b57cb
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/1a1b57cb
Branch: refs/heads/master
Commit: 1a1b57cbdd4aeea6a7c3b1d21799af024286533a
Parents: ffa9ac0
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Thu Dec 19 14:33:29 2013 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Thu Dec 19 14:33:29 2013 +0100
----------------------------------------------------------------------
manual/src/main/webapp/users-guide/jms.conf | 96 ++++++++++++++++++++++--
1 file changed, 91 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/1a1b57cb/manual/src/main/webapp/users-guide/jms.conf
----------------------------------------------------------------------
diff --git a/manual/src/main/webapp/users-guide/jms.conf b/manual/src/main/webapp/users-guide/jms.conf
index 1c8e57d..5cb460a 100644
--- a/manual/src/main/webapp/users-guide/jms.conf
+++ b/manual/src/main/webapp/users-guide/jms.conf
@@ -99,6 +99,10 @@ karaf@root()> la
The {{connectionfactory-test.xml}} file has been created in the {{deploy}} folder.
+By default, the {{jms:create}} command constructs a JNDI name for the connection factory: {{/jms/[name]}}.
+
+It means that the connection factory name to use for the other {{jms:*}} commands is {{/jms/[name]}}.
+
h3. {{jms:delete}}
The {{jms:delete}} command deletes a JMS connection factory. The {{name}} argument is the name that you used at creation time:
@@ -132,17 +136,99 @@ version | 5.9.0
You can see the JMS broker product and version.
+If the JMS broker requires an authentication, you can use the {{-u}} ({{--username}}) and {{-p}} ({{--password}}) options.
+
+h3. {{jms:queues}}
+
+The {{jms:queues}} command lists the JMS queues available on a JMS broker. For instance:
+
+{code}
+karaf@root()> jms:queues /jms/test
+JMS Queues
+----------
+MyQueue
+{code}
+
+where {{/jms/test}} is the name of the JMS connection factory.
+
+If the JMS broker requires an authentication, you can use the {{-u}} ({{--username}}) and {{-p}} ({{--password}}) options.
+
+{warning}
+Depending of the JMS connection factory type, this command may not work.
+For now, the command works only with Apache ActiveMQ.
+{warning}
+
+h3. {{jms:topics}}
+
+The {{jms:topics}} command lists the JMS topics available on a JMS broker. For instance:
+
+{code}
+karaf@root()> jms:topics /jms/test
+JMS Topics
+----------
+MyTopic
+{code}
+
+where {{/jms/test}} is the name of the JMS connection factory.
+
+If the JMS broker requires an authentication, you can use the {{-u}} ({{--username}}) and {{-p}} ({{--password}}) options.
+
+{warning}
+Depending of the JMS connection factory type, this command may not work.
+For now, the command works only with Apache ActiveMQ.
+{warning}
+
h3. {{jms:send}}
-The {{jms:send}} command sends a message to a given JMS queue on the broker.
+The {{jms:send}} command sends a message to a given JMS queue.
-For instance, to send a message containing {{Hello World}} in the {{test}} queue, you can do:
+For instance, to send a message containing {{Hello World}} in the {{MyQueue}} queue, you can do:
{code}
-karaf@root()> jms:send /jms/test test "Hello World"
+karaf@root()> jms:send /jms/test MyQueue "Hello World"
{code}
-The {{jms:send}} command optionally accepts the {{-u}} ({{--username}}) and {{-p}} ({{--password}}) options to provide
-the username and password to connect to the JMS broker.
+If the JMS broker requires an authentication, you can use the {{-u}} ({{--username}}) and {{-p}} ({{--password}}) options.
h3. {{jms:consume}}
+
+The {{jms:consume}} command consumes messages from a JMS queue.
+
+For instance, to consume all messages from {{MyQueue}}, you can do:
+
+{code}
+karaf@root()> jms:consume /jms/test MyQueue
+2 message(s) consumed
+{code}
+
+If the JMS broker requires an authentication, you can use the {{-u}} ({{--username}}) and {{-p}} ({{--password}}) options.
+
+{warning}
+The {{jms:consume}} command just consumes (so removes) messages from a JMS queue. It doesn't display the messages.
+If you want to see the details of messages, you can use the {{jms:browse}} command.
+{warning}
+
+h3. {{jms:count}}
+
+The {{jms:count}} command counts the number of pending messages into a JMS queue.
+
+For instance, if you want to know the number of messages on {{MyQueue}}, you can do:
+
+{code}
+karaf@root()> jms:count /jms/test MyQueue
+Messages Count
+--------------
+8
+{code}
+
+If the JMS broker requires an authentication, you can use the {{-u}} ({{--username}}) and {{-p}} ({{--password}}) options.
+
+h3. {{jms:browse}}
+
+The {{jms:browse}} command browses a JMS queue and display details about messages.
+
+For instance, to browse the {{MyQueue}} queue:
+
+{code}
+
+{code}
\ No newline at end of file
[11/19] git commit: Doc
Posted by jb...@apache.org.
Doc
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/384540d4
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/384540d4
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/384540d4
Branch: refs/heads/master
Commit: 384540d402f648c6cec00c900ec442054387ef21
Parents: 43cf657
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Thu Dec 19 06:40:51 2013 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Thu Dec 19 06:40:51 2013 +0100
----------------------------------------------------------------------
manual/src/main/webapp/users-guide/jms.conf | 60 ++++++++++++++++++++++++
1 file changed, 60 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/384540d4/manual/src/main/webapp/users-guide/jms.conf
----------------------------------------------------------------------
diff --git a/manual/src/main/webapp/users-guide/jms.conf b/manual/src/main/webapp/users-guide/jms.conf
index ea13a22..d411669 100644
--- a/manual/src/main/webapp/users-guide/jms.conf
+++ b/manual/src/main/webapp/users-guide/jms.conf
@@ -44,6 +44,26 @@ to the type that you mentioned.
The {{jms:create}} command accepts different arguments and options:
{code}
+karaf@root()> jms:create --help
+DESCRIPTION
+ jms:create
+
+ Create a JMS connection factory.
+
+SYNTAX
+ jms:create [options] name
+
+ARGUMENTS
+ name
+ The JMS connection factory name
+
+OPTIONS
+ -u, --url
+ The JMS URL. NB: for WebsphereMQ type, the URL is hostname/port/queuemanager/channel
+ --help
+ Display this help message
+ -t, --type
+ The JMS connection factory type (ActiveMQ or WebsphereMQ)
{code}
@@ -54,5 +74,45 @@ The {{jms:create}} command accepts different arguments and options:
For instance, to create a JMS connection factory for a Apache ActiveMQ broker, you can do:
{code}
+karaf@root()> jms:create -t activemq -u tcp://localhost:61616 test
+{code}
+
+{warning}
+The {{jms:create}} command doesn't install any feature or bundle providing the JMS connection factory classes (and dependencies).
+You have to install the required features (for instance {{activemq-broker}} feature for Apache ActiveMQ), or bundles (for IBM WebsphereMQ) providing the JMS connection factory packages and classes.
+{warning}
+
+In the previous example, we assume that you previously installed the {{activemq-broker}} feature.
+
+We can see the created JMS connection factory:
+
+{code}
+karaf@root()> la
+...
+151 | Active | 80 | 0.0.0 | connectionfactory-test.xml
+{code}
+
+The {{connectionfactory-test.xml}} file has been created in the {{deploy}} folder.
+
+h3. {{jms:delete}}
+
+The {{jms:delete}} command deletes a JMS connection factory. The {{name}} argument is the name that you used at creation time:
+
+{code}
+karaf@root()> jms:delete test
+{code}
+h3. {{jms:connectionfactories}}
+
+The {{jms:connectionfactories}} command lists the JMS connection factories:
+
+{code}
+karaf@root()> jms:connectionfactories
+JMS Connection Factory
+----------------------
+/jms/test
{code}
+
+h3. {{jms:send}}
+
+The {{jms:send}} command sends a message to a given JMS queue on the broker.
[05/19] git commit: Merge branch 'master' into jms_doc
Posted by jb...@apache.org.
Merge branch 'master' into jms_doc
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/e49e3e5f
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/e49e3e5f
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/e49e3e5f
Branch: refs/heads/master
Commit: e49e3e5f85b1844ee548f136a77a8569b47e297a
Parents: 787dbd9 6e376ce
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Wed Dec 18 11:18:00 2013 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Wed Dec 18 11:18:00 2013 +0100
----------------------------------------------------------------------
.../main/filtered-resources/resources/bin/karaf | 2 +-
.../filtered-resources/resources/bin/karaf.bat | 2 +-
.../core/internal/InstanceServiceImpl.java | 8 +-
.../org/apache/karaf/main/ConfigProperties.java | 9 +-
.../apache/karaf/main/lock/DefaultJDBCLock.java | 109 +++-
.../apache/karaf/main/lock/GenericJDBCLock.java | 589 +++++++++++++++++++
.../karaf/main/lock/GenericStatements.java | 243 ++++++++
7 files changed, 928 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
[13/19] git commit: Doc
Posted by jb...@apache.org.
Doc
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/77c6a948
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/77c6a948
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/77c6a948
Branch: refs/heads/master
Commit: 77c6a94838eddb1f60aa55b2ce69cf748bf43cfa
Parents: 2b970c8
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Thu Dec 19 09:20:28 2013 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Thu Dec 19 09:20:28 2013 +0100
----------------------------------------------------------------------
manual/src/main/webapp/users-guide/jms.conf | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/77c6a948/manual/src/main/webapp/users-guide/jms.conf
----------------------------------------------------------------------
diff --git a/manual/src/main/webapp/users-guide/jms.conf b/manual/src/main/webapp/users-guide/jms.conf
index d411669..ae5218d 100644
--- a/manual/src/main/webapp/users-guide/jms.conf
+++ b/manual/src/main/webapp/users-guide/jms.conf
@@ -28,6 +28,11 @@ Adding feature url mvn:org.apache.activemq/activemq-karaf/LATEST/xml/features
karaf@root()> feature:install activemq-broker
{code}
+The {{activemq-broker}} feature installs:
+
+* a Apache ActiveMQ broker directly in Apache Karaf, bind to the {{61616}} port number by default.
+* the Apache ActiveMQ WebConsole bound to {{http://0.0.0.0:8181/activemqweb}} by default.
+
The Apache Karaf {{jms}} feature provides an OSGi service to create/delete JMS connection factories in the container
and perform JMS operations (send or consume messages, get information about a JMS broker, list the destinations, ...).
@@ -113,6 +118,18 @@ JMS Connection Factory
/jms/test
{code}
+h3. {{jms:info}}
+
+The {{jms:info}} command
+
h3. {{jms:send}}
-The {{jms:send}} command sends a message to a given JMS queue on the broker.
+The {{jms:send}} command sends a message to a given JMS queue on the broker.
+
+For instance, to send a message containing {{Hello World}} in the {{test}} queue, you can do:
+
+{code}
+karaf@root()> jms:send /jms/test test "Hello World"
+{code}
+
+h3. {{jms:consume}}
[07/19] git commit: Continue the JMS documentation
Posted by jb...@apache.org.
Continue the JMS documentation
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/46e14032
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/46e14032
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/46e14032
Branch: refs/heads/master
Commit: 46e14032e99ac79ce2d9f6c6ed96646230835b49
Parents: 69ce894
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Wed Dec 18 15:57:34 2013 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Wed Dec 18 15:57:34 2013 +0100
----------------------------------------------------------------------
manual/src/main/webapp/users-guide/jms.conf | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/46e14032/manual/src/main/webapp/users-guide/jms.conf
----------------------------------------------------------------------
diff --git a/manual/src/main/webapp/users-guide/jms.conf b/manual/src/main/webapp/users-guide/jms.conf
index f06db63..50898ba 100644
--- a/manual/src/main/webapp/users-guide/jms.conf
+++ b/manual/src/main/webapp/users-guide/jms.conf
@@ -16,7 +16,9 @@ It means that you have to install a JMS broker itself.
This JMS broker can be available:
* outside of Apache Karaf, as a standalone broker. In that case, Apache Karaf JMS will remotely connect to the JMS broker.
-* embedded in Apache Karaf.
+ For instance, you can use this topology with Apache ActiveMQ or IBM WebsphereMQ.
+* embedded in Apache Karaf. With this topology, Apache Karaf itself provides a JMS broker service. Apache ActiveMQ provides
+ a native support in Apache Karaf.
For instance, you can install Apache ActiveMQ directly in Apache Karaf:
@@ -24,4 +26,23 @@ For instance, you can install Apache ActiveMQ directly in Apache Karaf:
karaf@root()> feature:repo-add activemq
Adding feature url mvn:org.apache.activemq/activemq-karaf/LATEST/xml/features
karaf@root()> feature:install activemq-broker
+{code}
+
+The Apache Karaf {{jms}} feature provides an OSGi service to create/delete JMS connection factories in the container
+and perform JMS operations (send or consume messages, get information about a JMS broker, list the destinations, ...).
+
+This JMS OSGi service can be manipulated programmatically (see the developer guide for details), using the {{jms:*}} commands, or using the JMS MBean.
+
+h2. Commands
+
+h3. {{jms:create}}
+
+The {{jms:create}} command creates a JMS connection factory in the Apache Karaf container. It automatically creates a
+blueprint XML file in the {{deploy}} folder containing the JMS connection factory definition corresponding
+to the type that you mentioned.
+
+The {{jms:create}} command accepts different arguments and options:
+
+{code}
+
{code}
\ No newline at end of file