diff --git a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/CommonAttributes.java b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/CommonAttributes.java
index dffa561..050dcd1 100644
--- a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/CommonAttributes.java
+++ b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/CommonAttributes.java
@@ -201,6 +201,11 @@ public interface CommonAttributes {
             .setUndefinedMetricValue(new ModelNode(0))
             .build();
 
+    AttributeDefinition ABORTED_MESSAGE_COUNT = create("aborted-message-count", LONG)
+            .setStorageRuntime()
+            .setUndefinedMetricValue(new ModelNode(0))
+            .build();
+
     AttributeDefinition MESSAGES_ADDED = create("messages-added", LONG)
             .setStorageRuntime()
             .setUndefinedMetricValue(new ModelNode(0))
diff --git a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/MessagingExtension.java b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/MessagingExtension.java
index 1bb9505..a851625 100644
--- a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/MessagingExtension.java
+++ b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/MessagingExtension.java
@@ -134,6 +134,7 @@ public class MessagingExtension implements Extension {
     static final AccessConstraintDefinition QUEUE_ACCESS_CONSTRAINT = new ApplicationTypeAccessConstraintDefinition(new ApplicationTypeConfig(SUBSYSTEM_NAME, QUEUE));
     public static final AccessConstraintDefinition JMS_QUEUE_ACCESS_CONSTRAINT = new ApplicationTypeAccessConstraintDefinition(new ApplicationTypeConfig(SUBSYSTEM_NAME, CommonAttributes.JMS_QUEUE));
     public static final AccessConstraintDefinition JMS_TOPIC_ACCESS_CONSTRAINT = new ApplicationTypeAccessConstraintDefinition(new ApplicationTypeConfig(SUBSYSTEM_NAME, CommonAttributes.JMS_TOPIC));
+    public static final AccessConstraintDefinition JMS_BRIDGE_ACCESS_CONSTRAINT = new ApplicationTypeAccessConstraintDefinition(new ApplicationTypeConfig(SUBSYSTEM_NAME, CommonAttributes.JMS_BRIDGE));
 
     static final String RESOURCE_NAME = MessagingExtension.class.getPackage().getName() + ".LocalDescriptions";
 
diff --git a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/MessagingSubsystemParser_1_0.java b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/MessagingSubsystemParser_1_0.java
index 5320294..167f724 100644
--- a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/MessagingSubsystemParser_1_0.java
+++ b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/MessagingSubsystemParser_1_0.java
@@ -590,6 +590,8 @@ public class MessagingSubsystemParser_1_0 implements XMLStreamConstants, XMLElem
                                         JMSBridgeDefinition.TARGET_DESTINATION,
                                         JMSBridgeDefinition.TARGET_USER,
                                         JMSBridgeDefinition.TARGET_PASSWORD,
+                                        CommonAttributes.MESSAGE_COUNT,
+                                        CommonAttributes.ABORTED_MESSAGE_COUNT,
                                         JMSBridgeDefinition.SOURCE_CONTEXT,
                                         JMSBridgeDefinition.TARGET_CONTEXT))
                 .build();
diff --git a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/PathDefinition.java b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/PathDefinition.java
index 07ea56c..d15e893 100644
--- a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/PathDefinition.java
+++ b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/PathDefinition.java
@@ -154,13 +154,12 @@ public class PathDefinition extends PersistentResourceDefinition {
     }
 
     protected static void registerResolveOperationHandler(ExtensionContext context, ManagementResourceRegistration registry) {
-        if (context.getProcessType().isServer()) {
-            final ResolvePathHandler resolvePathHandler = ResolvePathHandler.Builder.of(context.getPathManager())
-                    .setPathAttribute(PATHS.get(registry.getPathAddress().getLastElement().getValue()))
-                    .setRelativeToAttribute(PathDefinition.RELATIVE_TO)
-                    .build();
-            registry.registerOperationHandler(resolvePathHandler.getOperationDefinition(), resolvePathHandler);
-        }
+        // if (context.getProcessType().isServer()) {
+        final ResolvePathHandler resolvePathHandler = ResolvePathHandler.Builder.of(context.getPathManager())
+                .setPathAttribute(PATHS.get(registry.getPathAddress().getLastElement().getValue()))
+                .setRelativeToAttribute(PathDefinition.RELATIVE_TO).build();
+        registry.registerOperationHandler(resolvePathHandler.getOperationDefinition(), resolvePathHandler);
+        // }
 
     }
 
