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

[4/5] activemq-artemis git commit: ARTEMIS-814: Moving classes around and adding docs

ARTEMIS-814: Moving classes around and adding docs


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

Branch: refs/heads/master
Commit: 2d1bdcd5bde39817b635e899061c6639ad62e754
Parents: e65fd5d
Author: Clebert Suconic <cl...@apache.org>
Authored: Mon Oct 24 09:00:52 2016 -0400
Committer: Clebert Suconic <cl...@apache.org>
Committed: Mon Oct 24 09:42:22 2016 -0400

----------------------------------------------------------------------
 ...ProtonClientConnectionLifeCycleListener.java | 107 -----------------
 .../broker/ProtonClientProtocolManager.java     | 117 ------------------
 ...ProtonClientConnectionLifeCycleListener.java | 110 +++++++++++++++++
 .../client/ProtonClientProtocolManager.java     | 119 +++++++++++++++++++
 .../protocol/amqp/client/package-info.java      |  22 ++++
 .../tests/integration/amqp/ProtonTest.java      |   4 +-
 6 files changed, 253 insertions(+), 226 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/2d1bdcd5/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ProtonClientConnectionLifeCycleListener.java
----------------------------------------------------------------------
diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ProtonClientConnectionLifeCycleListener.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ProtonClientConnectionLifeCycleListener.java
deleted file mode 100644
index cf43444..0000000
--- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ProtonClientConnectionLifeCycleListener.java
+++ /dev/null
@@ -1,107 +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.protocol.amqp.broker;
-
-import org.apache.activemq.artemis.api.core.ActiveMQBuffer;
-import org.apache.activemq.artemis.api.core.ActiveMQException;
-import org.apache.activemq.artemis.core.server.ActiveMQComponent;
-import org.apache.activemq.artemis.core.server.ActiveMQServer;
-import org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext;
-import org.apache.activemq.artemis.protocol.amqp.proton.AMQPConstants;
-import org.apache.activemq.artemis.spi.core.protocol.ConnectionEntry;
-import org.apache.activemq.artemis.spi.core.remoting.BaseConnectionLifeCycleListener;
-import org.apache.activemq.artemis.spi.core.remoting.BufferHandler;
-import org.apache.activemq.artemis.spi.core.remoting.Connection;
-import org.jboss.logging.Logger;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.Executor;
-
-/**
- * Manages the lifecycle of a proton client connection.
- */
-public class ProtonClientConnectionLifeCycleListener implements BaseConnectionLifeCycleListener<ProtonProtocolManager>, BufferHandler {
-   private final Map<Object, ConnectionEntry> connectionMap = new ConcurrentHashMap<>();
-   private final ActiveMQServer server;
-   private final int ttl;
-   private static final Logger log = Logger.getLogger(ProtonClientConnectionLifeCycleListener.class);
-
-   public ProtonClientConnectionLifeCycleListener(ActiveMQServer server, int ttl) {
-      this.server = server;
-      this.ttl = ttl;
-   }
-
-   @Override
-   public void connectionCreated(ActiveMQComponent component, Connection connection, ProtonProtocolManager protocolManager) {
-      AMQPConnectionCallback connectionCallback = new AMQPConnectionCallback(protocolManager, connection, server.getExecutorFactory().getExecutor(), server);
-
-      String id = server.getConfiguration().getName();
-      AMQPConnectionContext amqpConnection = new AMQPConnectionContext(connectionCallback, id, ttl, protocolManager.getMaxFrameSize(), AMQPConstants.Connection.DEFAULT_CHANNEL_MAX, server.getExecutorFactory().getExecutor(), server.getScheduledPool());
-      Executor executor = server.getExecutorFactory().getExecutor();
-      amqpConnection.open();
-
-      ActiveMQProtonRemotingConnection delegate = new ActiveMQProtonRemotingConnection(protocolManager, amqpConnection, connection, executor);
-
-      connectionCallback.setProtonConnectionDelegate(delegate);
-
-      ConnectionEntry connectionEntry = new ConnectionEntry(delegate, executor, System.currentTimeMillis(), ttl);
-      connectionMap.put(connection.getID(), connectionEntry);
-      log.info("Connection " + connection.getRemoteAddress() + " created");
-   }
-
-   @Override
-   public void connectionDestroyed(Object connectionID) {
-      ConnectionEntry connection = connectionMap.remove(connectionID);
-      if (connection != null) {
-         log.info("Connection " + connection.connection.getRemoteAddress() + " destroyed");
-         connection.connection.disconnect(false);
-      }
-   }
-
-   @Override
-   public void connectionException(Object connectionID, ActiveMQException me) {
-      ConnectionEntry connection = connectionMap.get(connectionID);
-      if (connection != null) {
-         log.info("Connection " + connection.connection.getRemoteAddress() + " exception: " + me.getMessage());
-         connection.connection.fail(me);
-      }
-   }
-
-   @Override
-   public void connectionReadyForWrites(Object connectionID, boolean ready) {
-      ConnectionEntry connection = connectionMap.get(connectionID);
-      if (connection != null) {
-         log.info("Connection " + connection.connection.getRemoteAddress() + " ready");
-         connection.connection.getTransportConnection().fireReady(true);
-      }
-   }
-
-   public void stop() {
-      for (ConnectionEntry entry : connectionMap.values()) {
-         entry.connection.disconnect(false);
-      }
-   }
-
-   @Override
-   public void bufferReceived(Object connectionID, ActiveMQBuffer buffer) {
-      ConnectionEntry entry = connectionMap.get(connectionID);
-      if (entry != null) {
-         entry.connection.bufferReceived(connectionID, buffer);
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/2d1bdcd5/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ProtonClientProtocolManager.java
----------------------------------------------------------------------
diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ProtonClientProtocolManager.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ProtonClientProtocolManager.java
deleted file mode 100644
index eca02d7..0000000
--- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ProtonClientProtocolManager.java
+++ /dev/null
@@ -1,117 +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.protocol.amqp.broker;
-
-import io.netty.channel.ChannelPipeline;
-import org.apache.activemq.artemis.api.core.ActiveMQException;
-import org.apache.activemq.artemis.api.core.Interceptor;
-import org.apache.activemq.artemis.api.core.client.ClientSessionFactory;
-import org.apache.activemq.artemis.core.server.ActiveMQServer;
-import org.apache.activemq.artemis.spi.core.protocol.RemotingConnection;
-import org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager;
-import org.apache.activemq.artemis.spi.core.remoting.Connection;
-import org.apache.activemq.artemis.spi.core.remoting.SessionContext;
-import org.apache.activemq.artemis.spi.core.remoting.TopologyResponseHandler;
-
-import java.util.List;
-import java.util.concurrent.locks.Lock;
-
-/**
- * Handles proton protocol management for clients, mapping the {@link ProtonProtocolManager} to the {@link org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager} API.
- *
- * TODO: Find a common base for ProtocolManager and ClientProtocolManager.
- */
-public class ProtonClientProtocolManager extends ProtonProtocolManager implements ClientProtocolManager {
-
-   public ProtonClientProtocolManager(ProtonProtocolManagerFactory factory, ActiveMQServer server) {
-      super(factory, server);
-   }
-
-   @Override
-   public void stop() {
-      throw new UnsupportedOperationException();
-   }
-
-   @Override
-   public RemotingConnection connect(Connection transportConnection, long callTimeout, long callFailoverTimeout, List<Interceptor> incomingInterceptors, List<Interceptor> outgoingInterceptors, TopologyResponseHandler topologyResponseHandler) {
-      throw new UnsupportedOperationException();
-   }
-
-   @Override
-   public RemotingConnection getCurrentConnection() {
-      throw new UnsupportedOperationException();
-   }
-
-   @Override
-   public Lock lockSessionCreation() {
-      throw new UnsupportedOperationException();
-   }
-
-   @Override
-   public boolean waitOnLatch(long milliseconds) throws InterruptedException {
-      throw new UnsupportedOperationException();
-   }
-
-   @Override
-   public boolean isAlive() {
-      throw new UnsupportedOperationException();
-   }
-
-   @Override
-   public void addChannelHandlers(ChannelPipeline pipeline) {
-   }
-
-   @Override
-   public void sendSubscribeTopology(boolean isServer) {
-      throw new UnsupportedOperationException();
-   }
-
-   @Override
-   public void ping(long connectionTTL) {
-      throw new UnsupportedOperationException();
-   }
-
-   @Override
-   public SessionContext createSessionContext(String name, String username, String password, boolean xa, boolean autoCommitSends, boolean autoCommitAcks, boolean preAcknowledge, int minLargeMessageSize, int confirmationWindowSize) throws ActiveMQException {
-      throw new UnsupportedOperationException();
-   }
-
-   @Override
-   public boolean cleanupBeforeFailover(ActiveMQException cause) {
-      throw new UnsupportedOperationException();
-   }
-
-   @Override
-   public boolean checkForFailover(String liveNodeID) throws ActiveMQException {
-      throw new UnsupportedOperationException();
-   }
-
-   @Override
-   public void setSessionFactory(ClientSessionFactory factory) {
-      throw new UnsupportedOperationException();
-   }
-
-   @Override
-   public ClientSessionFactory getSessionFactory() {
-      throw new UnsupportedOperationException();
-   }
-
-   @Override
-   public String getName() {
-      throw new UnsupportedOperationException();
-   }
-}

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/2d1bdcd5/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/client/ProtonClientConnectionLifeCycleListener.java
----------------------------------------------------------------------
diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/client/ProtonClientConnectionLifeCycleListener.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/client/ProtonClientConnectionLifeCycleListener.java
new file mode 100644
index 0000000..12da243
--- /dev/null
+++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/client/ProtonClientConnectionLifeCycleListener.java
@@ -0,0 +1,110 @@
+/*
+ * 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.protocol.amqp.client;
+
+import org.apache.activemq.artemis.api.core.ActiveMQBuffer;
+import org.apache.activemq.artemis.api.core.ActiveMQException;
+import org.apache.activemq.artemis.core.server.ActiveMQComponent;
+import org.apache.activemq.artemis.core.server.ActiveMQServer;
+import org.apache.activemq.artemis.protocol.amqp.broker.AMQPConnectionCallback;
+import org.apache.activemq.artemis.protocol.amqp.broker.ActiveMQProtonRemotingConnection;
+import org.apache.activemq.artemis.protocol.amqp.broker.ProtonProtocolManager;
+import org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext;
+import org.apache.activemq.artemis.protocol.amqp.proton.AMQPConstants;
+import org.apache.activemq.artemis.spi.core.protocol.ConnectionEntry;
+import org.apache.activemq.artemis.spi.core.remoting.BaseConnectionLifeCycleListener;
+import org.apache.activemq.artemis.spi.core.remoting.BufferHandler;
+import org.apache.activemq.artemis.spi.core.remoting.Connection;
+import org.jboss.logging.Logger;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.Executor;
+
+/**
+ * Manages the lifecycle of a proton client connection.
+ */
+public class ProtonClientConnectionLifeCycleListener implements BaseConnectionLifeCycleListener<ProtonProtocolManager>, BufferHandler {
+   private final Map<Object, ConnectionEntry> connectionMap = new ConcurrentHashMap<>();
+   private final ActiveMQServer server;
+   private final int ttl;
+   private static final Logger log = Logger.getLogger(ProtonClientConnectionLifeCycleListener.class);
+
+   public ProtonClientConnectionLifeCycleListener(ActiveMQServer server, int ttl) {
+      this.server = server;
+      this.ttl = ttl;
+   }
+
+   @Override
+   public void connectionCreated(ActiveMQComponent component, Connection connection, ProtonProtocolManager protocolManager) {
+      AMQPConnectionCallback connectionCallback = new AMQPConnectionCallback(protocolManager, connection, server.getExecutorFactory().getExecutor(), server);
+
+      String id = server.getConfiguration().getName();
+      AMQPConnectionContext amqpConnection = new AMQPConnectionContext(connectionCallback, id, ttl, protocolManager.getMaxFrameSize(), AMQPConstants.Connection.DEFAULT_CHANNEL_MAX, server.getExecutorFactory().getExecutor(), server.getScheduledPool());
+      Executor executor = server.getExecutorFactory().getExecutor();
+      amqpConnection.open();
+
+      ActiveMQProtonRemotingConnection delegate = new ActiveMQProtonRemotingConnection(protocolManager, amqpConnection, connection, executor);
+
+      connectionCallback.setProtonConnectionDelegate(delegate);
+
+      ConnectionEntry connectionEntry = new ConnectionEntry(delegate, executor, System.currentTimeMillis(), ttl);
+      connectionMap.put(connection.getID(), connectionEntry);
+      log.info("Connection " + connection.getRemoteAddress() + " created");
+   }
+
+   @Override
+   public void connectionDestroyed(Object connectionID) {
+      ConnectionEntry connection = connectionMap.remove(connectionID);
+      if (connection != null) {
+         log.info("Connection " + connection.connection.getRemoteAddress() + " destroyed");
+         connection.connection.disconnect(false);
+      }
+   }
+
+   @Override
+   public void connectionException(Object connectionID, ActiveMQException me) {
+      ConnectionEntry connection = connectionMap.get(connectionID);
+      if (connection != null) {
+         log.info("Connection " + connection.connection.getRemoteAddress() + " exception: " + me.getMessage());
+         connection.connection.fail(me);
+      }
+   }
+
+   @Override
+   public void connectionReadyForWrites(Object connectionID, boolean ready) {
+      ConnectionEntry connection = connectionMap.get(connectionID);
+      if (connection != null) {
+         log.info("Connection " + connection.connection.getRemoteAddress() + " ready");
+         connection.connection.getTransportConnection().fireReady(true);
+      }
+   }
+
+   public void stop() {
+      for (ConnectionEntry entry : connectionMap.values()) {
+         entry.connection.disconnect(false);
+      }
+   }
+
+   @Override
+   public void bufferReceived(Object connectionID, ActiveMQBuffer buffer) {
+      ConnectionEntry entry = connectionMap.get(connectionID);
+      if (entry != null) {
+         entry.connection.bufferReceived(connectionID, buffer);
+      }
+   }
+}

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/2d1bdcd5/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/client/ProtonClientProtocolManager.java
----------------------------------------------------------------------
diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/client/ProtonClientProtocolManager.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/client/ProtonClientProtocolManager.java
new file mode 100644
index 0000000..d158841
--- /dev/null
+++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/client/ProtonClientProtocolManager.java
@@ -0,0 +1,119 @@
+/*
+ * 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.protocol.amqp.client;
+
+import io.netty.channel.ChannelPipeline;
+import org.apache.activemq.artemis.api.core.ActiveMQException;
+import org.apache.activemq.artemis.api.core.Interceptor;
+import org.apache.activemq.artemis.api.core.client.ClientSessionFactory;
+import org.apache.activemq.artemis.core.server.ActiveMQServer;
+import org.apache.activemq.artemis.protocol.amqp.broker.ProtonProtocolManager;
+import org.apache.activemq.artemis.protocol.amqp.broker.ProtonProtocolManagerFactory;
+import org.apache.activemq.artemis.spi.core.protocol.RemotingConnection;
+import org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager;
+import org.apache.activemq.artemis.spi.core.remoting.Connection;
+import org.apache.activemq.artemis.spi.core.remoting.SessionContext;
+import org.apache.activemq.artemis.spi.core.remoting.TopologyResponseHandler;
+
+import java.util.List;
+import java.util.concurrent.locks.Lock;
+
+/**
+ * Handles proton protocol management for clients, mapping the {@link ProtonProtocolManager} to the {@link org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager} API.
+ * This is currently very basic and only supports Connecting to a broker,
+ * which will be useful in scenarios where the broker needs to connect to another broker through AMQP into another broker (like Interconnect) that will perform extra functionality.
+ */
+public class ProtonClientProtocolManager extends ProtonProtocolManager implements ClientProtocolManager {
+
+   public ProtonClientProtocolManager(ProtonProtocolManagerFactory factory, ActiveMQServer server) {
+      super(factory, server);
+   }
+
+   @Override
+   public void stop() {
+      throw new UnsupportedOperationException();
+   }
+
+   @Override
+   public RemotingConnection connect(Connection transportConnection, long callTimeout, long callFailoverTimeout, List<Interceptor> incomingInterceptors, List<Interceptor> outgoingInterceptors, TopologyResponseHandler topologyResponseHandler) {
+      throw new UnsupportedOperationException();
+   }
+
+   @Override
+   public RemotingConnection getCurrentConnection() {
+      throw new UnsupportedOperationException();
+   }
+
+   @Override
+   public Lock lockSessionCreation() {
+      throw new UnsupportedOperationException();
+   }
+
+   @Override
+   public boolean waitOnLatch(long milliseconds) throws InterruptedException {
+      throw new UnsupportedOperationException();
+   }
+
+   @Override
+   public boolean isAlive() {
+      throw new UnsupportedOperationException();
+   }
+
+   @Override
+   public void addChannelHandlers(ChannelPipeline pipeline) {
+   }
+
+   @Override
+   public void sendSubscribeTopology(boolean isServer) {
+      throw new UnsupportedOperationException();
+   }
+
+   @Override
+   public void ping(long connectionTTL) {
+      throw new UnsupportedOperationException();
+   }
+
+   @Override
+   public SessionContext createSessionContext(String name, String username, String password, boolean xa, boolean autoCommitSends, boolean autoCommitAcks, boolean preAcknowledge, int minLargeMessageSize, int confirmationWindowSize) throws ActiveMQException {
+      throw new UnsupportedOperationException();
+   }
+
+   @Override
+   public boolean cleanupBeforeFailover(ActiveMQException cause) {
+      throw new UnsupportedOperationException();
+   }
+
+   @Override
+   public boolean checkForFailover(String liveNodeID) throws ActiveMQException {
+      throw new UnsupportedOperationException();
+   }
+
+   @Override
+   public void setSessionFactory(ClientSessionFactory factory) {
+      throw new UnsupportedOperationException();
+   }
+
+   @Override
+   public ClientSessionFactory getSessionFactory() {
+      throw new UnsupportedOperationException();
+   }
+
+   @Override
+   public String getName() {
+      throw new UnsupportedOperationException();
+   }
+}

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/2d1bdcd5/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/client/package-info.java
----------------------------------------------------------------------
diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/client/package-info.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/client/package-info.java
new file mode 100644
index 0000000..ec8855e
--- /dev/null
+++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/client/package-info.java
@@ -0,0 +1,22 @@
+/*
+ * 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.
+ */
+
+/**
+ * This contains a very limited ClientProtocolmanager for AMQP / Proton
+ * Where it only satisfies very basic functionality.
+ */
+package org.apache.activemq.artemis.protocol.amqp.client;

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/2d1bdcd5/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/ProtonTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/ProtonTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/ProtonTest.java
index c1d1b71..53ced4e 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/ProtonTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/ProtonTest.java
@@ -69,8 +69,8 @@ import org.apache.activemq.artemis.core.server.ActiveMQServer;
 import org.apache.activemq.artemis.core.server.Queue;
 import org.apache.activemq.artemis.core.settings.impl.AddressFullMessagePolicy;
 import org.apache.activemq.artemis.core.settings.impl.AddressSettings;
-import org.apache.activemq.artemis.protocol.amqp.broker.ProtonClientConnectionLifeCycleListener;
-import org.apache.activemq.artemis.protocol.amqp.broker.ProtonClientProtocolManager;
+import org.apache.activemq.artemis.protocol.amqp.client.ProtonClientConnectionLifeCycleListener;
+import org.apache.activemq.artemis.protocol.amqp.client.ProtonClientProtocolManager;
 import org.apache.activemq.artemis.protocol.amqp.broker.ProtonProtocolManagerFactory;
 import org.apache.activemq.artemis.protocol.amqp.proton.AmqpSupport;
 import org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerReceiverContext;