Author: kwall
Date: Sun Jul 26 21:44:23 2015
New Revision: 1692774
URL: http://svn.apache.org/r1692774
Log:
QPID-6658: [Java Broker] Add derived attribute 'protocol' to Connection model
object and expose through management UI
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Connection.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/AbstractAMQPConnection.java
qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10.java
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8.java
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_8.java
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_9.java
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_9_1.java
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngineTest.java
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/InternalTestProtocolSession.java
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Connection.js
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showConnection.html
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Connection.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Connection.java?rev=1692774&r1=1692773&r2=1692774&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Connection.java
(original)
+++
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Connection.java
Sun Jul 26 21:44:23 2015
@@ -82,6 +82,9 @@ public interface Connection<X extends Co
Transport getTransport();
@DerivedAttribute
+ Protocol getProtocol();
+
+ @DerivedAttribute
VirtualHost getVirtualHost();
@DerivedAttribute
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/AbstractAMQPConnection.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/AbstractAMQPConnection.java?rev=1692774&r1=1692773&r2=1692774&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/AbstractAMQPConnection.java
(original)
+++
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/AbstractAMQPConnection.java
Sun Jul 26 21:44:23 2015
@@ -49,6 +49,7 @@ import org.apache.qpid.server.model.Abst
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.Port;
+import org.apache.qpid.server.model.Protocol;
import org.apache.qpid.server.model.Session;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.StateTransition;
@@ -74,18 +75,19 @@ public abstract class AbstractAMQPConnec
private final NetworkConnection _network;
private final AmqpPort<?> _port;
private final Transport _transport;
+ private final Protocol _protocol;
private final long _connectionId;
private final AggregateTicker _aggregateTicker;
private final Subject _subject = new Subject();
private final List<Action<? super C>> _connectionCloseTaskList =
new CopyOnWriteArrayList<>();
- private final LogSubject _logSubject;
+ private final LogSubject _logSubject;
private String _clientProduct;
private String _clientVersion;
private String _remoteProcessPid;
- private String _clientId;
+ private String _clientId;
private volatile boolean _stopped;
private final StatisticsCounter _messagesDelivered, _dataDelivered,
_messagesReceived, _dataReceived;
private final SettableFuture<Void> _transportClosedFuture =
SettableFuture.create();
@@ -98,8 +100,9 @@ public abstract class AbstractAMQPConnec
NetworkConnection network,
AmqpPort<?> port,
Transport transport,
+ Protocol protocol,
long connectionId,
- final AggregateTicker aggregateTicker)
+ AggregateTicker aggregateTicker)
{
super(parentsMap(port),createAttributes(connectionId, network));
@@ -107,6 +110,7 @@ public abstract class AbstractAMQPConnec
_network = network;
_port = port;
_transport = transport;
+ _protocol = protocol;
_connectionId = connectionId;
_aggregateTicker = aggregateTicker;
_subject.getPrincipals().add(new ConnectionPrincipal(this));
@@ -177,6 +181,12 @@ public abstract class AbstractAMQPConnec
}
@Override
+ public Protocol getProtocol()
+ {
+ return _protocol;
+ }
+
+ @Override
public final AggregateTicker getAggregateTicker()
{
return _aggregateTicker;
Modified:
qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10.java?rev=1692774&r1=1692773&r2=1692774&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10.java
(original)
+++
qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10.java
Sun Jul 26 21:44:23 2015
@@ -37,6 +37,7 @@ import org.slf4j.LoggerFactory;
import org.apache.qpid.protocol.AMQConstant;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.Protocol;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.Transport;
import org.apache.qpid.server.model.VirtualHost;
@@ -84,7 +85,7 @@ public class AMQPConnection_0_10 extends
final long id,
final AggregateTicker aggregateTicker)
{
- super(broker, network, port, transport, id, aggregateTicker);
+ super(broker, network, port, transport, Protocol.AMQP_0_10, id,
aggregateTicker);
_connection = new ServerConnection(id, broker, port, transport);
_connection.setAmqpConnection(this);
Modified:
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8.java?rev=1692774&r1=1692773&r2=1692774&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8.java
(original)
+++
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8.java
Sun Jul 26 21:44:23 2015
@@ -59,6 +59,7 @@ import org.apache.qpid.common.ServerProp
import org.apache.qpid.framing.*;
import org.apache.qpid.properties.ConnectionStartProperties;
import org.apache.qpid.protocol.AMQConstant;
+import org.apache.qpid.server.model.Protocol;
import org.apache.qpid.server.protocol.ConnectionClosingTicker;
import org.apache.qpid.server.transport.AbstractAMQPConnection;
import org.apache.qpid.server.transport.ProtocolEngine;
@@ -170,11 +171,14 @@ public class AMQPConnection_0_8
private final AtomicReference<Thread> _messageAssignmentSuspended = new
AtomicReference<>();
public AMQPConnection_0_8(Broker<?> broker,
- final NetworkConnection network,
- AmqpPort<?> port, Transport transport, final
long connectionId,
- final AggregateTicker aggregateTicker)
+ NetworkConnection network,
+ AmqpPort<?> port,
+ Transport transport,
+ Protocol protocol,
+ long connectionId,
+ AggregateTicker aggregateTicker)
{
- super(broker, network, port, transport, connectionId, aggregateTicker);
+ super(broker, network, port, transport, protocol, connectionId,
aggregateTicker);
_maxNoOfChannels = broker.getConnection_sessionCountLimit();
_decoder = new BrokerDecoder(this);
_binaryDataLimit =
getBroker().getContextKeys(false).contains(BROKER_DEBUG_BINARY_DATA_LENGTH)
Modified:
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_8.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_8.java?rev=1692774&r1=1692773&r2=1692774&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_8.java
(original)
+++
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_8.java
Sun Jul 26 21:44:23 2015
@@ -66,7 +66,7 @@ public class ProtocolEngineCreator_0_8 i
long id, final AggregateTicker
aggregateTicker)
{
final AMQPConnection_0_8 protocolEngine =
- new AMQPConnection_0_8(broker, network, port, transport, id,
aggregateTicker);
+ new AMQPConnection_0_8(broker, network, port, transport,
getVersion(), id, aggregateTicker);
protocolEngine.create();
return protocolEngine;
}
Modified:
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_9.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_9.java?rev=1692774&r1=1692773&r2=1692774&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_9.java
(original)
+++
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_9.java
Sun Jul 26 21:44:23 2015
@@ -66,7 +66,7 @@ public class ProtocolEngineCreator_0_9 i
long id, final AggregateTicker
aggregateTicker)
{
final AMQPConnection_0_8 protocolEngine =
- new AMQPConnection_0_8(broker, network, port, transport, id,
aggregateTicker);
+ new AMQPConnection_0_8(broker, network, port, transport,
getVersion(), id, aggregateTicker);
protocolEngine.create();
return protocolEngine;
}
Modified:
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_9_1.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_9_1.java?rev=1692774&r1=1692773&r2=1692774&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_9_1.java
(original)
+++
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_9_1.java
Sun Jul 26 21:44:23 2015
@@ -67,7 +67,7 @@ public class ProtocolEngineCreator_0_9_1
long id, final AggregateTicker
aggregateTicker)
{
final AMQPConnection_0_8 protocolEngine =
- new AMQPConnection_0_8(broker, network, port, transport, id,
aggregateTicker);
+ new AMQPConnection_0_8(broker, network, port, transport,
getVersion(), id, aggregateTicker);
protocolEngine.create();
return protocolEngine;
}
Modified:
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngineTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngineTest.java?rev=1692774&r1=1692773&r2=1692774&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngineTest.java
(original)
+++
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngineTest.java
Sun Jul 26 21:44:23 2015
@@ -33,6 +33,7 @@ import org.apache.qpid.server.configurat
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.Port;
+import org.apache.qpid.server.model.Protocol;
import org.apache.qpid.server.model.Transport;
import org.apache.qpid.server.model.port.AmqpPort;
import org.apache.qpid.server.util.BrokerTestHelper;
@@ -46,6 +47,7 @@ public class AMQProtocolEngineTest exten
private AmqpPort _port;
private NetworkConnection _network;
private Transport _transport;
+ private Protocol _protocol;
public void setUp() throws Exception
{
@@ -65,6 +67,7 @@ public class AMQProtocolEngineTest exten
_network = mock(NetworkConnection.class);
_transport = Transport.TCP;
+ _protocol = Protocol.AMQP_0_8;
}
public void tearDown() throws Exception
@@ -82,11 +85,11 @@ public class AMQProtocolEngineTest exten
public void testSetClientPropertiesForNoRouteProvidedAsString()
{
AMQPConnection_0_8
- engine = new AMQPConnection_0_8(_broker, _network, _port,
_transport, 0, new AggregateTicker());
+ engine = new AMQPConnection_0_8(_broker, _network, _port,
_transport, _protocol, 0, new AggregateTicker());
engine.create();
assertTrue("Unexpected closeWhenNoRoute before client properties set",
engine.isCloseWhenNoRoute());
- Map<String, Object> clientProperties = new HashMap<String, Object>();
+ Map<String, Object> clientProperties = new HashMap<>();
clientProperties.put(ConnectionStartProperties.QPID_CLOSE_WHEN_NO_ROUTE,
Boolean.FALSE.toString());
engine.setClientProperties(FieldTable.convertToFieldTable(clientProperties));
@@ -96,11 +99,11 @@ public class AMQProtocolEngineTest exten
public void testSetClientPropertiesForNoRouteProvidedAsBoolean()
{
AMQPConnection_0_8
- engine = new AMQPConnection_0_8(_broker, _network, _port,
_transport, 0, new AggregateTicker());
+ engine = new AMQPConnection_0_8(_broker, _network, _port,
_transport, _protocol, 0, new AggregateTicker());
engine.create();
assertTrue("Unexpected closeWhenNoRoute before client properties set",
engine.isCloseWhenNoRoute());
- Map<String, Object> clientProperties = new HashMap<String, Object>();
+ Map<String, Object> clientProperties = new HashMap<>();
clientProperties.put(ConnectionStartProperties.QPID_CLOSE_WHEN_NO_ROUTE,
Boolean.FALSE);
engine.setClientProperties(FieldTable.convertToFieldTable(clientProperties));
Modified:
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/InternalTestProtocolSession.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/InternalTestProtocolSession.java?rev=1692774&r1=1692773&r2=1692774&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/InternalTestProtocolSession.java
(original)
+++
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/InternalTestProtocolSession.java
Sun Jul 26 21:44:23 2015
@@ -48,6 +48,7 @@ import org.apache.qpid.server.message.In
import org.apache.qpid.server.message.MessageContentSource;
import org.apache.qpid.server.message.ServerMessage;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.Protocol;
import org.apache.qpid.server.model.port.AmqpPort;
import org.apache.qpid.server.security.auth.AuthenticatedPrincipal;
import org.apache.qpid.server.security.auth.UsernamePrincipal;
@@ -67,7 +68,8 @@ public class InternalTestProtocolSession
public InternalTestProtocolSession(VirtualHostImpl virtualHost, Broker<?>
broker, final AmqpPort<?> port) throws
QpidException
{
- super(broker, new TestNetworkConnection(), port, null,
ID_GENERATOR.getAndIncrement(), new AggregateTicker());
+ super(broker, new TestNetworkConnection(), port, null, null,
+ ID_GENERATOR.getAndIncrement(), new AggregateTicker());
_channelDelivers = new HashMap<Integer, Map<String,
LinkedList<DeliveryPair>>>();
@@ -104,7 +106,6 @@ public class InternalTestProtocolSession
int replyCode,
AMQShortString replyText)
{
- //To change body of implemented methods use File | Settings | File
Templates.
}
public byte getProtocolMinorVersion()
@@ -363,4 +364,6 @@ public class InternalTestProtocolSession
{
}
}
+
+
}
Modified:
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java?rev=1692774&r1=1692773&r2=1692774&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java
(original)
+++
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java
Sun Jul 26 21:44:23 2015
@@ -54,6 +54,7 @@ import org.apache.qpid.common.QpidProper
import org.apache.qpid.common.ServerPropertyNames;
import org.apache.qpid.protocol.AMQConstant;
import org.apache.qpid.server.logging.EventLogger;
+import org.apache.qpid.server.model.Protocol;
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.protocol.ConnectionClosingTicker;
import org.apache.qpid.server.transport.AbstractAMQPConnection;
@@ -152,7 +153,7 @@ public class AMQPConnection_1_0 extends
final AggregateTicker aggregateTicker,
final boolean useSASL)
{
- super(broker, network, port, transport, id, aggregateTicker);
+ super(broker, network, port, transport, Protocol.AMQP_1_0, id,
aggregateTicker);
_broker = broker;
_connection = createConnection(broker, network, port, transport, id,
useSASL);
Modified:
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Connection.js
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Connection.js?rev=1692774&r1=1692773&r2=1692774&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Connection.js
(original)
+++
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Connection.js
Sun Jul 26 21:44:23 2015
@@ -103,6 +103,7 @@ define(["dojo/parser",
"principal",
"port",
"transport",
+ "protocol",
"remoteProcessPid",
"createdTime",
"lastIoTime",
@@ -161,6 +162,7 @@ define(["dojo/parser",
this.principal.innerHTML =
entities.encode(String(this.connectionData[ "principal" ]));
this.port.innerHTML =
entities.encode(String(this.connectionData[ "port" ]));
this.transport.innerHTML =
entities.encode(String(this.connectionData[ "transport" ]));
+ this.protocol.innerHTML =
entities.encode(String(this.connectionData[ "protocol" ]));
var remoteProcessPid = this.connectionData[ "remoteProcessPid" ];
this.remoteProcessPid.innerHTML =
entities.encode(String(remoteProcessPid ? remoteProcessPid : "N/A"));
var userPreferences = this.management.userPreferences;
Modified:
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showConnection.html
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showConnection.html?rev=1692774&r1=1692773&r2=1692774&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showConnection.html
(original)
+++
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showConnection.html
Sun Jul 26 21:44:23 2015
@@ -83,6 +83,10 @@
<div class="formLabel-labelCell">Transport:</div>
<div class="transport"></div>
</div>
+ <div class="clear">
+ <div class="formLabel-labelCell">Protocol:</div>
+ <div class="protocol"></div>
+ </div>
</div>
<div class="dijitDialogPaneActionBar">
<button data-dojo-type="dijit.form.Button" class="closeButton"
data-dojo-props="iconClass: 'dijitIconDelete'">Close</button>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]