diff --git a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/jms/bridge/JMSBridgeDefinition.java b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/jms/bridge/JMSBridgeDefinition.java
index 68214d7..c886f33 100644
--- a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/jms/bridge/JMSBridgeDefinition.java
+++ b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/jms/bridge/JMSBridgeDefinition.java
@@ -198,6 +198,11 @@ public class JMSBridgeDefinition extends PersistentResourceDefinition {
             TARGET_CONTEXT
     };
 
+    static final AttributeDefinition[] METRICS = {
+            CommonAttributes.MESSAGE_COUNT,
+            CommonAttributes.ABORTED_MESSAGE_COUNT
+    };
+
     public static final AttributeDefinition[] READONLY_ATTRIBUTES = {
             STARTED, CommonAttributes.PAUSED
     };
@@ -229,6 +234,10 @@ public class JMSBridgeDefinition extends PersistentResourceDefinition {
         for (AttributeDefinition attr : READONLY_ATTRIBUTES) {
             registry.registerReadOnlyAttribute(attr, JMSBridgeHandler.INSTANCE);
         }
+
+        for (AttributeDefinition metric : METRICS) {
+            registry.registerMetric(metric, JMSBridgeHandler.INSTANCE);
+        }
     }
 
     @Override
@@ -238,5 +247,4 @@ public class JMSBridgeDefinition extends PersistentResourceDefinition {
             registry.registerOperationHandler(new SimpleOperationDefinition(operationName, getResourceDescriptionResolver()), JMSBridgeHandler.INSTANCE);
         }
     }
-
 }
diff --git a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/jms/bridge/JMSBridgeHandler.java b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/jms/bridge/JMSBridgeHandler.java
index 38790cd..b85a1da 100644
--- a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/jms/bridge/JMSBridgeHandler.java
+++ b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/jms/bridge/JMSBridgeHandler.java
@@ -42,6 +42,7 @@ import org.jboss.as.controller.descriptions.ModelDescriptionConstants;
 import org.jboss.as.controller.logging.ControllerLogger;
 import org.jboss.as.controller.operations.validation.ParametersValidator;
 import org.jboss.as.controller.operations.validation.StringLengthValidator;
+import org.wildfly.extension.messaging.activemq.CommonAttributes;
 import org.wildfly.extension.messaging.activemq.MessagingServices;
 import org.wildfly.extension.messaging.activemq.logging.MessagingLogger;
 import org.jboss.dmr.ModelNode;
@@ -89,7 +90,12 @@ public class JMSBridgeHandler extends AbstractRuntimeOnlyHandler {
                 context.getResult().set(bridge.isStarted());
             } else if (PAUSED.getName().equals(name)) {
                 context.getResult().set(bridge.isPaused());
-            } else {
+            } else if (CommonAttributes.MESSAGE_COUNT.getName().equals(name)) {
+                context.getResult().set(bridge.getMessageCount());
+            } else if (CommonAttributes.ABORTED_MESSAGE_COUNT.getName().equals(name)) {
+                context.getResult().set(bridge.getAbortedMessageCount());
+            }
+            else {
                 throw MessagingLogger.ROOT_LOGGER.unsupportedAttribute(name);
             }
         }
diff --git a/messaging-activemq/src/main/resources/org/wildfly/extension/messaging/activemq/LocalDescriptions.properties b/messaging-activemq/src/main/resources/org/wildfly/extension/messaging/activemq/LocalDescriptions.properties
index 57d3345..e187990 100644
--- a/messaging-activemq/src/main/resources/org/wildfly/extension/messaging/activemq/LocalDescriptions.properties
+++ b/messaging-activemq/src/main/resources/org/wildfly/extension/messaging/activemq/LocalDescriptions.properties
@@ -473,8 +473,10 @@ jms-bridge.target-destination=The name of the target destination to lookup on th
 jms-bridge.target-password=The password for creating the target connection.
 jms-bridge.target-user=The name of the user for creating the target connection.
 jms-bridge=A JMS bridge instance.
+jms-bridge.message-count=The number of messages successfully committed.
+jms-bridge.aborted-message-count=The number of messages aborted/rollback.
 jms-queue.add-jndi.jndi-binding=Jndi binding
-jms-queue.add-jndi=Adds the queue to another JNDI binding
+jms-queue.add-jndi=Adds the queue to another JNDI binding.
 jms-queue.add=Add a JMS queue.
 jms-queue.consumer-count=The number of consumers consuming messages from this queue.
 jms-queue.dead-letter-address=The address to send dead messages to.
