You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by an...@apache.org on 2016/11/09 13:13:42 UTC

[6/6] activemq-artemis git commit: removal of all JMS control objects

removal of all JMS control objects


Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/a6f1167d
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/a6f1167d
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/a6f1167d

Branch: refs/heads/ARTEMIS-780
Commit: a6f1167d7058af30099a42aa129143dce2170023
Parents: dfe9557
Author: Andy Taylor <an...@gmail.com>
Authored: Wed Nov 9 12:56:07 2016 +0000
Committer: Andy Taylor <an...@gmail.com>
Committed: Wed Nov 9 13:13:05 2016 +0000

----------------------------------------------------------------------
 .../cli/commands/tools/XmlDataImporter.java     |   19 +-
 .../core/management/ActiveMQServerControl.java  |    4 +
 .../api/core/management/AddressControl.java     |    3 +
 .../api/core/management/ResourceNames.java      |   26 +-
 .../management/ConnectionFactoryControl.java    |  399 -----
 .../api/jms/management/DestinationControl.java  |   79 -
 .../api/jms/management/JMSConnectionInfo.java   |   87 -
 .../api/jms/management/JMSConsumerInfo.java     |  120 --
 .../api/jms/management/JMSQueueControl.java     |  443 -----
 .../api/jms/management/JMSServerControl.java    |  381 ----
 .../api/jms/management/JMSSessionInfo.java      |   54 -
 .../api/jms/management/SubscriptionInfo.java    |  130 --
 .../api/jms/management/TopicControl.java        |  153 --
 .../jms/server/impl/JMSServerManagerImpl.java   |    2 +-
 .../impl/ActiveMQServerControlImpl.java         |   12 +
 .../management/impl/AddressControlImpl.java     |   69 +-
 .../cluster/impl/ClusterConnectionBridge.java   |    2 +-
 .../core/server/impl/ScaleDownHandler.java      |    2 +-
 .../management/impl/ManagementServiceImpl.java  |   30 +-
 .../artemis/jms/example/JMXExample.java         |    9 +-
 .../jms/example/MessageCounterExample.java      |    4 +-
 .../artemiswrapper/OpenwireArtemisBaseTest.java |   12 -
 .../org/apache/activemq/JMSConsumerTest.java    |   42 +-
 .../failover/FailoverBackupLeakTest.java        |    5 +-
 .../tests/extras/jms/bridge/BridgeTestBase.java |    9 +-
 .../client/AutoCreateJmsDestinationTest.java    |    4 +-
 .../client/JMSMessageCounterTest.java           |    7 +-
 .../client/MultipleProducersTest.java           |    7 +-
 .../ClusteredMessageCounterTest.java            |    2 +-
 .../jms/client/ExpiryMessageTest.java           |    5 +-
 .../ConnectionFactoryControlTest.java           |  170 --
 .../server/management/JMSQueueControlTest.java  | 1688 ------------------
 .../management/JMSQueueControlUsingJMSTest.java |  409 -----
 .../management/JMSServerControl2Test.java       | 1150 ------------
 .../management/JMSServerControlRestartTest.java |  157 --
 .../server/management/JMSServerControlTest.java | 1113 ------------
 .../JMSServerControlUsingJMSTest.java           |  436 -----
 .../management/TopicControlClusterTest.java     |   13 +-
 .../jms/server/management/TopicControlTest.java |  669 -------
 .../AcceptorControlUsingCoreTest.java           |    2 +-
 .../ActiveMQServerControlUsingCoreTest.java     |    7 +-
 .../management/AddressControlUsingCoreTest.java |    2 +-
 .../management/BridgeControlUsingCoreTest.java  |    2 +-
 .../BroadcastGroupControlUsingCoreTest.java     |    2 +-
 .../management/DivertControlUsingCoreTest.java  |    2 +-
 .../management/ManagementControlHelper.java     |   29 -
 .../management/ManagementServiceImplTest.java   |    8 +-
 .../management/ManagementTestBase.java          |   11 -
 .../management/SecurityManagementTestBase.java  |    2 +-
 .../integration/openwire/OpenWireTestBase.java  |    6 -
 .../artemis/tests/util/JMSTestBase.java         |    6 -
 .../jms/tests/ActiveMQServerTestCase.java       |   23 +-
 .../tests/tools/container/LocalTestServer.java  |   13 +-
 .../jms/tests/tools/container/Server.java       |    2 +-
 .../activemq/artemis/common/AbstractAdmin.java  |   10 +-
 .../activemq/artemis/jms/ActiveMQCoreAdmin.java |   17 +-
 .../jms/bridge/impl/JMSBridgeImplTest.java      |    7 +-
 57 files changed, 171 insertions(+), 7906 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/a6f1167d/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/XmlDataImporter.java
----------------------------------------------------------------------
diff --git a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/XmlDataImporter.java b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/XmlDataImporter.java
index 587e402..74a35b5 100644
--- a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/XmlDataImporter.java
+++ b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/XmlDataImporter.java
@@ -825,20 +825,7 @@ public final class XmlDataImporter extends ActionAbstract {
          reader.next();
       }
 
-      try (ClientRequestor requestor = new ClientRequestor(managementSession, "activemq.management")) {
-         ClientMessage managementMessage = managementSession.createMessage(false);
-         ManagementHelper.putOperationInvocation(managementMessage, ResourceNames.JMS_SERVER, "createConnectionFactory", name, Boolean.parseBoolean(ha), discoveryGroupName.length() > 0, Integer.parseInt(type), connectors, entries, clientId, Long.parseLong(clientFailureCheckPeriod), Long.parseLong(connectionTtl), Long.parseLong(callTimeout), Long.parseLong(callFailoverTimeout), Integer.parseInt(minLargeMessageSize), Boolean.parseBoolean(compressLargeMessages), Integer.parseInt(consumerWindowSize), Integer.parseInt(consumerMaxRate), Integer.parseInt(confirmationWindowSize), Integer.parseInt(producerWindowSize), Integer.parseInt(producerMaxRate), Boolean.parseBoolean(blockOnAcknowledge), Boolean.parseBoolean(blockOnDurableSend), Boolean.parseBoolean(blockOnNonDurableSend), Boolean.parseBoolean(autoGroup), Boolean.parseBoolean(preacknowledge), loadBalancingPolicyClassName, Integer.parseInt(transactionBatchSize), Integer.parseInt(dupsOkBatchSize), Boolean.parseBoolean(useGlobalPools), In
 teger.parseInt(scheduledThreadMaxPoolSize), Integer.parseInt(threadMaxPoolSize), Long.parseLong(retryInterval), Double.parseDouble(retryIntervalMultiplier), Long.parseLong(maxRetryInterval), Integer.parseInt(reconnectAttempts), Boolean.parseBoolean(failoverOnInitialConnection), groupId);
-         //Boolean.parseBoolean(cacheLargeMessagesClient));
-         managementSession.start();
-         ClientMessage reply = requestor.request(managementMessage);
-         if (ManagementHelper.hasOperationSucceeded(reply)) {
-            if (logger.isDebugEnabled()) {
-               logger.debug("Created connection factory " + name);
-            }
-         } else {
-            ActiveMQServerLogger.LOGGER.error("Problem creating " + name);
-         }
-      }
+      ActiveMQServerLogger.LOGGER.error("Ignoring Connection Factory " + name);
    }
 
    private void createJmsDestination() throws Exception {
@@ -886,9 +873,9 @@ public final class XmlDataImporter extends ActionAbstract {
       try (ClientRequestor requestor = new ClientRequestor(managementSession, "activemq.management")) {
          ClientMessage managementMessage = managementSession.createMessage(false);
          if ("Queue".equals(type)) {
-            ManagementHelper.putOperationInvocation(managementMessage, ResourceNames.JMS_SERVER, "createQueue", name, entries, selector);
+            ManagementHelper.putOperationInvocation(managementMessage, ResourceNames.BROKER, "createQueue", name, entries, selector);
          } else if ("Topic".equals(type)) {
-            ManagementHelper.putOperationInvocation(managementMessage, ResourceNames.JMS_SERVER, "createTopic", name, entries);
+            ManagementHelper.putOperationInvocation(managementMessage, ResourceNames.BROKER, "createAddress", name, entries);
          }
          managementSession.start();
          ClientMessage reply = requestor.request(managementMessage);

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/a6f1167d/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java
----------------------------------------------------------------------
diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java
index 30e8bc5..f10eb9b 100644
--- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java
+++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java
@@ -429,6 +429,10 @@ public interface ActiveMQServerControl {
                       @Parameter(name = "routingType", desc = "the routing type of the address either 0 for multicast or 1 for anycast") int routingType,
                       @Parameter(name = "defaultDeleteOnNoConsumers", desc = "Whether or not a queue with this address is deleted when it has no consumers") boolean defaultDeleteOnNoConsumers,
                       @Parameter(name = "defaultMaxConsumers", desc = "The maximim number of consumer a queue with this address can have") int defaultMaxConsumers) throws Exception;
+
+   @Operation(desc = "create an address", impact = MBeanOperationInfo.ACTION)
+   void deleteAddress(@Parameter(name = "name", desc = "The name of the address") String name) throws Exception;
+
    /**
     * Create a durable queue.
     * <br>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/a6f1167d/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/AddressControl.java
----------------------------------------------------------------------
diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/AddressControl.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/AddressControl.java
index e7a02ad..5e7d600 100644
--- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/AddressControl.java
+++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/AddressControl.java
@@ -95,6 +95,9 @@ public interface AddressControl {
    @Attribute(desc = "names of all bindings (both queues and diverts) bound to this address")
    String[] getBindingNames() throws Exception;
 
+   @Attribute(desc = "number of messages added to all the queues for this address")
+   long getMessageCount();
+
 
    /**
     * @param headers  the message headers and properties to set. Can only

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/a6f1167d/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ResourceNames.java
----------------------------------------------------------------------
diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ResourceNames.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ResourceNames.java
index 716c6c1..6c6ef55 100644
--- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ResourceNames.java
+++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ResourceNames.java
@@ -23,33 +23,23 @@ package org.apache.activemq.artemis.api.core.management;
  * For example, the resource name of the "foo" queue is {@code CORE_QUEUE + "foo"}.
  */
 public final class ResourceNames {
-   public static final String ADDRESS = "address.";
-
-   public static final String CORE_SERVER = "broker";
+   public static final String BROKER = "broker";
 
    public static final String CORE_QUEUE = "queue.";
 
-   public static final String CORE_ADDRESS = "core.address.";
-
-   public static final String CORE_BRIDGE = "core.bridge.";
-
-   public static final String CORE_ACCEPTOR = "core.acceptor.";
-
-   public static final String CORE_DIVERT = "core.divert.";
-
-   public static final String CORE_CLUSTER_CONNECTION = "core.clusterconnection.";
+   public static final String ADDRESS = "address.";
 
-   public static final String CORE_BROADCAST_GROUP = "core.broadcastgroup.";
+   public static final String BRIDGE = "bridge.";
 
-   public static final String CORE_DISCOVERY_GROUP = "core.discovery.";
+   public static final String ACCEPTOR = "acceptor.";
 
-   public static final String JMS_SERVER = "jms.server";
+   public static final String DIVERT = "divert.";
 
-//   public static final String JMS_QUEUE = "jms.queue.";
+   public static final String CORE_CLUSTER_CONNECTION = "clusterconnection.";
 
-//   public static final String JMS_TOPIC = "jms.topic.";
+   public static final String BROADCAST_GROUP = "broadcastgroup.";
 
-   public static final String JMS_CONNECTION_FACTORY = "jms.connectionfactory.";
+   public static final String DISCOVERY_GROUP = "discovery.";
 
    private ResourceNames() {
    }

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/a6f1167d/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/ConnectionFactoryControl.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/ConnectionFactoryControl.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/ConnectionFactoryControl.java
deleted file mode 100644
index f3ddd62..0000000
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/ConnectionFactoryControl.java
+++ /dev/null
@@ -1,399 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.activemq.artemis.api.jms.management;
-
-import org.apache.activemq.artemis.api.core.DiscoveryGroupConfiguration;
-import org.apache.activemq.artemis.api.core.TransportConfiguration;
-import org.apache.activemq.artemis.api.core.management.Operation;
-import org.apache.activemq.artemis.api.core.management.Parameter;
-
-/**
- * A ConnectionFactoryControl is used to manage a JMS ConnectionFactory. <br>
- * ActiveMQ Artemis JMS ConnectionFactory uses an underlying ClientSessionFactory to connect to ActiveMQ
- * servers. Please refer to the ClientSessionFactory for a detailed description.
- *
- * @see org.apache.activemq.artemis.api.core.client.ServerLocator
- * @see org.apache.activemq.artemis.api.core.client.ClientSessionFactory
- */
-public interface ConnectionFactoryControl {
-
-   /**
-    * Returns the configuration name of this connection factory.
-    */
-   String getName();
-
-   /**
-    * Returns the Registry bindings associated  to this connection factory.
-    */
-   String[] getRegistryBindings();
-
-   /**
-    * does ths cf support HA
-    *
-    * @return true if it supports HA
-    */
-   boolean isHA();
-
-   /**
-    * return the type of factory
-    *
-    * @return 0 = jms cf, 1 = queue cf, 2 = topic cf, 3 = xa cf, 4 = xa queue cf, 5 = xa topic cf
-    */
-   int getFactoryType();
-
-   /**
-    * Returns the Client ID of this connection factory (or {@code null} if it is not set.
-    */
-   String getClientID();
-
-   /**
-    * Sets the Client ID for this connection factory.
-    */
-   void setClientID(String clientID);
-
-   /**
-    * @return whether large messages are compressed
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#isCompressLargeMessage()
-    */
-   boolean isCompressLargeMessages();
-
-   void setCompressLargeMessages(boolean compress);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getClientFailureCheckPeriod()
-    */
-   long getClientFailureCheckPeriod();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setClientFailureCheckPeriod
-    */
-   void setClientFailureCheckPeriod(long clientFailureCheckPeriod);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getCallTimeout()
-    */
-   long getCallTimeout();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setCallTimeout(long)
-    */
-   void setCallTimeout(long callTimeout);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getCallFailoverTimeout()
-    */
-   long getCallFailoverTimeout();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setCallFailoverTimeout(long)
-    */
-
-   void setCallFailoverTimeout(long callTimeout);
-
-   /**
-    * Returns the batch size (in bytes) between acknowledgements when using DUPS_OK_ACKNOWLEDGE
-    * mode.
-    *
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getAckBatchSize()
-    * @see javax.jms.Session#DUPS_OK_ACKNOWLEDGE
-    */
-   int getDupsOKBatchSize();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setAckBatchSize(int)
-    */
-   void setDupsOKBatchSize(int dupsOKBatchSize);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getConsumerMaxRate()
-    */
-   int getConsumerMaxRate();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setConsumerMaxRate(int)
-    */
-   void setConsumerMaxRate(int consumerMaxRate);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getConsumerWindowSize()
-    */
-   int getConsumerWindowSize();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setConfirmationWindowSize(int)
-    */
-   void setConsumerWindowSize(int consumerWindowSize);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getProducerMaxRate()
-    */
-   int getProducerMaxRate();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setProducerMaxRate(int)
-    */
-   void setProducerMaxRate(int producerMaxRate);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getConfirmationWindowSize()
-    */
-   int getConfirmationWindowSize();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setConfirmationWindowSize(int)
-    */
-   void setConfirmationWindowSize(int confirmationWindowSize);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#isBlockOnAcknowledge()
-    */
-   boolean isBlockOnAcknowledge();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setBlockOnAcknowledge(boolean)
-    */
-   void setBlockOnAcknowledge(boolean blockOnAcknowledge);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#isBlockOnDurableSend()
-    */
-   boolean isBlockOnDurableSend();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setBlockOnDurableSend(boolean)
-    */
-   void setBlockOnDurableSend(boolean blockOnDurableSend);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#isBlockOnNonDurableSend()
-    */
-   boolean isBlockOnNonDurableSend();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setBlockOnNonDurableSend(boolean)
-    */
-   void setBlockOnNonDurableSend(boolean blockOnNonDurableSend);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#isPreAcknowledge()
-    */
-   boolean isPreAcknowledge();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setPreAcknowledge(boolean)
-    */
-   void setPreAcknowledge(boolean preAcknowledge);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getConnectionTTL()
-    */
-   long getConnectionTTL();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setConnectionTTL(long)
-    */
-   void setConnectionTTL(long connectionTTL);
-
-   /**
-    * Returns the batch size (in bytes) between acknowledgements when using a transacted session.
-    *
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getAckBatchSize()
-    */
-   int getTransactionBatchSize();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setAckBatchSize(int)
-    */
-   void setTransactionBatchSize(int transactionBatchSize);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getMinLargeMessageSize()
-    */
-   int getMinLargeMessageSize();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setMinLargeMessageSize(int)
-    */
-   void setMinLargeMessageSize(int minLargeMessageSize);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#isAutoGroup()
-    */
-   boolean isAutoGroup();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setAutoGroup(boolean)
-    */
-   void setAutoGroup(boolean autoGroup);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getRetryInterval()
-    */
-   long getRetryInterval();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setRetryInterval(long)
-    */
-   void setRetryInterval(long retryInterval);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getRetryIntervalMultiplier()
-    */
-   double getRetryIntervalMultiplier();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setRetryIntervalMultiplier(double)
-    */
-   void setRetryIntervalMultiplier(double retryIntervalMultiplier);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getReconnectAttempts()
-    */
-   int getReconnectAttempts();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setReconnectAttempts(int)
-    */
-   void setReconnectAttempts(int reconnectAttempts);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#isFailoverOnInitialConnection()
-    */
-   boolean isFailoverOnInitialConnection();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setFailoverOnInitialConnection(boolean)
-    */
-   void setFailoverOnInitialConnection(boolean failoverOnInitialConnection);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getProducerWindowSize()
-    */
-   int getProducerWindowSize();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setProducerWindowSize(int)
-    */
-   void setProducerWindowSize(int producerWindowSize);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#isCacheLargeMessagesClient()
-    */
-   boolean isCacheLargeMessagesClient();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setCacheLargeMessagesClient(boolean)
-    */
-   void setCacheLargeMessagesClient(boolean cacheLargeMessagesClient);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getMaxRetryInterval()
-    */
-   long getMaxRetryInterval();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setMaxRetryInterval(long)
-    */
-   void setMaxRetryInterval(long retryInterval);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getScheduledThreadPoolMaxSize()
-    */
-   int getScheduledThreadPoolMaxSize();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setScheduledThreadPoolMaxSize(int)
-    */
-   void setScheduledThreadPoolMaxSize(int scheduledThreadPoolMaxSize);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getThreadPoolMaxSize()
-    */
-   int getThreadPoolMaxSize();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setThreadPoolMaxSize(int)
-    */
-   void setThreadPoolMaxSize(int threadPoolMaxSize);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getGroupID()
-    */
-   String getGroupID();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setGroupID(String)
-    */
-   void setGroupID(String groupID);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getInitialMessagePacketSize()
-    */
-   int getInitialMessagePacketSize();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#isUseGlobalPools()
-    */
-   boolean isUseGlobalPools();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setUseGlobalPools(boolean)
-    */
-   void setUseGlobalPools(boolean useGlobalPools);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getConnectionLoadBalancingPolicyClassName()
-    */
-   String getConnectionLoadBalancingPolicyClassName();
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#setConnectionLoadBalancingPolicyClassName(String)
-    */
-   void setConnectionLoadBalancingPolicyClassName(String connectionLoadBalancingPolicyClassName);
-
-   /**
-    * @see org.apache.activemq.artemis.api.core.client.ServerLocator#getStaticTransportConfigurations()
-    */
-   TransportConfiguration[] getStaticConnectors();
-
-   /**
-    * get the discovery group configuration
-    */
-   DiscoveryGroupConfiguration getDiscoveryGroupConfiguration();
-
-   /**
-    * get the protocol manager factory name
-    */
-   String getProtocolManagerFactoryStr();
-
-   /**
-    * set the protocol manager factory name
-    */
-   void setProtocolManagerFactoryStr(String protocolManagerFactoryStr);
-
-   /**
-    * Add the Registry binding to this destination
-    */
-   @Operation(desc = "Adds the factory to another Registry binding")
-   void addBinding(@Parameter(name = "binding", desc = "the name of the binding for the Registry") String binding) throws Exception;
-
-   /**
-    * Remove a Registry binding
-    */
-   @Operation(desc = "Remove an existing Registry binding")
-   void removeBinding(@Parameter(name = "binding", desc = "the name of the binding for Registry") String binding) throws Exception;
-}

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/a6f1167d/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/DestinationControl.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/DestinationControl.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/DestinationControl.java
deleted file mode 100644
index afd07ca..0000000
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/DestinationControl.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.activemq.artemis.api.jms.management;
-
-import javax.management.MBeanOperationInfo;
-
-import org.apache.activemq.artemis.api.core.management.Attribute;
-import org.apache.activemq.artemis.api.core.management.Operation;
-import org.apache.activemq.artemis.api.core.management.Parameter;
-
-/**
- * A DestinationControl is used to manage a JMS Destination.
- */
-public interface DestinationControl {
-   // Attributes ----------------------------------------------------
-
-   /**
-    * Returns the name of this destination.
-    */
-   @Attribute(desc = "the name of this destination")
-   String getName();
-
-   /**
-    * Returns the address corresponding to this destination.
-    */
-   @Attribute(desc = "the address corresponding to this destination")
-   String getAddress();
-
-   /**
-    * Returns whether this destination is temporary.
-    */
-   @Attribute(desc = "whether this destination is temporary")
-   boolean isTemporary();
-
-   /**
-    * Returns the number of messages currently in this destination.
-    */
-   @Attribute(desc = "the number of messages currently in this destination")
-   long getMessageCount() throws Exception;
-
-   /**
-    * Returns the number of messages that this queue is currently delivering to its consumers.
-    */
-   @Attribute(desc = "the number of messages that this queue is currently delivering to its consumers")
-   int getDeliveringCount();
-
-   /**
-    * Returns the number of messages added to this queue since it was created.
-    */
-   @Attribute(desc = "the number of messages added to this queue since it was created")
-   long getMessagesAdded();
-
-   // Operations ----------------------------------------------------
-
-   /**
-    * Removed all the messages which matches the specified JMS filter from this destination.
-    * <br>
-    * Using {@code null} or an empty filter will remove <em>all</em> messages from this destination.
-    *
-    * @return the number of removed messages
-    */
-   @Operation(desc = "Remove messages matching the given filter from the destination", impact = MBeanOperationInfo.ACTION)
-   int removeMessages(@Parameter(name = "filter", desc = "A JMS message filter (can be empty)") String filter) throws Exception;
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/a6f1167d/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSConnectionInfo.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSConnectionInfo.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSConnectionInfo.java
deleted file mode 100644
index 64da481..0000000
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSConnectionInfo.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.activemq.artemis.api.jms.management;
-
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-
-import org.apache.activemq.artemis.api.core.JsonUtil;
-
-public class JMSConnectionInfo {
-
-   private final String connectionID;
-
-   private final String clientAddress;
-
-   private final long creationTime;
-
-   private final String clientID;
-
-   private final String username;
-
-   // Static --------------------------------------------------------
-
-   public static JMSConnectionInfo[] from(final String jsonString) throws Exception {
-      JsonArray array = JsonUtil.readJsonArray(jsonString);
-      JMSConnectionInfo[] infos = new JMSConnectionInfo[array.size()];
-      for (int i = 0; i < array.size(); i++) {
-         JsonObject obj = array.getJsonObject(i);
-         String cid = obj.containsKey("clientID") ? obj.getString("clientID") : null;
-         String uname = obj.containsKey("principal") ? obj.getString("principal") : null;
-
-         JMSConnectionInfo info = new JMSConnectionInfo(obj.getString("connectionID"), obj.getString("clientAddress"), obj.getJsonNumber("creationTime").longValue(), cid, uname);
-         infos[i] = info;
-      }
-      return infos;
-   }
-
-   // Constructors --------------------------------------------------
-
-   private JMSConnectionInfo(final String connectionID,
-                             final String clientAddress,
-                             final long creationTime,
-                             final String clientID,
-                             final String username) {
-      this.connectionID = connectionID;
-      this.clientAddress = clientAddress;
-      this.creationTime = creationTime;
-      this.clientID = clientID;
-      this.username = username;
-   }
-
-   // Public --------------------------------------------------------
-
-   public String getConnectionID() {
-      return connectionID;
-   }
-
-   public String getClientAddress() {
-      return clientAddress;
-   }
-
-   public long getCreationTime() {
-      return creationTime;
-   }
-
-   public String getClientID() {
-      return clientID;
-   }
-
-   public String getUsername() {
-      return username;
-   }
-}

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/a6f1167d/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSConsumerInfo.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSConsumerInfo.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSConsumerInfo.java
deleted file mode 100644
index 5b7f5e3..0000000
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSConsumerInfo.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.activemq.artemis.api.jms.management;
-
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-
-import org.apache.activemq.artemis.api.core.JsonUtil;
-
-/**
- * Helper class to create Java Objects from the
- * JSON serialization returned by {@link JMSServerControl#listConsumersAsJSON(String)} and related methods.
- */
-public class JMSConsumerInfo {
-
-   private final String consumerID;
-
-   private final String connectionID;
-
-   private final String destinationName;
-
-   private final String destinationType;
-
-   private final boolean browseOnly;
-
-   private final long creationTime;
-
-   private final boolean durable;
-
-   private final String filter;
-
-   // Static --------------------------------------------------------
-
-   /**
-    * Returns an array of SubscriptionInfo corresponding to the JSON serialization returned
-    * by {@link TopicControl#listAllSubscriptionsAsJSON()} and related methods.
-    */
-   public static JMSConsumerInfo[] from(final String jsonString) throws Exception {
-      JsonArray array = JsonUtil.readJsonArray(jsonString);
-      JMSConsumerInfo[] infos = new JMSConsumerInfo[array.size()];
-      for (int i = 0; i < array.size(); i++) {
-         JsonObject sub = array.getJsonObject(i);
-         JMSConsumerInfo info = new JMSConsumerInfo(sub.getJsonNumber("consumerID").toString(), sub.getString("connectionID"), sub.getString("destinationName"), sub.getString("destinationType"), sub.getBoolean("browseOnly"), sub.getJsonNumber("creationTime").longValue(), sub.getBoolean("durable"), sub.getString("filter", null));
-         infos[i] = info;
-      }
-
-      return infos;
-   }
-
-   // Constructors --------------------------------------------------
-
-   private JMSConsumerInfo(final String consumerID,
-                           final String connectionID,
-                           final String destinationName,
-                           final String destinationType,
-                           final boolean browseOnly,
-                           final long creationTime,
-                           final boolean durable,
-                           final String filter) {
-      this.consumerID = consumerID;
-      this.connectionID = connectionID;
-      this.destinationName = destinationName;
-      this.destinationType = destinationType;
-      this.browseOnly = browseOnly;
-      this.creationTime = creationTime;
-      this.durable = durable;
-      this.filter = filter;
-   }
-
-   // Public --------------------------------------------------------
-
-   public String getConsumerID() {
-      return consumerID;
-   }
-
-   public String getConnectionID() {
-      return connectionID;
-   }
-
-   public String getDestinationName() {
-      return destinationName;
-   }
-
-   public String getDestinationType() {
-      return destinationType;
-   }
-
-   public boolean isBrowseOnly() {
-      return browseOnly;
-   }
-
-   public long getCreationTime() {
-      return creationTime;
-   }
-
-   /**
-    * @return the durable
-    */
-   public boolean isDurable() {
-      return durable;
-   }
-
-   public String getFilter() {
-      return filter;
-   }
-}

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/a6f1167d/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSQueueControl.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSQueueControl.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSQueueControl.java
deleted file mode 100644
index 3a4101a..0000000
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSQueueControl.java
+++ /dev/null
@@ -1,443 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.activemq.artemis.api.jms.management;
-
-import javax.management.MBeanOperationInfo;
-import javax.management.openmbean.CompositeData;
-import java.util.Map;
-
-import org.apache.activemq.artemis.api.core.management.Attribute;
-import org.apache.activemq.artemis.api.core.management.Operation;
-import org.apache.activemq.artemis.api.core.management.Parameter;
-
-/**
- * A JMSQueueControl is used to manage a JMS queue.
- */
-public interface JMSQueueControl extends DestinationControl {
-   // Attributes ----------------------------------------------------
-
-   /**
-    * Returns the expiry address associated with this queue.
-    */
-   @Attribute(desc = "expiry address associated with this queue")
-   String getExpiryAddress();
-
-   /**
-    * Returns the dead-letter address associated with this queue.
-    */
-   @Attribute(desc = "dead-letter address associated with this queue")
-   String getDeadLetterAddress();
-
-   /**
-    * Returns the number of scheduled messages in this queue.
-    */
-   @Attribute(desc = "number of scheduled messages in this queue")
-   long getScheduledCount();
-
-   /**
-    * Returns the number of consumers consuming messages from this queue.
-    */
-   @Attribute(desc = "number of consumers consuming messages from this queue")
-   int getConsumerCount();
-
-   /**
-    * Returns the number of messages expired from this queue since it was created.
-    */
-   @Attribute(desc = "the number of messages expired from this queue since it was created")
-   long getMessagesExpired();
-
-   /**
-    * Returns the number of messages removed from this queue since it was created due to exceeding the max delivery attempts.
-    */
-   @Attribute(desc = "number of messages removed from this queue since it was created due to exceeding the max delivery attempts")
-   long getMessagesKilled();
-
-   /**
-    * returns the selector for the queue
-    */
-   @Attribute(desc = "selector for the queue")
-   String getSelector();
-
-   /**
-    * Returns the first message on the queue as JSON
-    */
-   @Attribute(desc = "first message on the queue as JSON")
-   String getFirstMessageAsJSON() throws Exception;
-
-   /**
-    * Returns the timestamp of the first message in milliseconds.
-    */
-   @Attribute(desc = "timestamp of the first message in milliseconds")
-   Long getFirstMessageTimestamp() throws Exception;
-
-   /**
-    * Returns the age of the first message in milliseconds.
-    */
-   @Attribute(desc = "age of the first message in milliseconds")
-   Long getFirstMessageAge() throws Exception;
-
-   // Operations ----------------------------------------------------
-
-   /**
-    * Returns the Registry bindings associated with this queue.
-    */
-   @Attribute(desc = "Returns the list of Registry bindings associated with this queue")
-   String[] getRegistryBindings();
-
-   /**
-    * Add the JNDI binding to this destination
-    */
-   @Operation(desc = "Adds the queue to another Registry binding")
-   void addBinding(@Parameter(name = "binding", desc = "the name of the binding for the registry") String binding) throws Exception;
-
-   /**
-    * Lists all the JMS messages in this queue matching the specified filter.
-    * <br>
-    * 1 Map represents 1 message, keys are the message's properties and headers, values are the corresponding values.
-    * <br>
-    * Using {@code null} or an empty filter will list <em>all</em> messages from this queue.
-    */
-   @Operation(desc = "List all messages in the queue which matches the filter", impact = MBeanOperationInfo.INFO)
-   Map<String, Object>[] listMessages(@Parameter(name = "filter", desc = "A JMS Message filter") String filter) throws Exception;
-
-   /**
-    * Lists all the JMS messages in this queue matching the specified filter using JSON serialization.
-    * <br>
-    * Using {@code null} or an empty filter will list <em>all</em> messages from this queue.
-    */
-   @Operation(desc = "List all messages in the queue which matches the filter and return them using JSON", impact = MBeanOperationInfo.INFO)
-   String listMessagesAsJSON(@Parameter(name = "filter", desc = "A JMS Message filter (can be empty)") String filter) throws Exception;
-
-   /**
-    * Counts the number of messages in this queue matching the specified filter.
-    * <br>
-    * Using {@code null} or an empty filter will count <em>all</em> messages from this queue.
-    */
-   @Operation(desc = "Returns the number of the messages in the queue matching the given filter", impact = MBeanOperationInfo.INFO)
-   long countMessages(@Parameter(name = "filter", desc = "A JMS message filter (can be empty)") String filter) throws Exception;
-
-   /**
-    * Removes the message corresponding to the specified message ID.
-    *
-    * @return {@code true} if the message was removed, {@code false} else
-    */
-   @Operation(desc = "Remove the message corresponding to the given messageID", impact = MBeanOperationInfo.ACTION)
-   boolean removeMessage(@Parameter(name = "messageID", desc = "A message ID") String messageID) throws Exception;
-
-   /**
-    * Removes all the message corresponding to the specified filter.
-    * <br>
-    * Using {@code null} or an empty filter will remove <em>all</em> messages from this queue.
-    *
-    * @return the number of removed messages
-    */
-   @Override
-   @Operation(desc = "Remove the messages corresponding to the given filter (and returns the number of removed messages)", impact = MBeanOperationInfo.ACTION)
-   int removeMessages(@Parameter(name = "filter", desc = "A message filter (can be empty)") String filter) throws Exception;
-
-   /**
-    * Expires all the message corresponding to the specified filter.
-    * <br>
-    * Using {@code null} or an empty filter will expire <em>all</em> messages from this queue.
-    *
-    * @return the number of expired messages
-    */
-   @Operation(desc = "Expire the messages corresponding to the given filter (and returns the number of expired messages)", impact = MBeanOperationInfo.ACTION)
-   int expireMessages(@Parameter(name = "filter", desc = "A message filter (can be empty)") String filter) throws Exception;
-
-   /**
-    * Expires the message corresponding to the specified message ID.
-    *
-    * @return {@code true} if the message was expired, {@code false} else
-    */
-   @Operation(desc = "Expire the message corresponding to the given messageID", impact = MBeanOperationInfo.ACTION)
-   boolean expireMessage(@Parameter(name = "messageID", desc = "A message ID") String messageID) throws Exception;
-
-   /**
-    * Sends the message corresponding to the specified message ID to this queue's dead letter address.
-    *
-    * @return {@code true} if the message was sent to the dead letter address, {@code false} else
-    */
-   @Operation(desc = "Send the message corresponding to the given messageID to this queue's Dead Letter Address", impact = MBeanOperationInfo.ACTION)
-   boolean sendMessageToDeadLetterAddress(@Parameter(name = "messageID", desc = "A message ID") String messageID) throws Exception;
-
-   /**
-    * Sends all the message corresponding to the specified filter to this queue's dead letter address.
-    * <br>
-    * Using {@code null} or an empty filter will send <em>all</em> messages from this queue.
-    *
-    * @return the number of sent messages
-    */
-   @Operation(desc = "Send the messages corresponding to the given filter to this queue's Dead Letter Address", impact = MBeanOperationInfo.ACTION)
-   int sendMessagesToDeadLetterAddress(@Parameter(name = "filter", desc = "A message filter (can be empty)") String filterStr) throws Exception;
-
-   /**
-    * Sends a TextMesage to the destination.
-    *
-    * @param body the text to send
-    * @return the message id of the message sent.
-    * @throws Exception
-    */
-   @Operation(desc = "Sends a TextMessage to a password-protected destination.", impact = MBeanOperationInfo.ACTION)
-   String sendTextMessage(@Parameter(name = "body") String body) throws Exception;
-
-   /**
-    * Sends a TextMessage to the destination.
-    *
-    * @param properties the message properties to set as a comma sep name=value list. Can only
-    *                   contain Strings maped to primitive types or JMS properties. eg: body=hi,JMSReplyTo=Queue2
-    * @return the message id of the message sent.
-    * @throws Exception
-    */
-   @Operation(desc = "Sends a TextMessage to a password-protected destination.", impact = MBeanOperationInfo.ACTION)
-   String sendTextMessageWithProperties(String properties) throws Exception;
-
-   /**
-    * Sends a TextMesage to the destination.
-    *
-    * @param headers the message headers and properties to set. Can only
-    *                container Strings maped to primitive types.
-    * @param body    the text to send
-    * @return the message id of the message sent.
-    * @throws Exception
-    */
-   @Operation(desc = "Sends a TextMessage to a password-protected destination.", impact = MBeanOperationInfo.ACTION)
-   String sendTextMessage(@Parameter(name = "headers") Map<String, String> headers,
-                          @Parameter(name = "body") String body) throws Exception;
-
-   /**
-    * Sends a TextMesage to the destination.
-    *
-    * @param body     the text to send
-    * @param user
-    * @param password
-    * @return
-    * @throws Exception
-    */
-   @Operation(desc = "Sends a TextMessage to a password-protected destination.", impact = MBeanOperationInfo.ACTION)
-   String sendTextMessage(@Parameter(name = "body") String body,
-                          @Parameter(name = "user") String user,
-                          @Parameter(name = "password") String password) throws Exception;
-
-   /**
-    * @param headers  the message headers and properties to set. Can only
-    *                 container Strings maped to primitive types.
-    * @param body     the text to send
-    * @param user
-    * @param password
-    * @return
-    * @throws Exception
-    */
-   @Operation(desc = "Sends a TextMessage to a password-protected destination.", impact = MBeanOperationInfo.ACTION)
-   String sendTextMessage(@Parameter(name = "headers") Map<String, String> headers,
-                          @Parameter(name = "body") String body,
-                          @Parameter(name = "user") String user,
-                          @Parameter(name = "password") String password) throws Exception;
-
-   /**
-    * Changes the message's priority corresponding to the specified message ID to the specified priority.
-    *
-    * @param newPriority between 0 and 9 inclusive.
-    * @return {@code true} if the message priority was changed
-    */
-   @Operation(desc = "Change the priority of the message corresponding to the given messageID", impact = MBeanOperationInfo.ACTION)
-   boolean changeMessagePriority(@Parameter(name = "messageID", desc = "A message ID") String messageID,
-                                 @Parameter(name = "newPriority", desc = "the new priority (between 0 and 9)") int newPriority) throws Exception;
-
-   /**
-    * Changes the priority for all the message corresponding to the specified filter to the specified priority.
-    * <br>
-    * Using {@code null} or an empty filter will change <em>all</em> messages from this queue.
-    *
-    * @return the number of changed messages
-    */
-   @Operation(desc = "Change the priority of the messages corresponding to the given filter", impact = MBeanOperationInfo.ACTION)
-   int changeMessagesPriority(@Parameter(name = "filter", desc = "A message filter") String filter,
-                              @Parameter(name = "newPriority", desc = "the new priority (between 0 and 9)") int newPriority) throws Exception;
-
-   /**
-    * Moves the message corresponding to the specified message ID to the specified other queue.
-    *
-    * @return {@code true} if the message was moved, {@code false} else
-    */
-   @Operation(desc = "Move the message corresponding to the given messageID to another queue, ignoring duplicates (rejectDuplicates=false on this case)", impact = MBeanOperationInfo.ACTION)
-   boolean moveMessage(@Parameter(name = "messageID", desc = "A message ID") String messageID,
-                       @Parameter(name = "otherQueueName", desc = "The name of the queue to move the message to") String otherQueueName) throws Exception;
-
-   /**
-    * Moves the message corresponding to the specified message ID to the specified other queue.
-    *
-    * @return {@code true} if the message was moved, {@code false} else
-    */
-   @Operation(desc = "Move the message corresponding to the given messageID to another queue", impact = MBeanOperationInfo.ACTION)
-   boolean moveMessage(@Parameter(name = "messageID", desc = "A message ID") String messageID,
-                       @Parameter(name = "otherQueueName", desc = "The name of the queue to move the message to") String otherQueueName,
-                       @Parameter(name = "rejectDuplicates", desc = "Reject messages identified as duplicate by the duplicate message") boolean rejectDuplicates) throws Exception;
-
-   /**
-    * Moves all the message corresponding to the specified filter  to the specified other queue.
-    * RejectDuplicates=false on this case
-    * <br>
-    * Using {@code null} or an empty filter will move <em>all</em> messages from this queue.
-    *
-    * @return the number of moved messages
-    */
-   @Operation(desc = "Move the messages corresponding to the given filter (and returns the number of moved messages). rejectDuplicates=false on this case", impact = MBeanOperationInfo.ACTION)
-   int moveMessages(@Parameter(name = "filter", desc = "A message filter (can be empty)") String filter,
-                    @Parameter(name = "otherQueueName", desc = "The name of the queue to move the messages to") String otherQueueName) throws Exception;
-
-   /**
-    * Moves all the message corresponding to the specified filter  to the specified other queue.
-    * <br>
-    * Using {@code null} or an empty filter will move <em>all</em> messages from this queue.
-    *
-    * @return the number of moved messages
-    */
-   @Operation(desc = "Move the messages corresponding to the given filter (and returns the number of moved messages)", impact = MBeanOperationInfo.ACTION)
-   int moveMessages(@Parameter(name = "filter", desc = "A message filter (can be empty)") String filter,
-                    @Parameter(name = "otherQueueName", desc = "The name of the queue to move the messages to") String otherQueueName,
-                    @Parameter(name = "rejectDuplicates", desc = "Reject messages identified as duplicate by the duplicate message") boolean rejectDuplicates) throws Exception;
-
-   /**
-    * Retries the message corresponding to the given messageID to the original queue.
-    * This is appropriate on dead messages on Dead letter queues only.
-    *
-    * @param messageID
-    * @return {@code true} if the message was retried, {@code false}�else
-    * @throws Exception
-    */
-   @Operation(desc = "Retry the message corresponding to the given messageID to the original queue", impact = MBeanOperationInfo.ACTION)
-   boolean retryMessage(@Parameter(name = "messageID", desc = "A message ID") String messageID) throws Exception;
-
-   /**
-    * Retries all messages on a DLQ to their respective original queues.
-    * This is appropriate on dead messages on Dead letter queues only.
-    *
-    * @return the number of retried messages.
-    * @throws Exception
-    */
-   @Operation(desc = "Retry all messages on a DLQ to their respective original queues", impact = MBeanOperationInfo.ACTION)
-   int retryMessages() throws Exception;
-
-   /**
-    * Lists the message counter for this queue.
-    */
-   @Operation(desc = "List the message counters", impact = MBeanOperationInfo.INFO)
-   String listMessageCounter() throws Exception;
-
-   /**
-    * Resets the message counter for this queue.
-    */
-   @Operation(desc = "Reset the message counters", impact = MBeanOperationInfo.INFO)
-   void resetMessageCounter() throws Exception;
-
-   /**
-    * Lists the message counter for this queue as a HTML table.
-    */
-   @Operation(desc = "List the message counters as HTML", impact = MBeanOperationInfo.INFO)
-   String listMessageCounterAsHTML() throws Exception;
-
-   /**
-    * Lists the message counter history for this queue.
-    */
-   @Operation(desc = "List the message counters history", impact = MBeanOperationInfo.INFO)
-   String listMessageCounterHistory() throws Exception;
-
-   /**
-    * Lists the message counter history for this queue as a HTML table.
-    */
-   @Operation(desc = "List the message counters history as HTML", impact = MBeanOperationInfo.INFO)
-   String listMessageCounterHistoryAsHTML() throws Exception;
-
-   /**
-    * Pauses the queue. Messages are no longer delivered to its consumers.
-    */
-   @Operation(desc = "Pause the queue.", impact = MBeanOperationInfo.ACTION)
-   void pause() throws Exception;
-
-   /**
-    * Pauses the queue. Messages are no longer delivered to its consumers.
-    */
-   @Operation(desc = "Pauses the Queue", impact = MBeanOperationInfo.ACTION)
-   void pause(@Parameter(name = "persist", desc = "if true, the pause state will be persisted.") boolean persist) throws Exception;
-
-   /**
-    * Returns whether the queue is paused.
-    */
-   @Attribute(desc = "Returns true if the queue is paused.")
-   boolean isPaused() throws Exception;
-
-   /**
-    * Resumes the queue. Messages are again delivered to its consumers.
-    */
-   @Operation(desc = "Resume the queue.", impact = MBeanOperationInfo.ACTION)
-   void resume() throws Exception;
-
-   /**
-    * Resumes the queue. Messages are again delivered to its consumers.
-    */
-   @Operation(desc = "Browse the queue.", impact = MBeanOperationInfo.ACTION)
-   CompositeData[] browse() throws Exception;
-
-   /**
-    * Resumes the queue. Messages are again delivered to its consumers.
-    */
-   @Operation(desc = "Browse the queue.", impact = MBeanOperationInfo.ACTION)
-   CompositeData[] browse(String filter) throws Exception;
-
-   @Operation(desc = "List all the existent consumers on the Queue")
-   String listConsumersAsJSON() throws Exception;
-
-   /**
-    * it will flush one cycle on internal executors, so you would be sure that any pending tasks are done before you call
-    * any other measure.
-    * It is useful if you need the exact number of counts on a message
-    */
-   void flushExecutor();
-
-   /**
-    * Lists all the messages scheduled for delivery for this queue.
-    * <br>
-    * 1 Map represents 1 message, keys are the message's properties and headers, values are the corresponding values.
-    */
-   @Operation(desc = "List the messages scheduled for delivery", impact = MBeanOperationInfo.INFO)
-   Map<String, Object>[] listScheduledMessages() throws Exception;
-
-   /**
-    * Lists all the messages scheduled for delivery for this queue using JSON serialization.
-    */
-   @Operation(desc = "List the messages scheduled for delivery and returns them using JSON", impact = MBeanOperationInfo.INFO)
-   String listScheduledMessagesAsJSON() throws Exception;
-
-   /**
-    * Lists all the messages being deliver per consumer.
-    * <br>
-    * The Map's key is a toString representation for the consumer. Each consumer will then return a {@code Map<String,Object>[]} same way is returned by {@link #listScheduledMessages()}
-    */
-   @Operation(desc = "List all messages being delivered per consumer")
-   Map<String, Map<String, Object>[]> listDeliveringMessages() throws Exception;
-
-   /**
-    * Executes a conversion of {@link #listDeliveringMessages()} to JSON
-    *
-    * @return
-    * @throws Exception
-    */
-   @Operation(desc = "list all messages being delivered per consumer using JSON form")
-   String listDeliveringMessagesAsJSON() throws Exception;
-
-}

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/a6f1167d/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSServerControl.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSServerControl.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSServerControl.java
deleted file mode 100644
index 8e93c6e..0000000
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSServerControl.java
+++ /dev/null
@@ -1,381 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.activemq.artemis.api.jms.management;
-
-import javax.management.MBeanOperationInfo;
-
-import org.apache.activemq.artemis.api.core.management.Attribute;
-import org.apache.activemq.artemis.api.core.management.Operation;
-import org.apache.activemq.artemis.api.core.management.Parameter;
-
-/**
- * A JMSSserverControl is used to manage ActiveMQ Artemis JMS server.
- */
-public interface JMSServerControl {
-   // Attributes ----------------------------------------------------
-
-   /**
-    * Returns whether this server is started.
-    */
-   @Attribute(desc = "whether this server is started")
-   boolean isStarted();
-
-   /**
-    * Returns this server's version
-    */
-   @Attribute(desc = "server's version")
-   String getVersion();
-
-   /**
-    * Returns the names of the JMS topics available on this server.
-    */
-   @Attribute(desc = "names of the JMS topics available on this server")
-   String[] getTopicNames();
-
-   /**
-    * Returns the names of the JMS queues available on this server.
-    */
-   @Attribute(desc = "names of the JMS queues available on this server")
-   String[] getQueueNames();
-
-   /**
-    * Returns the names of the JMS connection factories available on this server.
-    */
-   @Attribute(desc = "names of the JMS connection factories available on this server")
-   String[] getConnectionFactoryNames();
-
-   /**
-    * Returns the server's nodeId
-    */
-   @Attribute(desc = "server's nodeId")
-   String getNodeID();
-
-   // Operations ----------------------------------------------------
-
-   /**
-    * Creates a durable JMS Queue.
-    *
-    * @return {@code true} if the queue was created, {@code false} else
-    */
-   @Operation(desc = "Create a JMS Queue", impact = MBeanOperationInfo.ACTION)
-   boolean createQueue(@Parameter(name = "name", desc = "Name of the queue to create") String name) throws Exception;
-
-   /**
-    * Creates a durable JMS Queue with the specified name and JNDI binding.
-    *
-    * @return {@code true} if the queue was created, {@code false} else
-    */
-   @Operation(desc = "Create a JMS Queue", impact = MBeanOperationInfo.ACTION)
-   boolean createQueue(@Parameter(name = "name", desc = "Name of the queue to create") String name,
-                       @Parameter(name = "jndiBindings", desc = "comma-separated list of JNDI bindings (use '&comma;' if u need to use commas in your jndi name)") String jndiBindings) throws Exception;
-
-   /**
-    * Creates a durable JMS Queue with the specified name, JNDI binding and selector.
-    *
-    * @return {@code true} if the queue was created, {@code false} else
-    */
-   @Operation(desc = "Create a JMS Queue", impact = MBeanOperationInfo.ACTION)
-   boolean createQueue(@Parameter(name = "name", desc = "Name of the queue to create") String name,
-                       @Parameter(name = "jndiBindings", desc = "comma-separated list of JNDI bindings (use '&comma;' if u need to use commas in your jndi name)") String jndiBindings,
-                       @Parameter(name = "selector", desc = "the jms selector") String selector) throws Exception;
-
-   /**
-    * Creates a JMS Queue with the specified name, durability, selector and JNDI binding.
-    *
-    * @return {@code true} if the queue was created, {@code false} else
-    */
-   @Operation(desc = "Create a JMS Queue", impact = MBeanOperationInfo.ACTION)
-   boolean createQueue(@Parameter(name = "name", desc = "Name of the queue to create") String name,
-                       @Parameter(name = "jndiBindings", desc = "comma-separated list of JNDI bindings (use '&comma;' if u need to use commas in your jndi name)") String jndiBindings,
-                       @Parameter(name = "selector", desc = "the jms selector") String selector,
-                       @Parameter(name = "durable", desc = "durability of the queue") boolean durable) throws Exception;
-
-   /**
-    * Destroys a JMS Queue with the specified name.
-    *
-    * @return {@code true} if the queue was destroyed, {@code false} else
-    */
-   @Operation(desc = "Destroy a JMS Queue", impact = MBeanOperationInfo.ACTION)
-   boolean destroyQueue(@Parameter(name = "name", desc = "Name of the queue to destroy") String name) throws Exception;
-
-   /**
-    * Destroys a JMS Queue with the specified name.
-    *
-    * @return {@code true} if the queue was destroyed, {@code false} else
-    */
-   @Operation(desc = "Destroy a JMS Queue", impact = MBeanOperationInfo.ACTION)
-   boolean destroyQueue(@Parameter(name = "name", desc = "Name of the queue to destroy") String name,
-                        @Parameter(name = "removeConsumers", desc = "disconnect any consumers connected to this queue") boolean removeConsumers) throws Exception;
-
-   /**
-    * Creates a JMS Topic.
-    *
-    * @return {@code true} if the topic was created, {@code false} else
-    */
-   @Operation(desc = "Create a JMS Topic", impact = MBeanOperationInfo.ACTION)
-   boolean createTopic(@Parameter(name = "name", desc = "Name of the topic to create") String name) throws Exception;
-
-   /**
-    * Creates a JMS Topic with the specified name and JNDI binding.
-    *
-    * @return {@code true} if the topic was created, {@code false} else
-    */
-   @Operation(desc = "Create a JMS Topic", impact = MBeanOperationInfo.ACTION)
-   boolean createTopic(@Parameter(name = "name", desc = "Name of the topic to create") String name,
-                       @Parameter(name = "jndiBindings", desc = "comma-separated list of JNDI bindings (use '&comma;' if u need to use commas in your jndi name)") String jndiBindings) throws Exception;
-
-   /**
-    * Destroys a JMS Topic with the specified name.
-    *
-    * @return {@code true} if the topic was destroyed, {@code false} else
-    */
-   @Operation(desc = "Destroy a JMS Topic", impact = MBeanOperationInfo.ACTION)
-   boolean destroyTopic(@Parameter(name = "name", desc = "Name of the topic to destroy") String name,
-                        @Parameter(name = "removeConsumers", desc = "disconnect any consumers connected to this queue") boolean removeConsumers) throws Exception;
-
-   /**
-    * Destroys a JMS Topic with the specified name.
-    *
-    * @return {@code true} if the topic was destroyed, {@code false} else
-    */
-   @Operation(desc = "Destroy a JMS Topic", impact = MBeanOperationInfo.ACTION)
-   boolean destroyTopic(@Parameter(name = "name", desc = "Name of the topic to destroy") String name) throws Exception;
-
-   /**
-    * Create a JMS ConnectionFactory with the specified name connected to a static list of live-backup servers.
-    * <br>
-    * The ConnectionFactory is bound to JNDI for all the specified bindings Strings.
-    * <br>
-    * {@code liveConnectorsTransportClassNames}  are the class names
-    * of the {@link org.apache.activemq.artemis.spi.core.remoting.ConnectorFactory} to connect to the live servers
-    * and {@code liveConnectorTransportParams}  are Map&lt;String, Object&gt; for the corresponding {@link org.apache.activemq.artemis.api.core.TransportConfiguration}'s parameters.
-    */
-   void createConnectionFactory(String name,
-                                boolean ha,
-                                boolean useDiscovery,
-                                @Parameter(name = "cfType", desc = "RegularCF=0, QueueCF=1, TopicCF=2, XACF=3, QueueXACF=4, TopicXACF=5") int cfType,
-                                String[] connectorNames,
-                                Object[] bindings) throws Exception;
-
-   /**
-    * Create a JMS ConnectionFactory with the specified name connected to a single live-backup pair of servers.
-    * <br>
-    * The ConnectionFactory is bound to JNDI for all the specified bindings Strings.
-    */
-   @Operation(desc = "Create a JMS ConnectionFactory", impact = MBeanOperationInfo.ACTION)
-   void createConnectionFactory(@Parameter(name = "name") String name,
-                                @Parameter(name = "ha") boolean ha,
-                                @Parameter(name = "useDiscovery", desc = "should we use discovery or a connector configuration") boolean useDiscovery,
-                                @Parameter(name = "cfType", desc = "RegularCF=0, QueueCF=1, TopicCF=2, XACF=3, QueueXACF=4, TopicXACF=5") int cfType,
-                                @Parameter(name = "connectorNames", desc = "comma-separated list of connectorNames or the discovery group name") String connectors,
-                                @Parameter(name = "jndiBindings", desc = "comma-separated list of JNDI bindings (use '&comma;' if u need to use commas in your jndi name)") String jndiBindings) throws Exception;
-
-   @Operation(desc = "Create a JMS ConnectionFactory", impact = MBeanOperationInfo.ACTION)
-   void createConnectionFactory(@Parameter(name = "name") String name,
-                                @Parameter(name = "ha") boolean ha,
-                                @Parameter(name = "useDiscovery", desc = "should we use discovery or a connector configuration") boolean useDiscovery,
-                                @Parameter(name = "cfType", desc = "RegularCF=0, QueueCF=1, TopicCF=2, XACF=3, QueueXACF=4, TopicXACF=5") int cfType,
-                                @Parameter(name = "connectorNames", desc = "An array of connector or the binding address") String[] connectors,
-                                @Parameter(name = "jndiBindings", desc = "array JNDI bindings (use '&comma;' if u need to use commas in your jndi name)") String[] jndiBindings,
-                                @Parameter(name = "clientID", desc = "The clientID configured for the connectionFactory") String clientID,
-                                @Parameter(name = "clientFailureCheckPeriod", desc = "clientFailureCheckPeriod") long clientFailureCheckPeriod,
-                                @Parameter(name = "connectionTTL", desc = "connectionTTL") long connectionTTL,
-                                @Parameter(name = "callTimeout", desc = "callTimeout") long callTimeout,
-                                @Parameter(name = "callFailoverTimeout", desc = "callFailoverTimeout") long callFailoverTimeout,
-                                @Parameter(name = "minLargeMessageSize", desc = "minLargeMessageSize") int minLargeMessageSize,
-                                @Parameter(name = "compressLargeMessages", desc = "compressLargeMessages") boolean compressLargeMessages,
-                                @Parameter(name = "consumerWindowSize", desc = "consumerWindowSize") int consumerWindowSize,
-                                @Parameter(name = "consumerMaxRate", desc = "consumerMaxRate") int consumerMaxRate,
-                                @Parameter(name = "confirmationWindowSize", desc = "confirmationWindowSize") int confirmationWindowSize,
-                                @Parameter(name = "producerWindowSize", desc = "producerWindowSize") int producerWindowSize,
-                                @Parameter(name = "producerMaxRate", desc = "producerMaxRate") int producerMaxRate,
-                                @Parameter(name = "blockOnAcknowledge", desc = "blockOnAcknowledge") boolean blockOnAcknowledge,
-                                @Parameter(name = "blockOnDurableSend", desc = "blockOnDurableSend") boolean blockOnDurableSend,
-                                @Parameter(name = "blockOnNonDurableSend", desc = "blockOnNonDurableSend") boolean blockOnNonDurableSend,
-                                @Parameter(name = "autoGroup", desc = "autoGroup") boolean autoGroup,
-                                @Parameter(name = "preAcknowledge", desc = "preAcknowledge") boolean preAcknowledge,
-                                @Parameter(name = "loadBalancingPolicyClassName", desc = "loadBalancingPolicyClassName (null or blank mean use the default value)") String loadBalancingPolicyClassName,
-                                @Parameter(name = "transactionBatchSize", desc = "transactionBatchSize") int transactionBatchSize,
-                                @Parameter(name = "dupsOKBatchSize", desc = "dupsOKBatchSize") int dupsOKBatchSize,
-                                @Parameter(name = "useGlobalPools", desc = "useGlobalPools") boolean useGlobalPools,
-                                @Parameter(name = "scheduledThreadPoolMaxSize", desc = "scheduledThreadPoolMaxSize") int scheduledThreadPoolMaxSize,
-                                @Parameter(name = "threadPoolMaxSize", desc = "threadPoolMaxSize") int threadPoolMaxSize,
-                                @Parameter(name = "retryInterval", desc = "retryInterval") long retryInterval,
-                                @Parameter(name = "retryIntervalMultiplier", desc = "retryIntervalMultiplier") double retryIntervalMultiplier,
-                                @Parameter(name = "maxRetryInterval", desc = "maxRetryInterval") long maxRetryInterval,
-                                @Parameter(name = "reconnectAttempts", desc = "reconnectAttempts") int reconnectAttempts,
-                                @Parameter(name = "failoverOnInitialConnection", desc = "failoverOnInitialConnection") boolean failoverOnInitialConnection,
-                                @Parameter(name = "groupId", desc = "groupId") String groupId) throws Exception;
-
-   @Operation(desc = "Create a JMS ConnectionFactory", impact = MBeanOperationInfo.ACTION)
-   void createConnectionFactory(@Parameter(name = "name") String name,
-                                @Parameter(name = "ha") boolean ha,
-                                @Parameter(name = "useDiscovery", desc = "should we use discovery or a connector configuration") boolean useDiscovery,
-                                @Parameter(name = "cfType", desc = "RegularCF=0, QueueCF=1, TopicCF=2, XACF=3, QueueXACF=4, TopicXACF=5") int cfType,
-                                @Parameter(name = "connectorNames", desc = "comma-separated list of connectorNames or the discovery group name") String connectors,
-                                @Parameter(name = "jndiBindings", desc = "comma-separated list of JNDI bindings (use '&comma;' if u need to use commas in your jndi name)") String jndiBindings,
-                                @Parameter(name = "clientID", desc = "The clientID configured for the connectionFactory") String clientID,
-                                @Parameter(name = "clientFailureCheckPeriod", desc = "clientFailureCheckPeriod") long clientFailureCheckPeriod,
-                                @Parameter(name = "connectionTTL", desc = "connectionTTL") long connectionTTL,
-                                @Parameter(name = "callTimeout", desc = "callTimeout") long callTimeout,
-                                @Parameter(name = "callFailoverTimeout", desc = "callFailoverTimeout") long callFailoverTimeout,
-                                @Parameter(name = "minLargeMessageSize", desc = "minLargeMessageSize") int minLargeMessageSize,
-                                @Parameter(name = "compressLargeMessages", desc = "compressLargeMessages") boolean compressLargeMessages,
-                                @Parameter(name = "consumerWindowSize", desc = "consumerWindowSize") int consumerWindowSize,
-                                @Parameter(name = "consumerMaxRate", desc = "consumerMaxRate") int consumerMaxRate,
-                                @Parameter(name = "confirmationWindowSize", desc = "confirmationWindowSize") int confirmationWindowSize,
-                                @Parameter(name = "producerWindowSize", desc = "producerWindowSize") int producerWindowSize,
-                                @Parameter(name = "producerMaxRate", desc = "producerMaxRate") int producerMaxRate,
-                                @Parameter(name = "blockOnAcknowledge", desc = "blockOnAcknowledge") boolean blockOnAcknowledge,
-                                @Parameter(name = "blockOnDurableSend", desc = "blockOnDurableSend") boolean blockOnDurableSend,
-                                @Parameter(name = "blockOnNonDurableSend", desc = "blockOnNonDurableSend") boolean blockOnNonDurableSend,
-                                @Parameter(name = "autoGroup", desc = "autoGroup") boolean autoGroup,
-                                @Parameter(name = "preAcknowledge", desc = "preAcknowledge") boolean preAcknowledge,
-                                @Parameter(name = "loadBalancingPolicyClassName", desc = "loadBalancingPolicyClassName (null or blank mean use the default value)") String loadBalancingPolicyClassName,
-                                @Parameter(name = "transactionBatchSize", desc = "transactionBatchSize") int transactionBatchSize,
-                                @Parameter(name = "dupsOKBatchSize", desc = "dupsOKBatchSize") int dupsOKBatchSize,
-                                @Parameter(name = "useGlobalPools", desc = "useGlobalPools") boolean useGlobalPools,
-                                @Parameter(name = "scheduledThreadPoolMaxSize", desc = "scheduledThreadPoolMaxSize") int scheduledThreadPoolMaxSize,
-                                @Parameter(name = "threadPoolMaxSize", desc = "threadPoolMaxSize") int threadPoolMaxSize,
-                                @Parameter(name = "retryInterval", desc = "retryInterval") long retryInterval,
-                                @Parameter(name = "retryIntervalMultiplier", desc = "retryIntervalMultiplier") double retryIntervalMultiplier,
-                                @Parameter(name = "maxRetryInterval", desc = "maxRetryInterval") long maxRetryInterval,
-                                @Parameter(name = "reconnectAttempts", desc = "reconnectAttempts") int reconnectAttempts,
-                                @Parameter(name = "failoverOnInitialConnection", desc = "failoverOnInitialConnection") boolean failoverOnInitialConnection,
-                                @Parameter(name = "groupId", desc = "groupId") String groupId) throws Exception;
-
-   @Operation(desc = "Destroy a JMS ConnectionFactory", impact = MBeanOperationInfo.ACTION)
-   void destroyConnectionFactory(@Parameter(name = "name", desc = "Name of the ConnectionFactory to destroy") String name) throws Exception;
-
-   /**
-    * Lists the addresses of all the clients connected to this address.
-    */
-   @Operation(desc = "List the client addresses", impact = MBeanOperationInfo.INFO)
-   String[] listRemoteAddresses() throws Exception;
-
-   /**
-    * Lists the addresses of the clients connected to this address which matches the specified IP address.
-    */
-   @Operation(desc = "List the client addresses which match the given IP Address", impact = MBeanOperationInfo.INFO)
-   String[] listRemoteAddresses(@Parameter(desc = "an IP address", name = "ipAddress") String ipAddress) throws Exception;
-
-   /**
-    * Closes all the connections of clients connected to this server which matches the specified IP address.
-    */
-   @Operation(desc = "Closes all the connections for the given IP Address", impact = MBeanOperationInfo.INFO)
-   boolean closeConnectionsForAddress(@Parameter(desc = "an IP address", name = "ipAddress") String ipAddress) throws Exception;
-
-   /**
-    * Closes all the connections on this server for consumers which are consuming from a queue associated with a particular address.
-    */
-   @Operation(desc = "Closes all the consumer connections for the given messaging address", impact = MBeanOperationInfo.INFO)
-   boolean closeConsumerConnectionsForAddress(@Parameter(desc = "a messaging address", name = "address") String address) throws Exception;
-
-   /**
-    * Closes all the connections on this server for sessions using a particular user name.
-    */
-   @Operation(desc = "Closes all the connections for session using a particular user name", impact = MBeanOperationInfo.INFO)
-   boolean closeConnectionsForUser(@Parameter(desc = "a user name", name = "userName") String address) throws Exception;
-
-   /**
-    * Lists all the IDs of the connections connected to this server.
-    */
-   @Operation(desc = "List all the connection IDs", impact = MBeanOperationInfo.INFO)
-   String[] listConnectionIDs() throws Exception;
-
-   /**
-    * Lists all the connections connected to this server.
-    * The returned String is a JSON string containing an array of JMSConnectionInfo objects.
-    *
-    * @see JMSConnectionInfo#from(String)
-    */
-   @Operation(desc = "List all JMS connections")
-   String listConnectionsAsJSON() throws Exception;
-
-   /**
-    * Lists all the sessions IDs for the specified connection ID.
-    */
-   @Operation(desc = "List the sessions for the given connectionID", impact = MBeanOperationInfo.INFO)
-   String[] listSessions(@Parameter(desc = "a connection ID", name = "connectionID") String connectionID) throws Exception;
-
-   /**
-    * Lists all the consumers which belongs to the JMS Connection specified by the connectionID.
-    * The returned String is a JSON string containing an array of JMSConsumerInfo objects.
-    *
-    * @see JMSConsumerInfo#from(String)
-    */
-   @Operation(desc = "List all JMS consumers associated with a JMS Connection")
-   String listConsumersAsJSON(@Parameter(desc = "a connection ID", name = "connectionID") String connectionID) throws Exception;
-
-   /**
-    * Lists all the consumers
-    * The returned String is a JSON string containing an array of JMSConsumerInfo objects.
-    *
-    * @see JMSConsumerInfo#from(String)
-    */
-   @Operation(desc = "List all JMS consumers associated with a JMS Connection")
-   String listAllConsumersAsJSON() throws Exception;
-
-   /**
-    * Lists all addresses to which the designated server session has sent messages.
-    */
-   @Operation(desc = "Lists all addresses to which the designated session has sent messages", impact = MBeanOperationInfo.INFO)
-   String[] listTargetDestinations(@Parameter(desc = "a session ID", name = "sessionID") String sessionID) throws Exception;
-
-   /**
-    * Returns the last sent message's ID from the given session to an address.
-    */
-   @Operation(desc = "Returns the last sent message's ID from the given session to an address", impact = MBeanOperationInfo.INFO)
-   String getLastSentMessageID(@Parameter(desc = "session name", name = "sessionID") String sessionID,
-                               @Parameter(desc = "address", name = "address") String address) throws Exception;
-
-   /**
-    * Gets the session's creation time.
-    */
-   @Operation(desc = "Gets the sessions creation time", impact = MBeanOperationInfo.INFO)
-   String getSessionCreationTime(@Parameter(desc = "session name", name = "sessionID") String sessionID) throws Exception;
-
-   /**
-    * Lists all the sessions IDs for the specified connection ID.
-    */
-   @Operation(desc = "List the sessions for the given connectionID", impact = MBeanOperationInfo.INFO)
-   String listSessionsAsJSON(@Parameter(desc = "a connection ID", name = "connectionID") String connectionID) throws Exception;
-
-   @Operation(desc = "List the Network Topology", impact = MBeanOperationInfo.INFO)
-   String listNetworkTopology() throws Exception;
-
-   /**
-    * List all the prepared transaction, sorted by date,
-    * oldest first, with details, in text format
-    */
-   @Operation(desc = "List all the prepared transaction, sorted by date, oldest first, with details, in JSON format", impact = MBeanOperationInfo.INFO)
-   String listPreparedTransactionDetailsAsJSON() throws Exception;
-
-   /**
-    * List all the prepared transaction, sorted by date,
-    * oldest first, with details, in HTML format
-    */
-   @Operation(desc = "List all the prepared transaction, sorted by date, oldest first, with details, in HTML format", impact = MBeanOperationInfo.INFO)
-   String listPreparedTransactionDetailsAsHTML() throws Exception;
-
-   /**
-    * List all the prepared transaction, sorted by date,
-    * oldest first, with details, in HTML format
-    */
-   @Operation(desc = "Will close any connection with the given connectionID", impact = MBeanOperationInfo.INFO)
-   String closeConnectionWithClientID(@Parameter(desc = "the clientID used to connect", name = "clientID") String clientID) throws Exception;
-}

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/a6f1167d/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSSessionInfo.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSSessionInfo.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSSessionInfo.java
deleted file mode 100644
index f09c5cd..0000000
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/api/jms/management/JMSSessionInfo.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.activemq.artemis.api.jms.management;
-
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-
-import org.apache.activemq.artemis.api.core.JsonUtil;
-
-public class JMSSessionInfo {
-
-   private final String sessionID;
-
-   private final long creationTime;
-
-   public JMSSessionInfo(String sessionID, long creationTime) {
-      this.sessionID = sessionID;
-      this.creationTime = creationTime;
-   }
-
-   public static JMSSessionInfo[] from(final String jsonString) {
-      JsonArray array = JsonUtil.readJsonArray(jsonString);
-      JMSSessionInfo[] infos = new JMSSessionInfo[array.size()];
-      for (int i = 0; i < array.size(); i++) {
-         JsonObject obj = array.getJsonObject(i);
-
-         JMSSessionInfo info = new JMSSessionInfo(obj.getString("sessionID"), obj.getJsonNumber("creationTime").longValue());
-         infos[i] = info;
-      }
-      return infos;
-   }
-
-   public String getSessionID() {
-      return sessionID;
-   }
-
-   public long getCreationTime() {
-      return creationTime;
-   }
-}