@Override protected void recreateParentService(OperationContext context, PathAddress parentAddress, ModelNode parentModel, ServiceVerificationHandler verificationHandler) throws OperationFailedException { JMXSubsystemAdd.INSTANCE.launchServices(context, parentModel, verificationHandler, null); }
void launchServices(OperationContext context, ModelNode model, ServiceVerificationHandler verificationHandler, List<ServiceController<?>> newControllers) throws OperationFailedException { ModelNode recursiveModel = Resource.Tools.readModel(context.readResource(PathAddress.EMPTY_ADDRESS)); // Add the MBean service String resolvedDomain = getDomainName(context, recursiveModel, CommonAttributes.RESOLVED); String expressionsDomain = getDomainName(context, recursiveModel, CommonAttributes.EXPRESSION); boolean legacyWithProperPropertyFormat = false; if (model.hasDefined(CommonAttributes.PROPER_PROPERTY_FORMAT)) { legacyWithProperPropertyFormat = ExposeModelResourceExpression.DOMAIN_NAME.resolveModelAttribute(context, recursiveModel).asBoolean(); } ServiceController<?> controller = verificationHandler != null ? MBeanServerService.addService(context.getServiceTarget(), resolvedDomain, expressionsDomain, legacyWithProperPropertyFormat, verificationHandler) : MBeanServerService.addService(context.getServiceTarget(), resolvedDomain, expressionsDomain, legacyWithProperPropertyFormat); if (newControllers != null) { newControllers.add(controller); } }
private JMXSubsystemRootResource(ManagedAuditLogger auditLogger, JmxAuthorizer authorizer) { super(PATH_ELEMENT, JMXExtension.getResourceDescriptionResolver(JMXExtension.SUBSYSTEM_NAME), new JMXSubsystemAdd(auditLogger, authorizer), JMXSubsystemRemove.INSTANCE); this.accessConstraints = JMXExtension.JMX_SENSITIVITY_DEF.wrapAsList(); this.auditLogger = auditLogger; this.authorizer = authorizer; }
@Override protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model, ServiceVerificationHandler verificationHandler, List<ServiceController<?>> newControllers) throws OperationFailedException { boolean useManagementEndpoint = true; if(model.hasDefined(USE_MANAGEMENT_ENDPOINT)) { useManagementEndpoint = RemotingConnectorResource.USE_MANAGEMENT_ENDPOINT.resolveModelAttribute(context, model).asBoolean(); } // Read the model for the JMW subsystem to find the domain name for the resolved/expressions models (if they are exposed). PathAddress address = PathAddress.pathAddress(operation.get(ModelDescriptionConstants.OP_ADDR)); PathAddress parentAddress = address.subAddress(0, address.size() - 1); ModelNode jmxSubsystemModel = Resource.Tools.readModel(context.readResourceFromRoot(parentAddress, true)); String resolvedDomain = getDomainName(context, jmxSubsystemModel, CommonAttributes.RESOLVED); String expressionsDomain = getDomainName(context, jmxSubsystemModel, CommonAttributes.EXPRESSION); launchServices(context, verificationHandler, newControllers, useManagementEndpoint, resolvedDomain, expressionsDomain); }
private JMXSubsystemRootResource(ManagedAuditLogger auditLogger, JmxAuthorizer authorizer, Supplier<SecurityIdentity> securityIdentitySupplier, RuntimeHostControllerInfoAccessor hostInfoAccessor) { super(new Parameters(PATH_ELEMENT, JMXExtension.getResourceDescriptionResolver(JMXExtension.SUBSYSTEM_NAME)) .setAddHandler(new JMXSubsystemAdd(auditLogger, authorizer, securityIdentitySupplier, hostInfoAccessor)) .setRemoveHandler(new JMXSubsystemRemove(auditLogger, authorizer, securityIdentitySupplier, hostInfoAccessor)) .addCapabilities(JMX_CAPABILITY) .setAccessConstraints(JMXExtension.JMX_SENSITIVITY_DEF)); this.auditLogger = auditLogger; this.authorizer = authorizer; this.securityIdentitySupplier = securityIdentitySupplier; this.hostInfoAccessor = hostInfoAccessor; }
@Override protected void recreateParentService(OperationContext context, PathAddress parentAddress, ModelNode parentModel, ServiceVerificationHandler verificationHandler) throws OperationFailedException { JMXSubsystemAdd.launchServices(context, parentModel, verificationHandler, auditLoggerInfo, authorizer, null); }
static void launchServices(OperationContext context, ModelNode model, ServiceVerificationHandler verificationHandler, ManagedAuditLogger auditLoggerInfo, JmxAuthorizer authorizer, List<ServiceController<?>> newControllers) throws OperationFailedException { ModelNode recursiveModel = Resource.Tools.readModel(context.readResource(PathAddress.EMPTY_ADDRESS)); // Add the MBean service String resolvedDomain = getDomainName(context, recursiveModel, CommonAttributes.RESOLVED); String expressionsDomain = getDomainName(context, recursiveModel, CommonAttributes.EXPRESSION); boolean legacyWithProperPropertyFormat = false; if (model.hasDefined(CommonAttributes.PROPER_PROPERTY_FORMAT)) { legacyWithProperPropertyFormat = ExposeModelResourceExpression.DOMAIN_NAME.resolveModelAttribute(context, recursiveModel).asBoolean(); } boolean coreMBeanSensitivity = JMXSubsystemRootResource.CORE_MBEAN_SENSITIVITY.resolveModelAttribute(context, recursiveModel).asBoolean(); boolean forStandalone = context.getProcessType() == ProcessType.STANDALONE_SERVER; ServiceController<?> controller = verificationHandler != null ? MBeanServerService.addService(context.getServiceTarget(), resolvedDomain, expressionsDomain, legacyWithProperPropertyFormat, coreMBeanSensitivity, auditLoggerInfo, authorizer, forStandalone, verificationHandler) : MBeanServerService.addService(context.getServiceTarget(), resolvedDomain, expressionsDomain, legacyWithProperPropertyFormat, coreMBeanSensitivity, auditLoggerInfo, authorizer, forStandalone); if (newControllers != null) { newControllers.add(controller); } }
@Override protected void recreateParentService(OperationContext context, PathAddress parentAddress, ModelNode parentModel, ServiceVerificationHandler verificationHandler) throws OperationFailedException { JMXSubsystemAdd.INSTANCE.launchServices(context, parentModel, verificationHandler, null); }
String resolvedDomain = getDomainName(context, model, CommonAttributes.RESOLVED); String expressionsDomain = getDomainName(context, model, CommonAttributes.EXPRESSION); boolean legacyWithProperPropertyFormat = false; if (model.hasDefined(CommonAttributes.PROPER_PROPERTY_FORMAT)) {
@Override protected void recreateParentService(OperationContext context, PathAddress parentAddress, ModelNode parentModel, ServiceVerificationHandler verificationHandler) throws OperationFailedException { JMXSubsystemAdd.launchServices(context, parentModel, verificationHandler, auditLoggerInfo, authorizer, null); }
@Override protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { boolean useManagementEndpoint = RemotingConnectorResource.USE_MANAGEMENT_ENDPOINT.resolveModelAttribute(context, model).asBoolean(); ServiceName remotingCapability; if (!useManagementEndpoint) { // Use the remoting capability // if (context.getProcessType() == ProcessType.DOMAIN_SERVER) then DomainServerCommunicationServices // installed the "remoting subsystem" endpoint and we don't even necessarily *have to* have a remoting // subsystem and possibly we could skip adding the requirement for its capability. But really, specifying // not to use the management endpoint and then not configuring a remoting subsystem is a misconfiguration, // and we should treat it as such. So, we add the requirement no matter what. context.requireOptionalCapability(RemotingConnectorResource.REMOTING_CAPABILITY, RemotingConnectorResource.REMOTE_JMX_CAPABILITY.getName(), RemotingConnectorResource.USE_MANAGEMENT_ENDPOINT.getName()); remotingCapability = context.getCapabilityServiceName(RemotingConnectorResource.REMOTING_CAPABILITY, Endpoint.class); } else { remotingCapability = ManagementRemotingServices.MANAGEMENT_ENDPOINT; } // Read the model for the JMX subsystem to find the domain name for the resolved/expressions models (if they are exposed). PathAddress address = PathAddress.pathAddress(operation.get(ModelDescriptionConstants.OP_ADDR)); PathAddress parentAddress = address.subAddress(0, address.size() - 1); ModelNode jmxSubsystemModel = Resource.Tools.readModel(context.readResourceFromRoot(parentAddress, true)); String resolvedDomain = getDomainName(context, jmxSubsystemModel, CommonAttributes.RESOLVED); String expressionsDomain = getDomainName(context, jmxSubsystemModel, CommonAttributes.EXPRESSION); RemotingConnectorService.addService(context.getServiceTarget(), remotingCapability, resolvedDomain, expressionsDomain); } }
@Override protected void recreateParentService(OperationContext context, PathAddress parentAddress, ModelNode parentModel, ServiceVerificationHandler verificationHandler) throws OperationFailedException { JMXSubsystemAdd.INSTANCE.launchServices(context, parentModel, verificationHandler, null); }
@Override protected void recreateParentService(OperationContext context, PathAddress parentAddress, ModelNode parentModel, ServiceVerificationHandler verificationHandler) throws OperationFailedException { JMXSubsystemAdd.launchServices(context, parentModel, verificationHandler, auditLoggerInfo, authorizer, null); }
@Override protected void recreateParentService(OperationContext context, PathAddress parentAddress, ModelNode parentModel) throws OperationFailedException { JMXSubsystemAdd.launchServices(context, parentModel, auditLoggerInfo, authorizer, securityIdentitySupplier, hostInfoAccessor); }
@Override protected void recreateParentService(OperationContext context, PathAddress parentAddress, ModelNode parentModel) throws OperationFailedException { JMXSubsystemAdd.launchServices(context, parentModel, auditLoggerInfo, authorizer, securityIdentitySupplier, hostInfoAccessor); }
@Override protected void recreateParentService(OperationContext context, PathAddress parentAddress, ModelNode parentModel) throws OperationFailedException { JMXSubsystemAdd.launchServices(context, parentModel, auditLoggerInfo, authorizer, securityIdentitySupplier, hostInfoAccessor); }
protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model, ServiceVerificationHandler verificationHandler, List<ServiceController<?>> newControllers) throws OperationFailedException { launchServices(context, model, verificationHandler, newControllers); }
protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model, ServiceVerificationHandler verificationHandler, List<ServiceController<?>> newControllers) throws OperationFailedException { launchServices(context, model, verificationHandler, auditLoggerInfo, authorizer, newControllers); }
protected void recoverServices(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { if (isRemoveService(context)) { JMXSubsystemAdd.launchServices(context, model, auditLoggerInfo, authorizer, securityIdentitySupplier, hostInfoAccessor); } else { context.revertReloadRequired(); } }
protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { launchServices(context, Resource.Tools.readModel(context.readResource(PathAddress.EMPTY_ADDRESS)), auditLoggerInfo, authorizer, securityIdentitySupplier, hostInfoAccessor); }