Skip to content

Commit

Permalink
JMX/JSR77 Capabilities and Requirements
Browse files Browse the repository at this point in the history
  • Loading branch information
bstansberry committed Jul 13, 2015
1 parent 7fa580c commit 77334e3
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 10 deletions.
Expand Up @@ -38,7 +38,6 @@
<module name="org.jboss.as.controller"/>
<module name="org.jboss.as.ee"/>
<module name="org.jboss.as.ejb3"/>
<module name="org.jboss.as.jmx"/>
<module name="org.jboss.as.naming"/>
<module name="org.wildfly.security.elytron"/>
<module name="org.jboss.as.server"/>
Expand Down
4 changes: 0 additions & 4 deletions jsr77/pom.xml
Expand Up @@ -50,10 +50,6 @@
<groupId>org.wildfly</groupId>
<artifactId>wildfly-ejb3</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.core</groupId>
<artifactId>wildfly-jmx</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.core</groupId>
<artifactId>wildfly-server</artifactId>
Expand Down
Expand Up @@ -23,6 +23,7 @@

import org.jboss.as.controller.PathElement;
import org.jboss.as.controller.SimpleResourceDefinition;
import org.jboss.as.controller.capability.RuntimeCapability;
import org.jboss.as.controller.descriptions.ModelDescriptionConstants;

