You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ma...@apache.org on 2017/11/29 08:54:00 UTC
[1/2] activemq-artemis git commit: ARTEMIS-1364: Enable internal
sorting in hawtio web console
Repository: activemq-artemis
Updated Branches:
refs/heads/master e714af7ab -> 4584ac697
ARTEMIS-1364: Enable internal sorting in hawtio web console
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/4abca787
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/4abca787
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/4abca787
Branch: refs/heads/master
Commit: 4abca78785288092cf40d5d314eef8c528977686
Parents: e714af7
Author: saurabhrai <ra...@hotmail.com>
Authored: Wed Nov 1 14:07:46 2017 +0530
Committer: Martyn Taylor <mt...@redhat.com>
Committed: Wed Nov 29 08:52:33 2017 +0000
----------------------------------------------------------------------
.../core/impl/RemotingConnectionImpl.java | 5 ++
.../spi/core/protocol/RemotingConnection.java | 10 ++++
.../src/main/webapp/plugin/js/addresses.js | 16 +++--
.../src/main/webapp/plugin/js/connections.js | 19 +++---
.../src/main/webapp/plugin/js/consumers.js | 34 ++++++-----
.../src/main/webapp/plugin/js/producers.js | 28 +++++----
.../src/main/webapp/plugin/js/queues.js | 18 +++---
.../src/main/webapp/plugin/js/sessions.js | 16 ++---
.../ActiveMQProtonRemotingConnection.java | 6 ++
.../core/protocol/mqtt/MQTTConnection.java | 6 ++
.../protocol/openwire/OpenWireConnection.java | 6 ++
.../core/protocol/stomp/StompConnection.java | 7 +++
.../impl/ActiveMQServerControlImpl.java | 7 ++-
.../impl/view/ActiveMQAbstractView.java | 8 +++
.../core/management/impl/view/AddressView.java | 13 ++--
.../management/impl/view/ConnectionView.java | 4 +-
.../core/management/impl/view/ConsumerView.java | 4 +-
.../core/management/impl/view/ProducerView.java | 2 +-
.../core/management/impl/view/QueueView.java | 2 +-
.../core/management/impl/view/SessionView.java | 4 +-
.../view/predicate/AddressFilterPredicate.java | 6 +-
.../artemis/core/server/ConsumerInfo.java | 63 ++++++++++++++++++++
.../artemis/core/server/ServerConsumer.java | 6 +-
.../artemis/core/server/ServerSession.java | 6 +-
.../core/server/impl/ServerConsumerImpl.java | 47 ++++++++++++++-
.../core/server/impl/ServerSessionImpl.java | 12 +++-
.../integration/cli/DummyServerConsumer.java | 56 +++++++++++++++++
27 files changed, 326 insertions(+), 85 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/RemotingConnectionImpl.java
----------------------------------------------------------------------
diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/RemotingConnectionImpl.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/RemotingConnectionImpl.java
index 480d3dc..17f96fb 100644
--- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/RemotingConnectionImpl.java
+++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/RemotingConnectionImpl.java
@@ -379,6 +379,11 @@ public class RemotingConnectionImpl extends AbstractRemotingConnection implement
}
}
+ @Override
+ public String getTransportLocalAddress() {
+ return getTransportConnection().getLocalAddress();
+ }
+
private void doBufferReceived(final Packet packet) {
if (ChannelImpl.invokeInterceptors(packet, incomingInterceptors, this) != null) {
return;
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-core-client/src/main/java/org/apache/activemq/artemis/spi/core/protocol/RemotingConnection.java
----------------------------------------------------------------------
diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/spi/core/protocol/RemotingConnection.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/spi/core/protocol/RemotingConnection.java
index 9fc40a3..f2ff5d7 100644
--- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/spi/core/protocol/RemotingConnection.java
+++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/spi/core/protocol/RemotingConnection.java
@@ -232,4 +232,14 @@ public interface RemotingConnection extends BufferHandler {
* @return
*/
String getClientID();
+
+ /**
+ * Returns a string representation of the local address this connection is connected to.
+ * This is useful when the server is configured at 0.0.0.0 (or multiple IPs).
+ * This will give you the actual IP that's being used.
+ *
+ * @return the local address of transport connection
+ */
+ String getTransportLocalAddress();
+
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/addresses.js
----------------------------------------------------------------------
diff --git a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/addresses.js b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/addresses.js
index fd53554..ea196ac 100644
--- a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/addresses.js
+++ b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/addresses.js
@@ -49,12 +49,14 @@ var ARTEMIS = (function(ARTEMIS) {
{
field: 'routingTypes',
displayName: 'Routing Types',
- width: '*'
+ width: '*',
+ sortable: false
},
{
field: 'queueCount',
displayName: 'Queue Count',
- width: '*'
+ width: '*',
+ sortable: false
}
];
$scope.filter = {
@@ -107,8 +109,9 @@ var ARTEMIS = (function(ARTEMIS) {
pageSize: 100,
currentPage: 1
};
- $scope.sort = {
- fields: ["ID"],
+ $scope.sortOptions = {
+ fields: ["id"],
+ columns: ["id"],
directions: ["asc"]
};
var refreshed = false;
@@ -148,8 +151,9 @@ var ARTEMIS = (function(ARTEMIS) {
$scope.loadTable();
};
$scope.loadTable = function () {
- $scope.filter.values.sortColumn = $scope.sort.fields[0];
- $scope.filter.values.sortBy = $scope.sort.directions[0];
+ $scope.filter.values.sortColumn = $scope.sortOptions.fields[0];
+ $scope.filter.values.sortBy = $scope.sortOptions.directions[0];
+ $scope.filter.values.sortOrder = $scope.sortOptions.directions[0];
var mbean = getBrokerMBean(jolokia);
if (mbean) {
var filter = JSON.stringify($scope.filter.values);
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/connections.js
----------------------------------------------------------------------
diff --git a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/connections.js b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/connections.js
index fcabc42..2329552 100644
--- a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/connections.js
+++ b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/connections.js
@@ -31,7 +31,7 @@ var ARTEMIS = (function(ARTEMIS) {
var method = 'listConnections(java.lang.String, int, int)';
var attributes = [
{
- field: 'connectionID',
+ field: 'iD',
displayName: 'ID',
width: '*'
},
@@ -46,7 +46,7 @@ var ARTEMIS = (function(ARTEMIS) {
width: '*'
},
{
- field: 'protocol',
+ field: 'protocolName',
displayName: 'Protocol',
width: '*'
},
@@ -55,6 +55,7 @@ var ARTEMIS = (function(ARTEMIS) {
displayName: 'Session Count',
width: '*',
cellTemplate: '<div class="ngCellText"><a ng-click="selectSessions(row)">{{row.entity.sessionCount}}</a></div>',
+ sortable: false
},
{
field: 'remoteAddress',
@@ -62,7 +63,7 @@ var ARTEMIS = (function(ARTEMIS) {
width: '*'
},
{
- field: 'localAddress',
+ field: 'transportLocalAddress',
displayName: 'Local Address',
width: '*'
},
@@ -94,7 +95,7 @@ var ARTEMIS = (function(ARTEMIS) {
operation: "",
value: "",
sortOrder: "asc",
- sortBy: "CONNECTION_ID"
+ sortBy: "iD"
}
};
@@ -140,8 +141,9 @@ var ARTEMIS = (function(ARTEMIS) {
pageSize: 100,
currentPage: 1
};
- $scope.sort = {
- fields: ["ID"],
+ $scope.sortOptions = {
+ fields: ["iD"],
+ columns: ["iD"],
directions: ["asc"]
};
var refreshed = false;
@@ -181,8 +183,9 @@ var ARTEMIS = (function(ARTEMIS) {
$scope.loadTable();
};
$scope.loadTable = function () {
- $scope.filter.values.sortColumn = $scope.sort.fields[0];
- $scope.filter.values.sortBy = $scope.sort.directions[0];
+ $scope.filter.values.sortColumn = $scope.sortOptions.fields[0];
+ $scope.filter.values.sortBy = $scope.sortOptions.directions[0];
+ $scope.filter.values.sortOrder = $scope.sortOptions.directions[0];
var mbean = getBrokerMBean(jolokia);
if (mbean) {
var filter = JSON.stringify($scope.filter.values);
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/consumers.js
----------------------------------------------------------------------
diff --git a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/consumers.js b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/consumers.js
index 799683b..ccc17a5 100644
--- a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/consumers.js
+++ b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/consumers.js
@@ -31,31 +31,31 @@ var ARTEMIS = (function(ARTEMIS) {
var method = 'listConsumers(java.lang.String, int, int)';
var attributes = [
{
- field: 'id',
+ field: 'sequentialID',
displayName: 'ID',
width: '*'
},
{
- field: 'session',
+ field: 'sessionName',
displayName: 'Session',
width: '*',
- cellTemplate: '<div class="ngCellText"><a ng-click="selectSession(row)">{{row.entity.session}}</a></div>'
+ cellTemplate: '<div class="ngCellText"><a ng-click="selectSession(row)">{{row.entity.sessionName}}</a></div>'
},
{
- field: 'clientID',
+ field: 'connectionClientID',
displayName: 'Client ID',
width: '*'
},
{
- field: 'protocol',
+ field: 'connectionProtocolName',
displayName: 'Protocol',
width: '*'
},
{
- field: 'queue',
+ field: 'queueName',
displayName: 'Queue',
width: '*',
- cellTemplate: '<div class="ngCellText"><a ng-click="selectQueue(row)">{{row.entity.queue}}</a></div>'
+ cellTemplate: '<div class="ngCellText"><a ng-click="selectQueue(row)">{{row.entity.queueName}}</a></div>'
},
{
field: 'queueType',
@@ -63,18 +63,18 @@ var ARTEMIS = (function(ARTEMIS) {
width: '*'
},
{
- field: 'address',
+ field: 'queueAddress',
displayName: 'Address',
width: '*',
- cellTemplate: '<div class="ngCellText"><a ng-click="selectAddress(row)">{{row.entity.address}}</a></div>'
+ cellTemplate: '<div class="ngCellText"><a ng-click="selectAddress(row)">{{row.entity.queueAddress}}</a></div>'
},
{
- field: 'remoteAddress',
+ field: 'connectionRemoteAddress',
displayName: 'Remote Address',
width: '*'
},
{
- field: 'localAddress',
+ field: 'connectionLocalAddress',
displayName: 'Local Address',
width: '*'
},
@@ -105,7 +105,7 @@ var ARTEMIS = (function(ARTEMIS) {
operation: "",
value: "",
sortOrder: "asc",
- sortBy: "ID"
+ sortBy: "sequentialID"
}
};
@@ -165,8 +165,9 @@ var ARTEMIS = (function(ARTEMIS) {
pageSize: 100,
currentPage: 1
};
- $scope.sort = {
- fields: ["ID"],
+ $scope.sortOptions = {
+ fields: ["sequentialID"],
+ columns: ["sequentialID"],
directions: ["asc"]
};
var refreshed = false;
@@ -206,8 +207,9 @@ var ARTEMIS = (function(ARTEMIS) {
$scope.loadTable();
};
$scope.loadTable = function () {
- $scope.filter.values.sortColumn = $scope.sort.fields[0];
- $scope.filter.values.sortBy = $scope.sort.directions[0];
+ $scope.filter.values.sortColumn = $scope.sortOptions.fields[0];
+ $scope.filter.values.sortBy = $scope.sortOptions.directions[0];
+ $scope.filter.values.sortOrder = $scope.sortOptions.directions[0];
var mbean = getBrokerMBean(jolokia);
if (mbean) {
var filter = JSON.stringify($scope.filter.values);
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/producers.js
----------------------------------------------------------------------
diff --git a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/producers.js b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/producers.js
index c863268..4f3a316 100644
--- a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/producers.js
+++ b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/producers.js
@@ -31,7 +31,7 @@ var ARTEMIS = (function(ARTEMIS) {
var method = 'listProducers(java.lang.String, int, int)';
var attributes = [
{
- field: 'id',
+ field: 'iD',
displayName: 'ID',
width: '*'
},
@@ -39,22 +39,26 @@ var ARTEMIS = (function(ARTEMIS) {
field: 'session',
displayName: 'Session',
width: '*',
+ sortable: false,
cellTemplate: '<div class="ngCellText"><a ng-click="selectSession(row)">{{row.entity.session}}</a></div>'
},
{
field: 'clientID',
displayName: 'Client ID',
+ sortable: false,
width: '*'
},
{
field: 'protocol',
displayName: 'Protocol',
- width: '*'
+ width: '*',
+ sortable: false
},
{
field: 'user',
displayName: 'User',
- width: '*'
+ width: '*',
+ sortable: false
},
{
field: 'address',
@@ -65,12 +69,14 @@ var ARTEMIS = (function(ARTEMIS) {
{
field: 'remoteAddress',
displayName: 'Remote Address',
- width: '*'
+ width: '*',
+ sortable: false
},
{
field: 'localAddress',
displayName: 'Local Address',
- width: '*'
+ width: '*',
+ sortable: false
}
];
$scope.filter = {
@@ -93,7 +99,7 @@ var ARTEMIS = (function(ARTEMIS) {
operation: "",
value: "",
sortOrder: "asc",
- sortBy: "ID"
+ sortBy: "iD"
}
};
@@ -129,8 +135,9 @@ var ARTEMIS = (function(ARTEMIS) {
pageSize: 100,
currentPage: 1
};
- $scope.sort = {
- fields: ["ID"],
+ $scope.sortOptions = {
+ fields: ["iD"],
+ columns: ["iD"],
directions: ["asc"]
};
var refreshed = false;
@@ -170,8 +177,9 @@ var ARTEMIS = (function(ARTEMIS) {
$scope.loadTable();
};
$scope.loadTable = function () {
- $scope.filter.values.sortColumn = $scope.sort.fields[0];
- $scope.filter.values.sortBy = $scope.sort.directions[0];
+ $scope.filter.values.sortColumn = $scope.sortOptions.fields[0];
+ $scope.filter.values.sortBy = $scope.sortOptions.directions[0];
+ $scope.filter.values.sortOrder = $scope.sortOptions.directions[0];
var mbean = getBrokerMBean(jolokia);
if (mbean) {
var filter = JSON.stringify($scope.filter.values);
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/queues.js
----------------------------------------------------------------------
diff --git a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/queues.js b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/queues.js
index 9bb9e5e..7cd22ec 100644
--- a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/queues.js
+++ b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/queues.js
@@ -37,7 +37,7 @@ var ARTEMIS = (function(ARTEMIS) {
cellTemplate: '<div class="ngCellText"><a ng-click="navigateToQueueAtts(row)">attributes</a> <a ng-click="navigateToQueueOps(row)">operations</a></div>'
},
{
- field: 'id',
+ field: 'iD',
displayName: 'ID',
width: '*'
},
@@ -178,7 +178,7 @@ var ARTEMIS = (function(ARTEMIS) {
operation: "",
value: "",
sortOrder: "asc",
- sortBy: "ID"
+ sortBy: "iD"
}
};
@@ -209,10 +209,11 @@ var ARTEMIS = (function(ARTEMIS) {
pageSize: 100,
currentPage: 1
};
- $scope.sort = {
- fields: ["ID"],
- directions: ["asc"]
- };
+ $scope.sortOptions = {
+ fields: ["iD"],
+ columns: ["iD"],
+ directions: ["asc"]
+ };
var refreshed = false;
$scope.gridOptions = {
@@ -250,8 +251,9 @@ var ARTEMIS = (function(ARTEMIS) {
$scope.loadTable();
};
$scope.loadTable = function () {
- $scope.filter.values.sortColumn = $scope.sort.fields[0];
- $scope.filter.values.sortBy = $scope.sort.directions[0];
+ $scope.filter.values.sortColumn = $scope.sortOptions.fields[0];
+ $scope.filter.values.sortBy = $scope.sortOptions.directions[0];
+ $scope.filter.values.sortOrder = $scope.sortOptions.directions[0];
var mbean = getBrokerMBean(jolokia);
if (mbean) {
var filter = JSON.stringify($scope.filter.values);
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/sessions.js
----------------------------------------------------------------------
diff --git a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/sessions.js b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/sessions.js
index 5cd96fb..14b84bf 100644
--- a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/sessions.js
+++ b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/sessions.js
@@ -31,7 +31,7 @@ var ARTEMIS = (function(ARTEMIS) {
var method = 'listSessions(java.lang.String, int, int)';
var attributes = [
{
- field: 'id',
+ field: 'name',
displayName: 'ID',
width: '*'
},
@@ -42,7 +42,7 @@ var ARTEMIS = (function(ARTEMIS) {
cellTemplate: '<div class="ngCellText"><a ng-click="selectConnection(row)">{{row.entity.connectionID}}</a></div>'
},
{
- field: 'user',
+ field: 'username',
displayName: 'User',
width: '*'
},
@@ -86,7 +86,7 @@ var ARTEMIS = (function(ARTEMIS) {
operation: "",
value: "",
sortOrder: "asc",
- sortBy: "ID"
+ sortBy: "name"
}
};
// Configure Parent/Child click through relationships
@@ -160,8 +160,9 @@ var ARTEMIS = (function(ARTEMIS) {
pageSize: 100,
currentPage: 1
};
- $scope.sort = {
- fields: ["ID"],
+ $scope.sortOptions = {
+ fields: ["name"],
+ columns: ["name"],
directions: ["asc"]
};
var refreshed = false;
@@ -201,8 +202,9 @@ var ARTEMIS = (function(ARTEMIS) {
$scope.loadTable();
};
$scope.loadTable = function () {
- $scope.filter.values.sortColumn = $scope.sort.fields[0];
- $scope.filter.values.sortBy = $scope.sort.directions[0];
+ $scope.filter.values.sortColumn = $scope.sortOptions.fields[0];
+ $scope.filter.values.sortBy = $scope.sortOptions.directions[0];
+ $scope.filter.values.sortOrder = $scope.sortOptions.directions[0];
var mbean = getBrokerMBean(jolokia);
if (mbean) {
var filter = JSON.stringify($scope.filter.values);
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ActiveMQProtonRemotingConnection.java
----------------------------------------------------------------------
diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ActiveMQProtonRemotingConnection.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ActiveMQProtonRemotingConnection.java
index fb6ca0a..79144d1 100644
--- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ActiveMQProtonRemotingConnection.java
+++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ActiveMQProtonRemotingConnection.java
@@ -179,4 +179,10 @@ public class ActiveMQProtonRemotingConnection extends AbstractRemotingConnection
public void open() {
amqpConnection.open();
}
+
+ @Override
+ public String getTransportLocalAddress() {
+ return getTransportConnection().getLocalAddress();
+ }
+
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTConnection.java
----------------------------------------------------------------------
diff --git a/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTConnection.java b/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTConnection.java
index 94bf17c..eb3b4b1 100644
--- a/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTConnection.java
+++ b/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTConnection.java
@@ -266,4 +266,10 @@ public class MQTTConnection implements RemotingConnection {
public String getClientID() {
return clientID;
}
+
+ @Override
+ public String getTransportLocalAddress() {
+ return getTransportConnection().getLocalAddress();
+ }
+
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireConnection.java
----------------------------------------------------------------------
diff --git a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireConnection.java b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireConnection.java
index 19d158d..a043108 100644
--- a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireConnection.java
+++ b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireConnection.java
@@ -1634,4 +1634,10 @@ public class OpenWireConnection extends AbstractRemotingConnection implements Se
public String getClientID() {
return context.getClientId();
}
+
+ @Override
+ public String getTransportLocalAddress() {
+ return getTransportConnection().getLocalAddress();
+ }
+
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompConnection.java
----------------------------------------------------------------------
diff --git a/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompConnection.java b/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompConnection.java
index 96859bc..6f7181e 100644
--- a/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompConnection.java
+++ b/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompConnection.java
@@ -798,4 +798,11 @@ public final class StompConnection implements RemotingConnection {
public String getProtocolName() {
return StompProtocolManagerFactory.STOMP_PROTOCOL_NAME;
}
+
+ @Override
+ public String getTransportLocalAddress() {
+ // TODO Auto-generated method stub
+ return getTransportConnection().getLocalAddress();
+ }
+
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/ActiveMQServerControlImpl.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/ActiveMQServerControlImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/ActiveMQServerControlImpl.java
index a235a53..753d01b 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/ActiveMQServerControlImpl.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/ActiveMQServerControlImpl.java
@@ -1733,12 +1733,15 @@ public class ActiveMQServerControlImpl extends AbstractControl implements Active
@Override
public String listAddresses(String options, int page, int pageSize) throws Exception {
checkStarted();
-
clearIO();
try {
final Set<SimpleString> addresses = server.getPostOffice().getAddresses();
+ List<AddressInfo> addressInfo = new ArrayList<>();
+ for (SimpleString address:addresses) {
+ addressInfo.add(server.getPostOffice().getAddressInfo(address));
+ }
AddressView view = new AddressView(server);
- view.setCollection(addresses);
+ view.setCollection(addressInfo);
view.setOptions(options);
return view.getResultsAsJson(page, pageSize);
} finally {
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ActiveMQAbstractView.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ActiveMQAbstractView.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ActiveMQAbstractView.java
index 9608d86..f4e44f7 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ActiveMQAbstractView.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ActiveMQAbstractView.java
@@ -39,6 +39,10 @@ public abstract class ActiveMQAbstractView<T> {
private static final String FILTER_VALUE = "value";
+ private static final String SORT_ORDER = "sortOrder";
+
+ private static final String SORT_COLUMN = "sortColumn";
+
protected Collection<T> collection;
protected ActiveMQFilterPredicate<T> predicate;
@@ -146,6 +150,10 @@ public abstract class ActiveMQAbstractView<T> {
predicate.setField(json.getString(FILTER_FIELD));
predicate.setOperation(json.getString(FILTER_OPERATION));
predicate.setValue(json.getString(FILTER_VALUE));
+ if (json.containsKey(SORT_COLUMN) && json.containsKey(SORT_ORDER)) {
+ this.sortColumn = json.getString(SORT_COLUMN);
+ this.sortOrder = json.getString(SORT_ORDER);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/AddressView.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/AddressView.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/AddressView.java
index 3947c0c..ea24e78 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/AddressView.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/AddressView.java
@@ -17,16 +17,14 @@
package org.apache.activemq.artemis.core.management.impl.view;
import javax.json.JsonObjectBuilder;
-
-import org.apache.activemq.artemis.api.core.SimpleString;
import org.apache.activemq.artemis.core.management.impl.view.predicate.AddressFilterPredicate;
import org.apache.activemq.artemis.core.server.ActiveMQServer;
import org.apache.activemq.artemis.core.server.impl.AddressInfo;
import org.apache.activemq.artemis.utils.JsonLoader;
-public class AddressView extends ActiveMQAbstractView<SimpleString> {
+public class AddressView extends ActiveMQAbstractView<AddressInfo> {
- private static final String defaultSortColumn = "creationTime";
+ private static final String defaultSortColumn = "id";
private final ActiveMQServer server;
@@ -42,14 +40,11 @@ public class AddressView extends ActiveMQAbstractView<SimpleString> {
}
@Override
- public JsonObjectBuilder toJson(SimpleString addressName) {
-
- AddressInfo address = server.getAddressInfo(addressName);
- // the address could have been removed since the list was created
- // if it is not there, just ignore.
+ public JsonObjectBuilder toJson(AddressInfo address) {
if (address == null) {
return null;
}
+
JsonObjectBuilder obj = JsonLoader.createObjectBuilder().add("id", toString(address.getId())).add("name", toString(address.getName())).add("routingTypes", toString(address.getRoutingTypes()));
try {
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConnectionView.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConnectionView.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConnectionView.java
index 32eedff..ac7c4a4 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConnectionView.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConnectionView.java
@@ -31,7 +31,7 @@ import org.apache.activemq.artemis.utils.StringUtil;
public class ConnectionView extends ActiveMQAbstractView<RemotingConnection> {
- private static final String defaultSortColumn = "creationTime";
+ private static final String defaultSortColumn = "iD";
private final ActiveMQServer server;
@@ -57,7 +57,7 @@ public class ConnectionView extends ActiveMQAbstractView<RemotingConnection> {
users.add(username);
}
- return JsonLoader.createObjectBuilder().add("connectionID", toString(connection.getID())).add("remoteAddress", toString(connection.getRemoteAddress())).add("users", StringUtil.joinStringList(users, ",")).add("creationTime", new Date(connection.getCreationTime()).toString()).add("implementation", toString(toString(connection.getClass().getSimpleName()))).add("protocol", toString(connection.getProtocolName())).add("clientID", toString(connection.getClientID())).add("localAddress", toString(connection.getTransportConnection().getLocalAddress())).add("sessionCount", server.getSessions(connection.getID().toString()).size());
+ return JsonLoader.createObjectBuilder().add("iD", toString(connection.getID())).add("remoteAddress", toString(connection.getRemoteAddress())).add("users", StringUtil.joinStringList(users, ",")).add("creationTime", new Date(connection.getCreationTime()).toString()).add("implementation", toString(toString(connection.getClass().getSimpleName()))).add("protocolName", toString(connection.getProtocolName())).add("clientID", toString(connection.getClientID())).add("transportLocalAddress", toString(connection.getTransportLocalAddress())).add("sessionCount", server.getSessions(connection.getID().toString()).size());
}
@Override
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConsumerView.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConsumerView.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConsumerView.java
index fcb7f5e..a54e40b 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConsumerView.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConsumerView.java
@@ -27,7 +27,7 @@ import org.apache.activemq.artemis.utils.JsonLoader;
public class ConsumerView extends ActiveMQAbstractView<ServerConsumer> {
- private static final String defaultSortColumn = "creationTime";
+ private static final String defaultSortColumn = "sequentialID";
private final ActiveMQServer server;
@@ -45,7 +45,7 @@ public class ConsumerView extends ActiveMQAbstractView<ServerConsumer> {
@Override
public JsonObjectBuilder toJson(ServerConsumer consumer) {
ServerSession session = server.getSessionByID(consumer.getSessionID());
- JsonObjectBuilder obj = JsonLoader.createObjectBuilder().add("id", toString(consumer.sequentialID())).add("session", toString(session.getName())).add("clientID", toString(session.getRemotingConnection().getClientID())).add("user", toString(session.getUsername())).add("protocol", toString(session.getRemotingConnection().getProtocolName())).add("queue", toString(consumer.getQueue().getName())).add("queueType", toString(consumer.getQueue().getRoutingType()).toLowerCase()).add("address", toString(consumer.getQueue().getAddress().toString())).add("localAddress", toString(session.getRemotingConnection().getTransportConnection().getLocalAddress())).add("remoteAddress", toString(session.getRemotingConnection().getTransportConnection().getRemoteAddress())).add("creationTime", new Date(consumer.getCreationTime()).toString());
+ JsonObjectBuilder obj = JsonLoader.createObjectBuilder().add("sequentialID", toString(consumer.getSequentialID())).add("sessionName", toString(consumer.getSessionName())).add("connectionClientID", toString(consumer.getConnectionClientID())).add("user", toString(session.getUsername())).add("connectionProtocolName", toString(consumer.getConnectionProtocolName())).add("queueName", toString(consumer.getQueueName())).add("queueType", toString(consumer.getQueueType()).toLowerCase()).add("queueAddress", toString(consumer.getQueueAddress().toString())).add("connectionLocalAddress", toString(consumer.getConnectionLocalAddress())).add("connectionRemoteAddress", toString(consumer.getConnectionRemoteAddress())).add("creationTime", new Date(consumer.getCreationTime()).toString());
return obj;
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ProducerView.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ProducerView.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ProducerView.java
index 63c5e88..9787229 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ProducerView.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ProducerView.java
@@ -44,7 +44,7 @@ public class ProducerView extends ActiveMQAbstractView<ServerProducer> {
@Override
public JsonObjectBuilder toJson(ServerProducer producer) {
ServerSession session = server.getSessionByID(producer.getSessionID());
- JsonObjectBuilder obj = JsonLoader.createObjectBuilder().add("id", toString(producer.getID())).add("session", toString(session.getName())).add("clientID", toString(session.getRemotingConnection().getClientID())).add("user", toString(session.getUsername())).add("protocol", toString(session.getRemotingConnection().getProtocolName())).add("address", toString(producer.getAddress() != null ? producer.getAddress() : session.getDefaultAddress())).add("localAddress", toString(session.getRemotingConnection().getTransportConnection().getLocalAddress())).add("remoteAddress", toString(session.getRemotingConnection().getTransportConnection().getRemoteAddress())).add("creationTime", toString(producer.getCreationTime()));
+ JsonObjectBuilder obj = JsonLoader.createObjectBuilder().add("iD", toString(producer.getID())).add("session", toString(session.getName())).add("clientID", toString(session.getRemotingConnection().getClientID())).add("user", toString(session.getUsername())).add("protocol", toString(session.getRemotingConnection().getProtocolName())).add("address", toString(producer.getAddress() != null ? producer.getAddress() : session.getDefaultAddress())).add("localAddress", toString(session.getRemotingConnection().getTransportConnection().getLocalAddress())).add("remoteAddress", toString(session.getRemotingConnection().getTransportConnection().getRemoteAddress())).add("creationTime", toString(producer.getCreationTime()));
return obj;
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/QueueView.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/QueueView.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/QueueView.java
index 3668680..cb80cc9 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/QueueView.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/QueueView.java
@@ -45,7 +45,7 @@ public class QueueView extends ActiveMQAbstractView<QueueControl> {
@Override
public JsonObjectBuilder toJson(QueueControl queue) {
Queue q = server.locateQueue(new SimpleString(queue.getName()));
- JsonObjectBuilder obj = JsonLoader.createObjectBuilder().add("id", toString(queue.getID())).add("name", toString(queue.getName())).add("address", toString(queue.getAddress())).add("filter", toString(queue.getFilter())).add("rate", toString(q.getRate())).add("durable", toString(queue.isDurable())).add("paused", toString(q.isPaused())).add("temporary", toString(queue.isTemporary())).add("purgeOnNoConsumers", toString(queue.isPurgeOnNoConsumers())).add("consumerCount", toString(queue.getConsumerCount())).add("maxConsumers", toString(queue.getMaxConsumers())).add("autoCreated", toString(q.isAutoCreated())).add("user", toString(q.getUser())).add("routingType", toString(queue.getRoutingType())).add("messagesAdded", toString(queue.getMessagesAdded())).add("messageCount", toString(queue.getMessageCount())).add("messagesAcked", toString(queue.getMessagesAcknowledged())).add("deliveringCount", toString(queue.getDeliveringCount())).add("messagesKilled", toString(queue.getMessagesKilled()
)).add("deliverDeliver", toString(q.isDirectDeliver()));
+ JsonObjectBuilder obj = JsonLoader.createObjectBuilder().add("iD", toString(queue.getID())).add("name", toString(queue.getName())).add("address", toString(queue.getAddress())).add("filter", toString(queue.getFilter())).add("rate", toString(q.getRate())).add("durable", toString(queue.isDurable())).add("paused", toString(q.isPaused())).add("temporary", toString(queue.isTemporary())).add("purgeOnNoConsumers", toString(queue.isPurgeOnNoConsumers())).add("consumerCount", toString(queue.getConsumerCount())).add("maxConsumers", toString(queue.getMaxConsumers())).add("autoCreated", toString(q.isAutoCreated())).add("user", toString(q.getUser())).add("routingType", toString(queue.getRoutingType())).add("messagesAdded", toString(queue.getMessagesAdded())).add("messageCount", toString(queue.getMessageCount())).add("messagesAcked", toString(queue.getMessagesAcknowledged())).add("deliveringCount", toString(queue.getDeliveringCount())).add("messagesKilled", toString(queue.getMessagesKilled()
)).add("deliverDeliver", toString(q.isDirectDeliver()));
return obj;
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/SessionView.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/SessionView.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/SessionView.java
index 30b5c69..c294993 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/SessionView.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/SessionView.java
@@ -25,7 +25,7 @@ import org.apache.activemq.artemis.utils.JsonLoader;
public class SessionView extends ActiveMQAbstractView<ServerSession> {
- private static final String defaultSortColumn = "creationTime";
+ private static final String defaultSortColumn = "name";
public SessionView() {
super();
@@ -39,7 +39,7 @@ public class SessionView extends ActiveMQAbstractView<ServerSession> {
@Override
public JsonObjectBuilder toJson(ServerSession session) {
- JsonObjectBuilder obj = JsonLoader.createObjectBuilder().add("id", toString(session.getName())).add("user", toString(session.getUsername())).add("creationTime", new Date(session.getCreationTime()).toString()).add("consumerCount", session.getServerConsumers().size()).add("producerCount", session.getServerProducers().size()).add("connectionID", session.getConnectionID().toString());
+ JsonObjectBuilder obj = JsonLoader.createObjectBuilder().add("name", toString(session.getName())).add("username", toString(session.getUsername())).add("creationTime", new Date(session.getCreationTime()).toString()).add("consumerCount", session.getConsumerCount()).add("producerCount", session.getProducerCount()).add("connectionID", session.getConnectionID().toString());
return obj;
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/predicate/AddressFilterPredicate.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/predicate/AddressFilterPredicate.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/predicate/AddressFilterPredicate.java
index 76e7c71..54081f4 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/predicate/AddressFilterPredicate.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/predicate/AddressFilterPredicate.java
@@ -16,11 +16,10 @@
*/
package org.apache.activemq.artemis.core.management.impl.view.predicate;
-import org.apache.activemq.artemis.api.core.SimpleString;
import org.apache.activemq.artemis.core.server.ActiveMQServer;
import org.apache.activemq.artemis.core.server.impl.AddressInfo;
-public class AddressFilterPredicate extends ActiveMQFilterPredicate<SimpleString> {
+public class AddressFilterPredicate extends ActiveMQFilterPredicate<AddressInfo> {
enum Field {
ID, NAME, ROUTING_TYPES, PRODUCER_ID, QUEUE_COUNT
@@ -36,8 +35,7 @@ public class AddressFilterPredicate extends ActiveMQFilterPredicate<SimpleString
}
@Override
- public boolean apply(SimpleString addressName) {
- AddressInfo address = server.getAddressInfo(addressName);
+ public boolean apply(AddressInfo address) {
if (f == null)
return true;
try {
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ConsumerInfo.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ConsumerInfo.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ConsumerInfo.java
new file mode 100644
index 0000000..e2b8f2d
--- /dev/null
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ConsumerInfo.java
@@ -0,0 +1,63 @@
+/*
+ * 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.core.server;
+
+import org.apache.activemq.artemis.api.core.RoutingType;
+import org.apache.activemq.artemis.api.core.SimpleString;
+
+public interface ConsumerInfo {
+
+ /** an unique sequential ID for this consumer */
+ long getSequentialID();
+
+ /** @return name of the queue that is being consumed */
+ SimpleString getQueueName();
+
+ /** @return name of the queue that is being consumed */
+ RoutingType getQueueType();
+
+ /** @return name of the queue that is being consumed */
+ SimpleString getQueueAddress();
+
+ String getSessionName();
+
+ String getConnectionClientID();
+
+ /**
+ * Returns the name of the protocol for this Remoting Connection
+ * @return the name of protocol
+ */
+ String getConnectionProtocolName();
+
+ /**
+ * Returns a string representation of the local address this connection is
+ * connected to. This is useful when the server is configured at 0.0.0.0 (or
+ * multiple IPs). This will give you the actual IP that's being used.
+ *
+ * @return the local address
+ */
+ String getConnectionLocalAddress();
+
+ /**
+ * Returns a string representation of the remote address this connection is
+ * connected to.
+ *
+ * @return the remote address
+ */
+ String getConnectionRemoteAddress();
+
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ServerConsumer.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ServerConsumer.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ServerConsumer.java
index 2fd5a1e..eb05563 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ServerConsumer.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ServerConsumer.java
@@ -23,7 +23,7 @@ import org.apache.activemq.artemis.core.transaction.Transaction;
/**
* A ServerConsumer
*/
-public interface ServerConsumer extends Consumer {
+public interface ServerConsumer extends Consumer, ConsumerInfo {
void setlowConsumerDetection(SlowConsumerDetectionListener listener);
@@ -107,6 +107,4 @@ public interface ServerConsumer extends Consumer {
String getSessionID();
void promptDelivery();
-}
-
-
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ServerSession.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ServerSession.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ServerSession.java
index 10de4dc..32e35c1 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ServerSession.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ServerSession.java
@@ -312,4 +312,8 @@ public interface ServerSession extends SecurityAuth {
Map<String, ServerProducer> getServerProducers();
String getDefaultAddress();
-}
+
+ int getConsumerCount();
+
+ int getProducerCount();
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerConsumerImpl.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerConsumerImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerConsumerImpl.java
index 704e563..8e64a21 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerConsumerImpl.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerConsumerImpl.java
@@ -1387,4 +1387,49 @@ public class ServerConsumerImpl implements ServerConsumer, ReadyListener {
return b;
}
}
-}
+
+ @Override
+ public long getSequentialID() {
+ return sequentialID;
+ }
+
+ @Override
+ public SimpleString getQueueName() {
+ return getQueue().getName();
+ }
+
+ @Override
+ public RoutingType getQueueType() {
+ return getQueue().getRoutingType();
+ }
+
+ @Override
+ public SimpleString getQueueAddress() {
+ return getQueue().getAddress();
+ }
+
+ @Override
+ public String getSessionName() {
+ return this.session.getName();
+ }
+
+ @Override
+ public String getConnectionClientID() {
+ return this.session.getRemotingConnection().getClientID();
+ }
+
+ @Override
+ public String getConnectionProtocolName() {
+ return this.session.getRemotingConnection().getProtocolName();
+ }
+
+ @Override
+ public String getConnectionLocalAddress() {
+ return this.session.getRemotingConnection().getTransportConnection().getLocalAddress();
+ }
+
+ @Override
+ public String getConnectionRemoteAddress() {
+ return this.session.getRemotingConnection().getTransportConnection().getRemoteAddress();
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerSessionImpl.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerSessionImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerSessionImpl.java
index dacc6bf..ad59acb 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerSessionImpl.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerSessionImpl.java
@@ -1802,4 +1802,14 @@ public class ServerSessionImpl implements ServerSession, FailureListener {
public String getDefaultAddress() {
return defaultAddress != null ? defaultAddress.toString() : null;
}
-}
+
+ @Override
+ public int getConsumerCount() {
+ return getServerConsumers().size();
+ }
+
+ @Override
+ public int getProducerCount() {
+ return getServerProducers().size();
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/4abca787/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cli/DummyServerConsumer.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cli/DummyServerConsumer.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cli/DummyServerConsumer.java
index 968c31b..dcf6d25 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cli/DummyServerConsumer.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cli/DummyServerConsumer.java
@@ -18,6 +18,8 @@ package org.apache.activemq.artemis.tests.integration.cli;
import java.util.List;
+import org.apache.activemq.artemis.api.core.RoutingType;
+import org.apache.activemq.artemis.api.core.SimpleString;
import org.apache.activemq.artemis.core.filter.Filter;
import org.apache.activemq.artemis.core.server.HandleStatus;
import org.apache.activemq.artemis.core.server.MessageReference;
@@ -211,4 +213,58 @@ public class DummyServerConsumer implements ServerConsumer {
public void disconnect() {
}
+
+ @Override
+ public long getSequentialID() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ public SimpleString getQueueName() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public RoutingType getQueueType() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SimpleString getQueueAddress() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getSessionName() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getConnectionClientID() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getConnectionProtocolName() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getConnectionLocalAddress() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getConnectionRemoteAddress() {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
[2/2] activemq-artemis git commit: This closes #1628
Posted by ma...@apache.org.
This closes #1628
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/4584ac69
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/4584ac69
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/4584ac69
Branch: refs/heads/master
Commit: 4584ac6974c1eb0c3f09ca5f1700f05f8851a316
Parents: e714af7 4abca78
Author: Martyn Taylor <mt...@redhat.com>
Authored: Wed Nov 29 08:52:58 2017 +0000
Committer: Martyn Taylor <mt...@redhat.com>
Committed: Wed Nov 29 08:52:58 2017 +0000
----------------------------------------------------------------------
.../core/impl/RemotingConnectionImpl.java | 5 ++
.../spi/core/protocol/RemotingConnection.java | 10 ++++
.../src/main/webapp/plugin/js/addresses.js | 16 +++--
.../src/main/webapp/plugin/js/connections.js | 19 +++---
.../src/main/webapp/plugin/js/consumers.js | 34 ++++++-----
.../src/main/webapp/plugin/js/producers.js | 28 +++++----
.../src/main/webapp/plugin/js/queues.js | 18 +++---
.../src/main/webapp/plugin/js/sessions.js | 16 ++---
.../ActiveMQProtonRemotingConnection.java | 6 ++
.../core/protocol/mqtt/MQTTConnection.java | 6 ++
.../protocol/openwire/OpenWireConnection.java | 6 ++
.../core/protocol/stomp/StompConnection.java | 7 +++
.../impl/ActiveMQServerControlImpl.java | 7 ++-
.../impl/view/ActiveMQAbstractView.java | 8 +++
.../core/management/impl/view/AddressView.java | 13 ++--
.../management/impl/view/ConnectionView.java | 4 +-
.../core/management/impl/view/ConsumerView.java | 4 +-
.../core/management/impl/view/ProducerView.java | 2 +-
.../core/management/impl/view/QueueView.java | 2 +-
.../core/management/impl/view/SessionView.java | 4 +-
.../view/predicate/AddressFilterPredicate.java | 6 +-
.../artemis/core/server/ConsumerInfo.java | 63 ++++++++++++++++++++
.../artemis/core/server/ServerConsumer.java | 6 +-
.../artemis/core/server/ServerSession.java | 6 +-
.../core/server/impl/ServerConsumerImpl.java | 47 ++++++++++++++-
.../core/server/impl/ServerSessionImpl.java | 12 +++-
.../integration/cli/DummyServerConsumer.java | 56 +++++++++++++++++
27 files changed, 326 insertions(+), 85 deletions(-)
----------------------------------------------------------------------