Author: orudyy
Date: Wed May 11 10:44:16 2016
New Revision: 1743334
URL: http://svn.apache.org/viewvc?rev=1743334&view=rev
Log:
QPID-7216: [Java Broker, WMC] Add new ManagedOperation to retrieve connections
without children and inherited context
Modified:
qpid/java/branches/6.0.x/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java
qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java
qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java
qpid/java/branches/6.0.x/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHost.js
Modified:
qpid/java/branches/6.0.x/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java
URL:
http://svn.apache.org/viewvc/qpid/java/branches/6.0.x/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java?rev=1743334&r1=1743333&r2=1743334&view=diff
==============================================================================
---
qpid/java/branches/6.0.x/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java
(original)
+++
qpid/java/branches/6.0.x/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java
Wed May 11 10:44:16 2016
@@ -306,6 +306,12 @@ public class BDBHAReplicaVirtualHostImpl
}
@Override
+ public Collection<Map<String, Object>> listConnections()
+ {
+ return Collections.emptyList();
+ }
+
+ @Override
public Connection<?> getConnection(String name)
{
return null;
Modified:
qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java
URL:
http://svn.apache.org/viewvc/qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java?rev=1743334&r1=1743333&r2=1743334&view=diff
==============================================================================
---
qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java
(original)
+++
qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java
Wed May 11 10:44:16 2016
@@ -27,15 +27,12 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
-import org.apache.qpid.server.message.MessageInstance;
import org.apache.qpid.server.model.port.AmqpPort;
import org.apache.qpid.server.queue.QueueEntry;
import org.apache.qpid.server.store.MessageStore;
import org.apache.qpid.server.transport.AMQPConnection;
import org.apache.qpid.server.virtualhost.VirtualHostConnectionListener;
-import javax.security.auth.Subject;
-
@ManagedObject( defaultType = "ProvidedStore", description =
VirtualHost.CLASS_DESCRIPTION)
public interface VirtualHost<X extends VirtualHost<X, Q, E>, Q extends
Queue<?>, E extends Exchange<?> > extends ConfiguredObject<X>
{
@@ -192,6 +189,9 @@ public interface VirtualHost<X extends V
Collection<? extends Connection<?>> getConnections();
@ManagedOperation(nonModifying = true)
+ Collection<Map<String, Object>> listConnections();
+
+ @ManagedOperation(nonModifying = true)
Connection<?> getConnection(@Param(name="name") String name);
void start();
Modified:
qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
URL:
http://svn.apache.org/viewvc/qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java?rev=1743334&r1=1743333&r2=1743334&view=diff
==============================================================================
---
qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
(original)
+++
qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
Wed May 11 10:44:16 2016
@@ -36,6 +36,7 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.TreeMap;
import java.util.UUID;
import java.util.concurrent.*;
import java.util.concurrent.ExecutionException;
@@ -487,6 +488,61 @@ public abstract class AbstractVirtualHos
}
@Override
+ public Collection<Map<String, Object>> listConnections()
+ {
+ Collection<Map<String, Object>> connections = new ArrayList<>();
+ for (AMQPConnection<?> connection : _connections)
+ {
+ Map<String, Object> connectionData = new HashMap<>();
+ connections.add(connectionData);
+ for (String name : connection.getAttributeNames())
+ {
+ Object value = connection.getAttribute(name);
+ if (value instanceof ConfiguredObject)
+ {
+ connectionData.put(name, ((ConfiguredObject)
value).getName());
+ }
+ else if (ConfiguredObject.CONTEXT.equals(name))
+ {
+ Map<String, String> context =
+ (Map<String, String>)
connection.getActualAttributes().get(ConfiguredObject.CONTEXT);
+ if (context != null && !context.isEmpty())
+ {
+ connectionData.put(name, context);
+ }
+ }
+ else if (value instanceof Collection)
+ {
+ List<Object> converted = new ArrayList<>();
+ for (Object member : (Collection) value)
+ {
+ if (member instanceof ConfiguredObject)
+ {
+ converted.add(((ConfiguredObject)
member).getName());
+ }
+ else
+ {
+ converted.add(member);
+ }
+ }
+ connectionData.put(name, converted);
+ }
+ else if (value != null)
+ {
+ connectionData.put(name, value);
+ }
+ }
+ Map<String, Number> statMap = connection.getStatistics();
+ if(!statMap.isEmpty())
+ {
+ connectionData.put("statistics", new TreeMap(statMap));
+ }
+ }
+ return connections;
+ }
+
+
+ @Override
public Connection<?> getConnection(String name)
{
for (Connection<?> connection : _connections)
Modified:
qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java
URL:
http://svn.apache.org/viewvc/qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java?rev=1743334&r1=1743333&r2=1743334&view=diff
==============================================================================
---
qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java
(original)
+++
qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java
Wed May 11 10:44:16 2016
@@ -306,6 +306,12 @@ class RedirectingVirtualHostImpl
}
@Override
+ public Collection<Map<String, Object>> listConnections()
+ {
+ return Collections.emptyList();
+ }
+
+ @Override
public Connection<?> getConnection(String name)
{
return null;
Modified:
qpid/java/branches/6.0.x/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHost.js
URL:
http://svn.apache.org/viewvc/qpid/java/branches/6.0.x/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHost.js?rev=1743334&r1=1743333&r2=1743334&view=diff
==============================================================================
---
qpid/java/branches/6.0.x/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHost.js
(original)
+++
qpid/java/branches/6.0.x/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHost.js
Wed May 11 10:44:16 2016
@@ -292,7 +292,6 @@ define(["dojo/parser",
});
} , gridProperties,
EnhancedGrid);
-
that.connectionsGrid = new UpdatableStore([],
findNode("connections"),
[ { name: "Name",
field: "name", width: "20%"},
@@ -323,7 +322,19 @@ define(["dojo/parser",
controller.show("connection", connectionName, port, theItem.id);
});
- } );
+ } , { plugins: {
+
pagination:
+
{
+
pageSizes: [10, 25, 50, 100],
+
description: true,
+
sizeSwitch: true,
+
pageStepper: true,
+
gotoButton: true,
+
maxPageStep: 4,
+
position: "bottom"
+
}
+ }
+ },
EnhancedGrid);
that.virtualHostLoggersGrid = new UpdatableStore([],
findNode("loggers"),
@@ -370,7 +381,7 @@ define(["dojo/parser",
var thisObj = this;
var vhostLoadedPromise = this.management.load(this.modelObj,
{excludeInheritedContext: true});
- var connectionsPromise = this.management.get({url:
this.management.objectToURL(this.modelObj) + "/getConnections"});
+ var connectionsPromise = this.management.get({url:
this.management.objectToURL(this.modelObj) + "/listConnections"});
all({vhostData: vhostLoadedPromise, connections:
connectionsPromise}).then(function(results) {
thisObj.vhostData = results.vhostData[0] || {name:
thisObj.modelObj.name,statistics:{messagesIn:0,bytesIn:0,messagesOut:0,bytesOut:0}};
thisObj.vhostData.connections = results.connections;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]