Author: ningjiang
Date: Mon Feb 13 11:48:05 2012
New Revision: 1243481
URL: http://svn.apache.org/viewvc?rev=1243481&view=rev
Log:
Merged revisions 1243432 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1243432 | ningjiang | 2012-02-13 16:38:37 +0800 (Mon, 13 Feb 2012) | 1 line
CXF-4098 JMX management supports of the CXF WS-Notification service
........
Added:
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/CreatePullPointMBean.java
- copied unchanged from r1243432,
cxf/trunk/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/CreatePullPointMBean.java
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/EndpointMBean.java
- copied unchanged from r1243432,
cxf/trunk/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/EndpointMBean.java
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/NotificationBrokerMBean.java
- copied unchanged from r1243432,
cxf/trunk/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/NotificationBrokerMBean.java
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/services/JaxwsCreatePullPointMBean.java
- copied unchanged from r1243432,
cxf/trunk/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/services/JaxwsCreatePullPointMBean.java
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/services/JaxwsNotificationBrokerMBean.java
- copied unchanged from r1243432,
cxf/trunk/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/services/JaxwsNotificationBrokerMBean.java
Modified:
cxf/branches/2.5.x-fixes/ (props changed)
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractCreatePullPoint.java
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractEndpoint.java
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractNotificationBroker.java
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/jms/JmsCreatePullPoint.java
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/services/JaxwsCreatePullPoint.java
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/services/JaxwsNotificationBroker.java
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/services/Service.java
Propchange: cxf/branches/2.5.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Feb 13 11:48:05 2012
@@ -1 +1 @@
-/cxf/trunk:1236720,1241934,1242263,1242359,1242729,1242739,1242840-1242842,1242847,1242948
+/cxf/trunk:1236720,1241934,1242263,1242359,1242729,1242739,1242840-1242842,1242847,1242948,1243432
Propchange: cxf/branches/2.5.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified:
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractCreatePullPoint.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractCreatePullPoint.java?rev=1243481&r1=1243480&r2=1243481&view=diff
==============================================================================
---
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractCreatePullPoint.java
(original)
+++
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractCreatePullPoint.java
Mon Feb 13 11:48:05 2012
@@ -18,6 +18,8 @@
*/
package org.apache.cxf.wsn;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Level;
@@ -37,7 +39,8 @@ import org.oasis_open.docs.wsn.bw_2.Unab
import org.oasis_open.docs.wsn.bw_2.UnableToDestroyPullPointFault;
@WebService(endpointInterface = "org.oasis_open.docs.wsn.bw_2.CreatePullPoint")
-public abstract class AbstractCreatePullPoint extends AbstractEndpoint
implements CreatePullPoint {
+public abstract class AbstractCreatePullPoint extends AbstractEndpoint
+ implements CreatePullPoint, CreatePullPointMBean {
private static final Logger LOGGER =
LogUtils.getL7dLogger(AbstractCreatePullPoint.class);
@@ -58,6 +61,14 @@ public abstract class AbstractCreatePull
public void destroy() throws Exception {
unregister();
}
+
+ public List<String> getPullEndpoints() {
+ return new ArrayList<String>(pullPoints.keySet());
+ }
+
+ public EndpointMBean getPullEndpoint(String name) {
+ return pullPoints.get(name);
+ }
@WebMethod(operationName = "CreatePullPoint")
@WebResult(name = "CreatePullPointResponse",
Modified:
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractEndpoint.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractEndpoint.java?rev=1243481&r1=1243480&r2=1243481&view=diff
==============================================================================
---
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractEndpoint.java
(original)
+++
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractEndpoint.java
Mon Feb 13 11:48:05 2012
@@ -20,7 +20,7 @@ package org.apache.cxf.wsn;
import javax.xml.ws.wsaddressing.W3CEndpointReference;
-public abstract class AbstractEndpoint {
+public abstract class AbstractEndpoint implements EndpointMBean {
protected final String name;
Modified:
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractNotificationBroker.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractNotificationBroker.java?rev=1243481&r1=1243480&r2=1243481&view=diff
==============================================================================
---
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractNotificationBroker.java
(original)
+++
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractNotificationBroker.java
Mon Feb 13 11:48:05 2012
@@ -19,6 +19,8 @@
package org.apache.cxf.wsn;
import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Level;
@@ -72,7 +74,7 @@ import org.oasis_open.docs.wsrf.rw_2.Res
@WebService(endpointInterface =
"org.oasis_open.docs.wsn.brw_2.NotificationBroker")
public abstract class AbstractNotificationBroker extends AbstractEndpoint
- implements NotificationBroker, GetResourceProperty {
+ implements NotificationBroker, NotificationBrokerMBean,
GetResourceProperty {
public static final String NAMESPACE_URI =
"http://docs.oasis-open.org/wsn/b-2";
public static final String PREFIX = "wsnt";
@@ -110,6 +112,26 @@ public abstract class AbstractNotificati
anonymousPublisher.destroy();
unregister();
}
+
+ public List<String> getPublisher() {
+ return new ArrayList<String>(publishers.keySet());
+ }
+
+ public List<String> getSubscriptions() {
+ return new ArrayList<String>(subscriptions.keySet());
+ }
+
+ public EndpointMBean getPublisher(String name) {
+ return publishers.get(name);
+ }
+
+ public EndpointMBean getSubscription(String name) {
+ return subscriptions.get(name);
+ }
+
+ public EndpointMBean getAnonymousPublisher() {
+ return anonymousPublisher;
+ }
/**
*
Modified:
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/jms/JmsCreatePullPoint.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/jms/JmsCreatePullPoint.java?rev=1243481&r1=1243480&r2=1243481&view=diff
==============================================================================
---
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/jms/JmsCreatePullPoint.java
(original)
+++
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/jms/JmsCreatePullPoint.java
Mon Feb 13 11:48:05 2012
@@ -79,5 +79,5 @@ public class JmsCreatePullPoint extends
public void setConnectionFactory(ConnectionFactory connectionFactory) {
this.connectionFactory = connectionFactory;
}
-
+
}
Modified:
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/services/JaxwsCreatePullPoint.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/services/JaxwsCreatePullPoint.java?rev=1243481&r1=1243480&r2=1243481&view=diff
==============================================================================
---
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/services/JaxwsCreatePullPoint.java
(original)
+++
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/services/JaxwsCreatePullPoint.java
Mon Feb 13 11:48:05 2012
@@ -31,7 +31,8 @@ import org.apache.cxf.wsn.jms.JmsCreateP
serviceName = "CreatePullPoint",
portName = "CreatePullPointPort")
@BindingType(javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING)
-public class JaxwsCreatePullPoint extends JmsCreatePullPoint {
+public class JaxwsCreatePullPoint extends JmsCreatePullPoint
+ implements JaxwsCreatePullPointMBean {
public JaxwsCreatePullPoint(String name) {
super(name);
Modified:
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/services/JaxwsNotificationBroker.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/services/JaxwsNotificationBroker.java?rev=1243481&r1=1243480&r2=1243481&view=diff
==============================================================================
---
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/services/JaxwsNotificationBroker.java
(original)
+++
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/services/JaxwsNotificationBroker.java
Mon Feb 13 11:48:05 2012
@@ -31,7 +31,8 @@ import org.apache.cxf.wsn.jms.JmsSubscri
serviceName = "NotificationBroker",
portName = "NotificationBrokerPort")
@BindingType(javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING)
-public class JaxwsNotificationBroker extends JmsNotificationBroker {
+public class JaxwsNotificationBroker extends JmsNotificationBroker
+ implements JaxwsNotificationBrokerMBean {
public JaxwsNotificationBroker(String name) {
super(name);
@@ -52,4 +53,5 @@ public class JaxwsNotificationBroker ext
protected JmsPublisher createJmsPublisher(String name) {
return new JaxwsPublisher(name, this);
}
+
}
Modified:
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/services/Service.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/services/Service.java?rev=1243481&r1=1243480&r2=1243481&view=diff
==============================================================================
---
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/services/Service.java
(original)
+++
cxf/branches/2.5.x-fixes/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/services/Service.java
Mon Feb 13 11:48:05 2012
@@ -19,6 +19,11 @@
package org.apache.cxf.wsn.services;
+import java.lang.management.ManagementFactory;
+
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.cxf.wsn.AbstractCreatePullPoint;
import org.apache.cxf.wsn.AbstractNotificationBroker;
@@ -29,6 +34,7 @@ import org.apache.cxf.wsn.AbstractNotifi
public class Service {
String rootURL = "http://0.0.0.0:9000/wsn";
String activeMqUrl = "vm:(broker:(tcp://localhost:6000)?persistent=false)";
+ boolean jmxEnable = true;
AbstractCreatePullPoint createPullPointServer;
AbstractNotificationBroker notificationBrokerServer;
@@ -39,6 +45,8 @@ public class Service {
activeMqUrl = args[++x];
} else if ("-rootUrl".equals(args[x])) {
rootURL = args[++x];
+ } else if ("-jmxEnable".equals(args[x])) {
+ jmxEnable = Boolean.valueOf(args[++x]);
}
}
@@ -62,6 +70,21 @@ public class Service {
createPullPointServer = new JaxwsCreatePullPoint("CreatePullPoint",
activemq);
createPullPointServer.setAddress(rootURL + "/CreatePullPoint");
createPullPointServer.init();
+
+ if (jmxEnable) {
+
+ MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+
+ ObjectName nbServerName =
+ new
ObjectName("org.apache.cxf.service.mbeans:type=WSNotificationBroker");
+
+ ObjectName cpServerName = new
ObjectName("org.apache.cxf.service.mbeans:type=CreatePullPoint");
+
+ mbs.registerMBean(notificationBrokerServer, nbServerName);
+
+ mbs.registerMBean(createPullPointServer, cpServerName);
+
+ }
}
}