/**
Expand All @@ -31,6 +32,11 @@
*/
public class JSR77ManagementRootResource extends SimpleResourceDefinition {

static final String JMX_CAPABILITY = "org.wildfly.management.jmx";
static final RuntimeCapability<Void> JSR77_CAPABILITY = RuntimeCapability.Builder.of("org.wildfly.jsr77")
.addRequirements(JMX_CAPABILITY)
.build();

static JSR77ManagementRootResource INSTANCE = new JSR77ManagementRootResource();

private JSR77ManagementRootResource() {
Expand Down
Expand Up @@ -40,7 +40,6 @@
import org.jboss.as.ejb3.remote.DefaultEjbClientContextService;
import org.jboss.as.ejb3.remote.RemoteViewManagedReferenceFactory;
import org.jboss.as.ejb3.remote.TCCLEJBClientContextSelectorService;
import org.jboss.as.jmx.MBeanServerService;
import org.jboss.as.naming.ServiceBasedNamingStore;
import org.jboss.as.naming.deployment.ContextNames;
import org.jboss.as.naming.service.BinderService;
Expand All @@ -52,6 +51,7 @@
import org.jboss.dmr.ModelNode;
import org.jboss.ejb.client.EJBClientContext;
import org.jboss.msc.service.ServiceController.Mode;
import org.jboss.msc.service.ServiceName;
import org.jboss.msc.service.ServiceTarget;
import org.jboss.msc.value.InjectedValue;
import org.jboss.msc.value.Values;
Expand All @@ -66,6 +66,7 @@ class JSR77ManagementSubsystemAdd extends AbstractAddStepHandler {


private JSR77ManagementSubsystemAdd() {
super(JSR77ManagementRootResource.JSR77_CAPABILITY);
}

@Override
Expand All @@ -88,9 +89,11 @@ public void execute(OperationContext context, ModelNode operation) throws Operat

ServiceTarget target = context.getServiceTarget();

ServiceName mbeanServerServiceName = context.getCapabilityServiceName(JSR77ManagementRootResource.JMX_CAPABILITY, MBeanServer.class);

RegisterMBeanServerDelegateService mbeanServerService = new RegisterMBeanServerDelegateService();
target.addService(RegisterMBeanServerDelegateService.SERVICE_NAME, mbeanServerService)
.addDependency(MBeanServerService.SERVICE_NAME, PluggableMBeanServer.class, mbeanServerService.injectedMbeanServer)
.addDependency(mbeanServerServiceName, PluggableMBeanServer.class, mbeanServerService.injectedMbeanServer)
.addDependency(Services.JBOSS_SERVER_CONTROLLER, ModelController.class, mbeanServerService.injectedController)
.setInitialMode(Mode.ACTIVE)
.install();
Expand All @@ -99,7 +102,7 @@ public void execute(OperationContext context, ModelNode operation) throws Operat
RegisterManagementEJBService managementEjbService = new RegisterManagementEJBService();
target.addService(RegisterManagementEJBService.SERVICE_NAME, managementEjbService)
.addDependency(DeploymentRepository.SERVICE_NAME, DeploymentRepository.class, managementEjbService.deploymentRepositoryValue)
.addDependency(MBeanServerService.SERVICE_NAME, MBeanServer.class, managementEjbService.mbeanServerValue)
.addDependency(mbeanServerServiceName, MBeanServer.class, managementEjbService.mbeanServerValue)
//TODO I think these are needed here since we don't go through EjbClientContextSetupProcessor
.addDependency(DefaultEjbClientContextService.DEFAULT_SERVICE_NAME, EJBClientContext.class, managementEjbService.ejbClientContextValue)
.addDependency(TCCLEJBClientContextSelectorService.TCCL_BASED_EJB_CLIENT_CONTEXT_SELECTOR_SERVICE_NAME, TCCLEJBClientContextSelectorService.class, managementEjbService.ejbClientContextSelectorValue)
Expand Down
Expand Up @@ -38,6 +38,7 @@ class JSR77ManagementSubsystemRemove extends AbstractRemoveStepHandler {
static JSR77ManagementSubsystemRemove INSTANCE = new JSR77ManagementSubsystemRemove();

private JSR77ManagementSubsystemRemove() {
super(JSR77ManagementRootResource.JSR77_CAPABILITY);
}

@Override
Expand Down
Expand Up @@ -38,6 +38,8 @@
*/
public class JSR77ManagementSubsystemTestCase extends AbstractSubsystemBaseTest {

private static final AdditionalInitialization ADDITIONAL_INITIALIZATION = AdditionalInitialization.withCapabilities(JSR77ManagementRootResource.JMX_CAPABILITY);

public JSR77ManagementSubsystemTestCase() {
super(JSR77ManagementExtension.SUBSYSTEM_NAME, new JSR77ManagementExtension());
}
Expand All @@ -47,6 +49,11 @@ protected String getSubsystemXml() throws IOException {
return "<subsystem xmlns=\"urn:jboss:domain:jsr77:1.0\"/>";
}

@Override
protected AdditionalInitialization createAdditionalInitialization() {
return ADDITIONAL_INITIALIZATION;
}

@Override
protected String getSubsystemXsdPath() throws Exception {
return "schema/jboss-as-jsr77_1_0.xsd";
Expand Down Expand Up @@ -98,12 +105,13 @@ public void testTransformersEAP611() throws Exception {
private void testTransformers_1_0_0(ModelTestControllerVersion controllerVersion) throws Exception {
ModelVersion modelVersion = ModelVersion.create(1, 0, 0);
//Use the non-runtime version of the extension which will happen on the HC
KernelServicesBuilder builder = createKernelServicesBuilder(AdditionalInitialization.MANAGEMENT)
KernelServicesBuilder builder = createKernelServicesBuilder(ADDITIONAL_INITIALIZATION)
.setSubsystemXml(getSubsystemXml());

// Add legacy subsystems
builder.createLegacyKernelServicesBuilder(null, controllerVersion, modelVersion)
.addMavenResourceURL("org.jboss.as:jboss-as-jsr77:" + controllerVersion.getMavenGavVersion());
.addMavenResourceURL("org.jboss.as:jboss-as-jsr77:" + controllerVersion.getMavenGavVersion())
.configureReverseControllerCheck(ADDITIONAL_INITIALIZATION, null);

KernelServices mainServices = builder.build();
KernelServices legacyServices = mainServices.getLegacyServices(modelVersion);
Expand Down

0 comments on commit 77334e3

Please sign in to comment.