You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by cs...@apache.org on 2012/04/11 12:24:34 UTC
svn commit: r1324686 - in /karaf/trunk/scr/management: ./
src/main/java/org/apache/karaf/scr/management/
src/main/java/org/apache/karaf/scr/management/internal/
src/main/resources/OSGI-INF/blueprint/
Author: cschneider
Date: Wed Apr 11 10:24:33 2012
New Revision: 1324686
URL: http://svn.apache.org/viewvc?rev=1324686&view=rev
Log:
KARAF-1302 Use aries jmx for scr module
Added:
karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/ScrsMBean.java
- copied, changed from r1324616, karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/ScrServiceMBean.java
karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/internal/Scrs.java
- copied, changed from r1324616, karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/internal/ScrServiceMBeanImpl.java
karaf/trunk/scr/management/src/main/resources/OSGI-INF/blueprint/
karaf/trunk/scr/management/src/main/resources/OSGI-INF/blueprint/blueprint.xml
Removed:
karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/ScrServiceMBean.java
karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/internal/ScrServiceMBeanImpl.java
Modified:
karaf/trunk/scr/management/pom.xml
Modified: karaf/trunk/scr/management/pom.xml
URL: http://svn.apache.org/viewvc/karaf/trunk/scr/management/pom.xml?rev=1324686&r1=1324685&r2=1324686&view=diff
==============================================================================
--- karaf/trunk/scr/management/pom.xml (original)
+++ karaf/trunk/scr/management/pom.xml Wed Apr 11 10:24:33 2012
@@ -90,12 +90,6 @@
<Export-Package>
org.apache.karaf.scr.management
</Export-Package>
- <Import-Package>
- !org.apache.karaf.scr.management,
- javax.management,
- javax.management.loading,
- *
- </Import-Package>
<Private-Package>
org.apache.karaf.scr.management.internal
</Private-Package>
Copied: karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/ScrsMBean.java (from r1324616, karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/ScrServiceMBean.java)
URL: http://svn.apache.org/viewvc/karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/ScrsMBean.java?p2=karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/ScrsMBean.java&p1=karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/ScrServiceMBean.java&r1=1324616&r2=1324686&rev=1324686&view=diff
==============================================================================
--- karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/ScrServiceMBean.java (original)
+++ karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/ScrsMBean.java Wed Apr 11 10:24:33 2012
@@ -1,29 +1,29 @@
-/*
- * 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.karaf.scr.management;
-
-public interface ScrServiceMBean {
-
- String[] listComponents() throws Exception;
-
- boolean isComponentActive(String componentName) throws Exception;
-
- void activateComponent(String componentName) throws Exception;
-
- void deactiveateComponent(String componentName) throws Exception;
-
-}
+/*
+ * 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.karaf.scr.management;
+
+public interface ScrsMBean {
+
+ String[] listComponents() throws Exception;
+
+ boolean isComponentActive(String componentName) throws Exception;
+
+ void activateComponent(String componentName) throws Exception;
+
+ void deactiveateComponent(String componentName) throws Exception;
+
+}
Copied: karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/internal/Scrs.java (from r1324616, karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/internal/ScrServiceMBeanImpl.java)
URL: http://svn.apache.org/viewvc/karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/internal/Scrs.java?p2=karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/internal/Scrs.java&p1=karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/internal/ScrServiceMBeanImpl.java&r1=1324616&r2=1324686&rev=1324686&view=diff
==============================================================================
--- karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/internal/ScrServiceMBeanImpl.java (original)
+++ karaf/trunk/scr/management/src/main/java/org/apache/karaf/scr/management/internal/Scrs.java Wed Apr 11 10:24:33 2012
@@ -1,146 +1,80 @@
-/*
- * 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.karaf.scr.management.internal;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.locks.ReadWriteLock;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-
-import javax.management.MBeanServer;
-import javax.management.NotCompliantMBeanException;
-import javax.management.StandardMBean;
-
-import org.apache.felix.scr.Component;
-import org.apache.felix.scr.ScrService;
-import org.apache.karaf.management.MBeanRegistrer;
-import org.apache.karaf.scr.management.ScrServiceMBean;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import aQute.bnd.annotation.component.Activate;
-import aQute.bnd.annotation.component.Deactivate;
-
-@aQute.bnd.annotation.component.Component(name = ScrServiceMBeanImpl.COMPONENT_NAME, enabled = true, immediate = true)
-public class ScrServiceMBeanImpl extends StandardMBean implements ScrServiceMBean {
-
- public static final String COMPONENT_NAME = "ScrServiceMBean";
-
- public static final String COMPONENT_LABEL = "Apache Karaf SCR Service MBean";
-
- private static final Logger LOGGER = LoggerFactory.getLogger(ScrServiceMBeanImpl.class);
-
- private MBeanServer mBeanServer;
-
- private ScrService scrService;
-
- private MBeanRegistrer mBeanRegistrer;
-
- private ReadWriteLock lock = new ReentrantReadWriteLock();
-
- /**
- * Creates new Declarative Services mbean.
- *
- * @throws NotCompliantMBeanException
- */
- public ScrServiceMBeanImpl() throws NotCompliantMBeanException {
- super(ScrServiceMBean.class);
- }
-
- @Activate
- public void activate() throws Exception {
- LOGGER.info("Activating the " + COMPONENT_LABEL);
- Map<Object, String> mbeans = new HashMap<Object, String>();
- String karafName = System.getProperty("karaf.name", "root");
- mbeans.put(this, "org.apache.karaf:type=scr,name=" + karafName);
- try {
- lock.writeLock().lock();
- mBeanRegistrer = new MBeanRegistrer();
- mBeanRegistrer.setMbeans(mbeans);
- mBeanRegistrer.registerMBeanServer(mBeanServer);
- } finally {
- lock.writeLock().unlock();
- }
- }
-
- @Deactivate
- public void deactivate() throws Exception {
- LOGGER.info("Deactivating the " + COMPONENT_LABEL);
- try {
- lock.writeLock().lock();
- mBeanRegistrer.unregisterMBeanServer(mBeanServer);
- mBeanRegistrer = null;
- } finally {
- lock.writeLock().unlock();
- }
- }
-
- public String[] listComponents() throws Exception {
- Component[] components = safe(scrService.getComponents());
- String[] componentNames = new String[components.length];
- for (int i = 0; i < componentNames.length; i++) {
- componentNames[i] = components[i].getName();
- }
- return componentNames;
- }
-
- public boolean isComponentActive(String componentName) throws Exception {
- boolean state = false;
- Component[] components = scrService.getComponents(componentName);
- for (Component component : safe(components)) {
- state = (component.getState() == Component.STATE_ACTIVE)?true:false;
- }
- return state;
- }
-
- public void activateComponent(String componentName) throws Exception {
- if (scrService.getComponents(componentName) != null) {
- Component[] components = scrService.getComponents(componentName);
- for (Component component : safe(components)) {
- component.enable();
- }
- }
- }
-
- public void deactiveateComponent(String componentName) throws Exception {
- if (scrService.getComponents(componentName) != null) {
- Component[] components = scrService.getComponents(componentName);
- for (Component component : safe(components)) {
- component.disable();
- }
- }
- }
-
- private Component[] safe( Component[] components ) {
- return components == null ? new Component[0] : components;
- }
-
- /**
- * @param mBeanServer the mBeanServer to set
- */
- public void setmBeanServer(MBeanServer mBeanServer) {
- this.mBeanServer = mBeanServer;
- }
-
- /**
- * @param scrService the scrService to set
- */
- public void setScrService(ScrService scrService) {
- this.scrService = scrService;
- }
-
-}
+/*
+ * 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.karaf.scr.management.internal;
+
+import javax.management.NotCompliantMBeanException;
+import javax.management.StandardMBean;
+
+import org.apache.felix.scr.Component;
+import org.apache.felix.scr.ScrService;
+import org.apache.karaf.scr.management.ScrsMBean;
+
+public class Scrs extends StandardMBean implements ScrsMBean {
+
+ private ScrService scrService;
+
+ /**
+ * Creates new Declarative Services mbean.
+ *
+ * @throws NotCompliantMBeanException
+ */
+ public Scrs(ScrService scrService) throws NotCompliantMBeanException {
+ super(ScrsMBean.class);
+ this.scrService = scrService;
+ }
+
+ public String[] listComponents() throws Exception {
+ Component[] components = safe(scrService.getComponents());
+ String[] componentNames = new String[components.length];
+ for (int i = 0; i < componentNames.length; i++) {
+ componentNames[i] = components[i].getName();
+ }
+ return componentNames;
+ }
+
+ public boolean isComponentActive(String componentName) throws Exception {
+ boolean state = false;
+ Component[] components = scrService.getComponents(componentName);
+ for (Component component : safe(components)) {
+ state = (component.getState() == Component.STATE_ACTIVE)?true:false;
+ }
+ return state;
+ }
+
+ public void activateComponent(String componentName) throws Exception {
+ if (scrService.getComponents(componentName) != null) {
+ Component[] components = scrService.getComponents(componentName);
+ for (Component component : safe(components)) {
+ component.enable();
+ }
+ }
+ }
+
+ public void deactiveateComponent(String componentName) throws Exception {
+ if (scrService.getComponents(componentName) != null) {
+ Component[] components = scrService.getComponents(componentName);
+ for (Component component : safe(components)) {
+ component.disable();
+ }
+ }
+ }
+
+ private Component[] safe( Component[] components ) {
+ return components == null ? new Component[0] : components;
+ }
+
+}
Added: karaf/trunk/scr/management/src/main/resources/OSGI-INF/blueprint/blueprint.xml
URL: http://svn.apache.org/viewvc/karaf/trunk/scr/management/src/main/resources/OSGI-INF/blueprint/blueprint.xml?rev=1324686&view=auto
==============================================================================
--- karaf/trunk/scr/management/src/main/resources/OSGI-INF/blueprint/blueprint.xml (added)
+++ karaf/trunk/scr/management/src/main/resources/OSGI-INF/blueprint/blueprint.xml Wed Apr 11 10:24:33 2012
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed 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.
+-->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+ xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
+ xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0">
+
+ <ext:property-placeholder />
+
+ <reference id="scrService" interface="org.apache.felix.scr.ScrService"/>
+
+ <bean id="scrsMBean" class="org.apache.karaf.scr.management.internal.Scrs">
+ <argument ref="scrService" />
+ </bean>
+
+ <service ref="scrsMBean" interface="org.apache.karaf.scr.management.ScrsMBean">
+ <service-properties>
+ <entry key="jmx.objectname" value="org.apache.karaf:type=scr,name=${karaf.name}"/>
+ </service-properties>
+ </service>
+</blueprint>