[jboss-cvs] JBossAS SVN: r103043 - in trunk/hornetq-int/src: main/java/org/jboss/as/integration/hornetq/management/jms and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Mar 26 10:06:05 EDT 2010
Author: ataylor
Date: 2010-03-26 10:06:05 -0400 (Fri, 26 Mar 2010)
New Revision: 103043
Added:
trunk/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/JMSServerMO.java
Modified:
trunk/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSManagerComponent.java
trunk/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSManagerDiscoveryComponent.java
trunk/hornetq-int/src/resources/META-INF/rhq-plugin.xml
trunk/hornetq-int/src/resources/hornetq-deployers-jboss-beans.xml
Log:
hornetq plugin fixes part 2
Modified: trunk/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSManagerComponent.java
===================================================================
--- trunk/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSManagerComponent.java 2010-03-26 13:31:12 UTC (rev 103042)
+++ trunk/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSManagerComponent.java 2010-03-26 14:06:05 UTC (rev 103043)
@@ -23,6 +23,7 @@
import org.jboss.as.integration.hornetq.jopr.util.ManagementSupport;
import org.jboss.deployers.spi.management.ManagementView;
+import org.jboss.managed.api.ComponentType;
import org.jboss.managed.api.ManagedOperation;
import org.jboss.metatype.api.types.SimpleMetaType;
import org.jboss.metatype.api.values.SimpleValueSupport;
@@ -31,22 +32,49 @@
import org.rhq.core.domain.configuration.PropertyMap;
import org.rhq.core.domain.configuration.PropertySimple;
import org.rhq.core.domain.measurement.AvailabilityType;
+import org.rhq.core.domain.measurement.MeasurementDataTrait;
+import org.rhq.core.domain.measurement.MeasurementReport;
+import org.rhq.core.domain.measurement.MeasurementScheduleRequest;
import org.rhq.core.domain.resource.CreateResourceStatus;
import org.rhq.core.pluginapi.inventory.*;
+import org.rhq.core.pluginapi.measurement.MeasurementFacet;
import java.lang.reflect.Method;
import java.util.List;
import java.util.Map;
+import java.util.Set;
/**
* @author <a href="mailto:andy.taylor at jboss.org">Andy Taylor</a>
* Created 11-Mar-2010
*/
-public class JMSManagerComponent implements ResourceComponent, CreateChildResourceFacet, JMSComponent
+public class JMSManagerComponent implements ResourceComponent, CreateChildResourceFacet, MeasurementFacet, JMSComponent
{
private ResourceContext resourceContext;
+ public void getValues(MeasurementReport measurementReport, Set<MeasurementScheduleRequest> measurementScheduleRequests) throws Exception
+ {
+
+ for (MeasurementScheduleRequest measurementScheduleRequest : measurementScheduleRequests)
+ {
+
+ if("version".equalsIgnoreCase(measurementScheduleRequest.getName()))
+ {
+ ManagementView managementView = getProfileService();
+ ManagedOperation operation = ManagementSupport.getOperation(managementView, "JMSServerMO", "getVersion", new ComponentType("JMSManage", "ServerManage"));
+ SimpleValueSupport support = (SimpleValueSupport) operation.invoke();measurementReport.addData(new MeasurementDataTrait(measurementScheduleRequest, support.getValue().toString()));
+ }
+ else if("started".equalsIgnoreCase(measurementScheduleRequest.getName()))
+ {
+ ManagementView managementView = getProfileService();
+ ManagedOperation operation = ManagementSupport.getOperation(managementView, "JMSServerMO", "isStarted", new ComponentType("JMSManage", "ServerManage"));
+ SimpleValueSupport support = (SimpleValueSupport) operation.invoke();measurementReport.addData(new MeasurementDataTrait(measurementScheduleRequest, support.getValue().toString()));
+ }
+ }
+
+ }
+
public CreateResourceReport createResource(CreateResourceReport createResourceReport)
{
createResourceReport.setStatus(CreateResourceStatus.IN_PROGRESS);
Modified: trunk/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSManagerDiscoveryComponent.java
===================================================================
--- trunk/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSManagerDiscoveryComponent.java 2010-03-26 13:31:12 UTC (rev 103042)
+++ trunk/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSManagerDiscoveryComponent.java 2010-03-26 14:06:05 UTC (rev 103043)
@@ -21,11 +21,12 @@
*/
package org.jboss.as.integration.hornetq.jopr;
-import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails;
-import org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException;
-import org.rhq.core.pluginapi.inventory.ResourceDiscoveryComponent;
-import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
+import org.jboss.deployers.spi.management.ManagementView;
+import org.jboss.managed.api.ComponentType;
+import org.jboss.managed.api.ManagedComponent;
+import org.rhq.core.pluginapi.inventory.*;
+import java.lang.reflect.Method;
import java.util.Collections;
import java.util.Set;
@@ -37,7 +38,11 @@
{
public Set<DiscoveredResourceDetails> discoverResources(ResourceDiscoveryContext ctx) throws InvalidPluginConfigurationException, Exception
{
- DiscoveredResourceDetails detail = new DiscoveredResourceDetails(
+ ManagementView managementView = getProfileService(ctx);
+ ManagedComponent component = managementView.getComponent("JMSServerMO", new ComponentType("JMSManage", "ServerManage"));
+ if(component != null)
+ {
+ DiscoveredResourceDetails detail = new DiscoveredResourceDetails(
ctx.getResourceType(), // Resource type
ctx.getResourceType().getName(), // Resource key
ctx.getResourceType().getName(), // Resource name
@@ -45,7 +50,18 @@
ctx.getResourceType().getDescription(), // Description
ctx.getDefaultPluginConfiguration(), // Plugin config
null // Process info from a process scan
- );
- return Collections.singleton(detail);
+ );
+ return Collections.singleton(detail);
+ }
+ return Collections.EMPTY_SET;
}
+
+ public ManagementView getProfileService(ResourceDiscoveryContext ctx) throws Exception
+ {
+ ResourceComponent component = ctx.getParentResourceComponent();
+ Method m = component.getClass().getMethod("getConnection");
+ Object conn = m.invoke(component);
+ m = conn.getClass().getMethod("getManagementView");
+ return (ManagementView) m.invoke(conn);
+ }
}
Added: trunk/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/JMSServerMO.java
===================================================================
--- trunk/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/JMSServerMO.java (rev 0)
+++ trunk/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/JMSServerMO.java 2010-03-26 14:06:05 UTC (rev 103043)
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009 Red Hat, Inc.
+ * Red Hat 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.jboss.as.integration.hornetq.management.jms;
+
+import org.hornetq.core.server.HornetQServer;
+import org.jboss.managed.api.annotation.ManagementComponent;
+import org.jboss.managed.api.annotation.ManagementObject;
+import org.jboss.managed.api.annotation.ManagementOperation;
+import org.jboss.managed.api.annotation.ManagementProperties;
+
+/**
+ * @author <a href="mailto:andy.taylor at jboss.org">Andy Taylor</a>
+ * Created Mar 26, 2010
+ */
+ at ManagementObject(componentType = @ManagementComponent(type = "JMSManage", subtype = "ServerManage"),
+ properties = ManagementProperties.EXPLICIT, isRuntime = true)
+public class JMSServerMO extends JMSManageMO
+{
+ public JMSServerMO(HornetQServer server)
+ {
+ super(server); //To change body of overridden methods use File | Settings | File Templates.
+ }
+
+ @ManagementOperation(name = "getVersion", description = "returns the servers version")
+ public String getVersion()
+ {
+ return jmsServerControl.getVersion();
+ }
+
+ @ManagementOperation(name = "getVersion", description = "returns the servers status")
+ public boolean isStarted()
+ {
+ return jmsServerControl.isStarted();
+ }
+}
Modified: trunk/hornetq-int/src/resources/META-INF/rhq-plugin.xml
===================================================================
--- trunk/hornetq-int/src/resources/META-INF/rhq-plugin.xml 2010-03-26 13:31:12 UTC (rev 103042)
+++ trunk/hornetq-int/src/resources/META-INF/rhq-plugin.xml 2010-03-26 14:06:05 UTC (rev 103043)
@@ -41,6 +41,15 @@
<parent-resource-type name="JBossAS Server" plugin="JBossAS5"/>
</runs-inside>
+ <metric property="version"
+ displayName="HornetQ Version"
+ description="The HornetQ version"
+ dataType="trait" displayType="summary"/>
+ <metric property="started"
+ displayName="Is Started"
+ description="The HornetQ version"
+ dataType="trait" displayType="summary"/>
+
<service name="JMS Queue"
discovery="JMSQueueDiscoveryComponent"
class="JMSQueueComponent"
Modified: trunk/hornetq-int/src/resources/hornetq-deployers-jboss-beans.xml
===================================================================
--- trunk/hornetq-int/src/resources/hornetq-deployers-jboss-beans.xml 2010-03-26 13:31:12 UTC (rev 103042)
+++ trunk/hornetq-int/src/resources/hornetq-deployers-jboss-beans.xml 2010-03-26 14:06:05 UTC (rev 103043)
@@ -56,4 +56,9 @@
<demand>JMSServerManager</demand>
</bean>
+ <bean name="JMSServerMO" class="org.jboss.as.integration.hornetq.management.jms.JMSServerMO">
+ <constructor><parameter><inject bean="HornetQServer" /></parameter></constructor>
+ <demand>JMSServerManager</demand>
+ </bean>
+
</deployment>
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list