@Override public void register(ManagementResourceRegistration registration) { registration.registerOperationHandler(GenericSubsystemDescribeHandler.DEFINITION, this); } }
@Override public void registerChildren(ManagementResourceRegistration resourceRegistration) { if (deployed) { resourceRegistration.registerSubModel(XaDataSourcePropertyDefinition.DEPLOYED_INSTANCE); } else { resourceRegistration.registerSubModel(XaDataSourcePropertyDefinition.INSTANCE); } }
@Override public void registerAttributes(ManagementResourceRegistration resourceRegistration) { OperationStepHandler writeHandler = new ReloadRequiredWriteAttributeHandler(ATTRIBUTES); for (AttributeDefinition attr : ATTRIBUTES) { resourceRegistration.registerReadWriteAttribute(attr, null, writeHandler); } } }
/** * {@inheritDoc} */ @Override public void registerAttributes(ManagementResourceRegistration resourceRegistration) { ReloadRequiredWriteAttributeHandler reloadWrtiteHandler = new ReloadRequiredWriteAttributeHandler(JNDI_NAME, CM_TABLE_NAME, CM_TABLE_BATCH_SIZE, CM_TABLE_IMMEDIATE_CLEANUP); resourceRegistration.registerReadWriteAttribute(CM_TABLE_NAME, null, reloadWrtiteHandler); resourceRegistration.registerReadWriteAttribute(CM_TABLE_BATCH_SIZE, null, reloadWrtiteHandler); resourceRegistration.registerReadWriteAttribute(CM_TABLE_IMMEDIATE_CLEANUP, null, reloadWrtiteHandler); //This comes from the address resourceRegistration.registerReadOnlyAttribute(JNDI_NAME, ReadResourceNameOperationStepHandler.INSTANCE); } }
@Override public void stop(StopContext context) { PathElement peLocaldWm = PathElement.pathElement(Constants.STATISTICS_NAME, "extended"); if (overrideRegistration.getSubModel(PathAddress.pathAddress(peLocaldWm)) != null) overrideRegistration.unregisterSubModel(peLocaldWm); }
@Override public void registerAttributes(ManagementResourceRegistration resourceRegistration) { for (final SimpleAttributeDefinition attribute : PARTECIPANT_RW_ATTRIBUTE) { resourceRegistration.registerReadWriteAttribute(attribute, null, new ParticipantWriteAttributeHandler(attribute)); } for (final SimpleAttributeDefinition attribute : PARTECIPANT_ATTRIBUTE) { resourceRegistration.registerReadOnlyAttribute(attribute, null); } } }
registration.getSubModel(RA_ADDRESS).registerOverrideModel(deploymentName, OD_PROVIDER); ManagementResourceRegistration raStatsSubRegistration = raRegistration.registerSubModel(resourceBuilder.build()); PoolMetrics.ParametrizedPoolMetricsHandler handler = new PoolMetrics.ParametrizedPoolMetricsHandler(raStats); for (AttributeDefinition attribute : StatisticsResourceDefinition.getAttributesFromPlugin(raStats)) { raStatsSubRegistration.registerMetric(attribute, handler); raStatsSubRegistration.registerOperationHandler(ClearStatisticsHandler.DEFINITION, new ClearStatisticsHandler(raStats)); ManagementResourceRegistration cdRegistration = raRegistration.getSubModel(CON_DEF_ADDR); ManagementResourceRegistration overrideCdRegistration = cdRegistration.registerOverrideModel(cf.getJndiName(), OD_PROVIDER); if (overrideCdRegistration.getSubModel(EXTENDED_STATS_ADDR) == null) { overrideCdRegistration.registerSubModel(new StatisticsResourceDefinition(EXTENDED_STATS, CommonAttributes.RESOURCE_NAME, extendStats)); ManagementResourceRegistration cdRegistration = raRegistration.getSubModel(CON_DEF_ADDR); ManagementResourceRegistration overrideCdRegistration = cdRegistration.registerOverrideModel(cm.getJndiName(), OD_PROVIDER); if (overrideCdRegistration.getSubModel(POOL_STATS_ADDR) == null) { overrideCdRegistration.registerSubModel(new StatisticsResourceDefinition(POOL_STATS, CommonAttributes.RESOURCE_NAME, poolStats)); ManagementResourceRegistration cdRegistration = raRegistration.getSubModel(AO_ADDR); ManagementResourceRegistration overrideCdRegistration = cdRegistration.registerOverrideModel(ao.getJndiName(), OD_PROVIDER); if (overrideCdRegistration.getSubModel(EXTENDED_STATS_ADDR) == null) { overrideCdRegistration.registerSubModel(new StatisticsResourceDefinition(EXTENDED_STATS, CommonAttributes.RESOURCE_NAME, extendStats));
@Override public void start(StartContext context) throws StartException { synchronized (this) { WorkManager wm = workManager.getValue(); wm.setStatisticsEnabled(statsEnabled); if (wm.getStatistics() != null) { PathElement peLocaldWm = PathElement.pathElement(Constants.STATISTICS_NAME, "local"); ResourceBuilder resourceBuilder = ResourceBuilder.Factory.create(peLocaldWm, new StandardResourceDescriptionResolver(Constants.STATISTICS_NAME + "." + Constants.WORKMANAGER_NAME, CommonAttributes.RESOURCE_NAME, CommonAttributes.class.getClassLoader())); ManagementResourceRegistration wmSubRegistration = overrideRegistration.registerSubModel(resourceBuilder.build()); OperationStepHandler metricHandler = new WorkManagerRuntimeAttributeReadHandler(wm, wm.getStatistics(), false); for (SimpleAttributeDefinition metric : Constants.WORKMANAGER_METRICS) { wmSubRegistration.registerMetric(metric, metricHandler); } OperationStepHandler readHandler = new WorkManagerRuntimeAttributeReadHandler(wm, wm.getStatistics(), false); OperationStepHandler writeHandler = new WorkManagerRuntimeAttributeWriteHandler(wm, false, Constants.WORKMANAGER_RW_ATTRIBUTES); for (SimpleAttributeDefinition attribute : Constants.WORKMANAGER_RW_ATTRIBUTES) { wmSubRegistration.registerReadWriteAttribute(attribute, readHandler, writeHandler); } wmSubRegistration.registerOperationHandler(ClearWorkManagerStatisticsHandler.DEFINITION, new ClearWorkManagerStatisticsHandler(wm)); } } }
String stack = STACK.resolveModelAttribute(context, resource.getModel()).asString(); ManagementResourceRegistration registration = context.getResourceRegistrationForUpdate().registerOverrideModel(context.getCurrentAddressValue(), provider); PathAddress stackAddress = context.getCurrentAddress().getParent().append(StackResourceDefinition.pathElement(stack)); Resource stackResource = context.readResourceFromRoot(stackAddress, false); for (String name: stackResource.getChildrenNames(TransportResourceDefinition.WILDCARD_PATH.getKey())) { PathAddress transportAddress = stackAddress.append(TransportResourceDefinition.pathElement(name)); ModelNode transport = context.readResourceFromRoot(transportAddress, false).getModel(); String moduleName = MODULE.resolveModelAttribute(context, transport).asString(); Class<? extends Protocol> transportClass = findProtocolClass(context, name, moduleName); registration.registerSubModel(this.createProtocolResourceDefinition(name, transportClass)); resource.registerChild(ProtocolResourceDefinition.pathElement(name), PlaceholderResource.INSTANCE); for (String name: stackResource.getChildrenNames(ProtocolResourceDefinition.WILDCARD_PATH.getKey())) { Resource protocolResource = context.readResourceFromRoot(stackAddress.append(ProtocolResourceDefinition.pathElement(name)), false); String moduleName = MODULE.resolveModelAttribute(context, protocolResource.getModel()).asString(); Class<? extends Protocol> protocolClass = findProtocolClass(context, name, moduleName); registration.registerSubModel(this.createProtocolResourceDefinition(name, protocolClass)); resource.registerChild(ProtocolResourceDefinition.pathElement(name), PlaceholderResource.INSTANCE); if (stackResource.hasChild(RelayResourceDefinition.PATH)) { registration.registerSubModel(this.createProtocolResourceDefinition(RelayConfiguration.PROTOCOL_NAME, RELAY2.class)); resource.registerChild(ProtocolResourceDefinition.pathElement(RelayConfiguration.PROTOCOL_NAME), PlaceholderResource.INSTANCE);
ManagementResourceRegistration raReg = registration.getSubModel(RA_ADDRESS.getParent().append(Constants.RESOURCEADAPTER_NAME, deploymentName)); ManagementResourceRegistration cdefReg = raReg.getSubModel(PathAddress.pathAddress(PathElement.pathElement(Constants.CONNECTIONDEFINITIONS_NAME))); cdefReg.unregisterOverrideModel(cf.getJndiName()); cdefReg.unregisterOverrideModel(cm.getJndiName()); ManagementResourceRegistration aoReg = raReg.getSubModel(PathAddress.pathAddress(PathElement.pathElement(Constants.ADMIN_OBJECTS_NAME))); for (AdminObject ao : adminObjects) { aoReg.unregisterOverrideModel(ao.getJndiName()); ManagementResourceRegistration raBaseReg = registration.getSubModel(RA_ADDRESS); raBaseReg.unregisterOverrideModel(deploymentName); deploymentResource.removeChild(SUBSYSTEM_PATH_ELEMENT);
@Override public void start(StartContext context) throws StartException { ROOT_LOGGER.debugf("Starting ResourceAdapterStatusicService"); synchronized (this) { final CommonDeployment deploymentMD = deployment.getValue().getDeployment(); PathElement peExtendedStats = PathElement.pathElement(Constants.STATISTICS_NAME, "extended"); if (deploymentMD.getConnector() != null && deploymentMD.getConnector().getAdminObjects() != null) { for (AdminObject ao : deploymentMD.getConnector().getAdminObjects()) { if (ao.getStatistics() != null) { StatisticsPlugin extendStats = ao.getStatistics(); extendStats.setEnabled(statsEnabled); if (extendStats.getNames().size() != 0) { if (extendStats.getNames().size() != 0 && overrideRegistration.getSubModel(PathAddress.pathAddress(peExtendedStats)) == null) { overrideRegistration.registerSubModel(new StatisticsResourceDefinition(peExtendedStats, CommonAttributes.RESOURCE_NAME, extendStats)); } } } } } } }
@Override public void registerAttributes(ManagementResourceRegistration resourceRegistration) { final AbstractEJBComponentRuntimeHandler<?> handler = componentType.getRuntimeHandler(); resourceRegistration.registerReadOnlyAttribute(COMPONENT_CLASS_NAME, handler); resourceRegistration.registerReadOnlyAttribute(SECURITY_DOMAIN, handler); resourceRegistration.registerReadOnlyAttribute(RUN_AS_ROLE, handler); resourceRegistration.registerReadOnlyAttribute(DECLARED_ROLES, handler); if (componentType.hasTimer()) { resourceRegistration.registerReadOnlyAttribute(TimerAttributeDefinition.INSTANCE, handler); resourceRegistration.registerReadOnlyAttribute(POOL_AVAILABLE_COUNT, handler); resourceRegistration.registerReadOnlyAttribute(POOL_CREATE_COUNT, handler); resourceRegistration.registerReadOnlyAttribute(POOL_NAME, handler); resourceRegistration.registerReadOnlyAttribute(POOL_REMOVE_COUNT, handler); resourceRegistration.registerReadOnlyAttribute(POOL_CURRENT_SIZE, handler); resourceRegistration.registerReadWriteAttribute(POOL_MAX_SIZE, handler, handler); resourceRegistration.registerMetric(CACHE_SIZE, new AbstractRuntimeMetricsHandler() { @Override protected void executeReadMetricStep(final OperationContext context, final ModelNode operation, final EJBComponent component) throws OperationFailedException { resourceRegistration.registerMetric(PASSIVATED_SIZE, new AbstractRuntimeMetricsHandler() { @Override protected void executeReadMetricStep(final OperationContext context, final ModelNode operation, final EJBComponent component) throws OperationFailedException { resourceRegistration.registerMetric(TOTAL_SIZE, new AbstractRuntimeMetricsHandler() { @Override protected void executeReadMetricStep(final OperationContext context, final ModelNode operation, final EJBComponent component) throws OperationFailedException { resourceRegistration.registerMetric(EXECUTION_TIME, new AbstractRuntimeMetricsHandler() {
@Override public void registerChildren(ManagementResourceRegistration resourceRegistration) { super.registerChildren(resourceRegistration); PathElement targetPe = RequestLimitHandler.INSTANCE.getPathElement(); AliasEntry aliasEntry = new AliasEntry(resourceRegistration.getSubModel(PathAddress.pathAddress(targetPe))) { @Override public PathAddress convertToTargetAddress(PathAddress aliasAddress, AliasContext aliasContext) { PathElement pe = aliasAddress.getLastElement(); return aliasAddress.getParent().append(PathElement.pathElement(targetPe.getKey(), pe.getValue())); } }; resourceRegistration.registerAlias(PathElement.pathElement("connection-limit"), aliasEntry); } }
@Override public void initializeHost(final ServiceTarget serviceTarget, final ManagementModel managementModel, String hostName) { final PathElement host = PathElement.pathElement(HOST, hostName); final ManagementResourceRegistration hostRegistration = managementModel.getRootResourceRegistration().getSubModel(PathAddress.EMPTY_ADDRESS.append(host)); final Resource hostResource = managementModel.getRootResource().getChild(host); if (hostResource == null) { // this is generally only the case when an embedded HC has been started with an empty config, but /host=foo:add() has not yet been invoked, so we have no // real hostname yet. return; } initializeCoreServices(serviceTarget, hostRegistration, hostResource); }
registration = baseRegistration.getSubModel(PathAddress.pathAddress(PathElement.pathElement("subdeployment"))); } else { registration = baseRegistration; if (registration.isAllowsOverride() && registration.getOverrideModel(deploymentUnit.getName()) == null) { registration.registerOverrideModel(deploymentUnit.getName(), new OverrideDescriptionProvider() { @Override public Map<String, ModelNode> getAttributeOverrideDescriptions(Locale locale) {
@Override public void initialize(ExtensionContext context) { final SubsystemRegistration subsystem = context.registerSubsystem(SUBSYSTEM_NAME, CURRENT_MODEL_VERSION); final ManagementResourceRegistration registration = subsystem.registerSubsystemModel(UndertowRootDefinition.INSTANCE); registration.registerOperationHandler(GenericSubsystemDescribeHandler.DEFINITION, GenericSubsystemDescribeHandler.INSTANCE, false); final ManagementResourceRegistration deployments = subsystem.registerDeploymentModel(DeploymentDefinition.INSTANCE); deployments.registerSubModel(DeploymentServletDefinition.INSTANCE); deployments.registerSubModel(DeploymentWebSocketDefinition.INSTANCE); subsystem.registerXMLElementWriter(UndertowSubsystemParser_8_0::new); }
if (registration != null) { if (jdbcStatsSize > 0) { if (registration.getSubModel(PathAddress.pathAddress(JDBC_STATISTICS)) == null) { ManagementResourceRegistration jdbcRegistration = registration.registerSubModel(new StatisticsResourceDefinition(JDBC_STATISTICS, DataSourcesSubsystemProviders.RESOURCE_NAME, jdbcStats)); jdbcRegistration.setRuntimeOnly(true); if (registration.getSubModel(PathAddress.pathAddress(POOL_STATISTICS)) == null) { ManagementResourceRegistration poolRegistration = registration.registerSubModel(new StatisticsResourceDefinition(POOL_STATISTICS, DataSourcesSubsystemProviders.RESOURCE_NAME, poolStats)); poolRegistration.setRuntimeOnly(true);
/** * {@inheritDoc} */ @Override public void initialize(ExtensionContext context) { final boolean registerRuntimeOnly = context.isRuntimeOnlyRegistrationValid(); final SubsystemRegistration subsystem = context.registerSubsystem(SUBSYSTEM_NAME, CURRENT_MODEL_VERSION); subsystem.registerXMLElementWriter(EJB3SubsystemXMLPersister.INSTANCE); PathManager pathManager = context.getProcessType().isServer() ? context.getPathManager() : null; subsystem.registerSubsystemModel(new EJB3SubsystemRootResourceDefinition(registerRuntimeOnly, pathManager)); if (registerRuntimeOnly) { ResourceDefinition deploymentsDef = new SimpleResourceDefinition(new Parameters(PathElement.pathElement(ModelDescriptionConstants.SUBSYSTEM, SUBSYSTEM_NAME), getResourceDescriptionResolver("deployed")).setFeature(false)); final ManagementResourceRegistration deploymentsRegistration = subsystem.registerDeploymentModel(deploymentsDef); deploymentsRegistration.registerSubModel(MessageDrivenBeanResourceDefinition.INSTANCE); deploymentsRegistration.registerSubModel(SingletonBeanDeploymentResourceDefinition.INSTANCE); deploymentsRegistration.registerSubModel(StatelessSessionBeanDeploymentResourceDefinition.INSTANCE); deploymentsRegistration.registerSubModel(StatefulSessionBeanDeploymentResourceDefinition.INSTANCE); } }
@Override public void registerChildren(ManagementResourceRegistration resourceRegistration) { super.registerChildren(resourceRegistration); ManagementResourceRegistration moduleReg = resourceRegistration.registerSubModel(new LoginModuleResourceDefinition(Constants.ACL_MODULE)); //https://issues.jboss.org/browse/WFLY-2474 acl-module was wrongly called login-module in 7.2.0 resourceRegistration.registerAlias( PathElement.pathElement(Constants.LOGIN_MODULE), new AliasEntry(moduleReg) { @Override public PathAddress convertToTargetAddress(PathAddress address, AliasContext aliasContext) { PathElement element = address.getLastElement(); element = PathElement.pathElement(Constants.ACL_MODULE, element.getValue()); return address.subAddress(0, address.size() -1).append(element); } }); }
registration = baseRegistration.getSubModel(PathAddress.pathAddress(PathElement.pathElement("subdeployment"))); } else { registration = baseRegistration;