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