public static void initOperations( final ManagementResourceRegistration root, final ContentRepository contentRepository, final ExtensibleConfigurationPersister extensibleConfigurationPersister, final ServerEnvironment serverEnvironment, final ControlledProcessState processState, final RunningModeControl runningModeControl, final AbstractVaultReader vaultReader, final ExtensionRegistry extensionRegistry, final boolean parallelBoot, final PathManagerService pathManager) { // System Properties root.registerSubModel( SystemPropertyResourceDefinition.createForStandaloneServer(serverEnvironment)); // vault root.registerSubModel(new VaultResourceDefinition(vaultReader)); // Central Management // Start with the base /core-service=management MNR. The Resource for this is added by // ServerService itself, so there is no add/remove op handlers ManagementResourceRegistration management = root.registerSubModel(CoreManagementDefinition.INSTANCE); management.registerSubModel(SecurityRealmResourceDefinition.INSTANCE); management.registerSubModel(LdapConnectionResourceDefinition.INSTANCE); management.registerSubModel(NativeManagementResourceDefinition.INSTANCE); management.registerSubModel(NativeRemotingManagementResourceDefinition.INSTANCE); management.registerSubModel(HttpManagementResourceDefinition.INSTANCE); // Other core services ManagementResourceRegistration serviceContainer = root.registerSubModel( new SimpleResourceDefinition( PathElement.pathElement(CORE_SERVICE, SERVICE_CONTAINER), ControllerResolver.getResolver("core", SERVICE_CONTAINER))); serviceContainer.registerOperationHandler( DumpServicesHandler.DEFINITION, DumpServicesHandler.INSTANCE); // Platform MBeans PlatformMBeanResourceRegistrar.registerPlatformMBeanResources(root); // Paths root.registerSubModel(PathResourceDefinition.createSpecified(pathManager)); // Interfaces ManagementResourceRegistration interfaces = root.registerSubModel( new InterfaceDefinition( SpecifiedInterfaceAddHandler.INSTANCE, SpecifiedInterfaceRemoveHandler.INSTANCE, true)); interfaces.registerReadOnlyAttribute( NetworkInterfaceRuntimeHandler.RESOLVED_ADDRESS, NetworkInterfaceRuntimeHandler.INSTANCE); interfaces.registerOperationHandler( SpecifiedInterfaceResolveHandler.DEFINITION, SpecifiedInterfaceResolveHandler.INSTANCE); // TODO socket-binding-group currently lives in controller and the child RDs live in server so // they currently need passing in from here root.registerSubModel( new SocketBindingGroupResourceDefinition( BindingGroupAddHandler.INSTANCE, SocketBindingGroupRemoveHandler.INSTANCE, false, SocketBindingResourceDefinition.INSTANCE, RemoteDestinationOutboundSocketBindingResourceDefinition.INSTANCE, LocalDestinationOutboundSocketBindingResourceDefinition.INSTANCE)); // Deployments ManagementResourceRegistration deployments = root.registerSubModel( ServerDeploymentResourceDescription.create(contentRepository, vaultReader)); // deployment overlays root.registerSubModel( new DeploymentOverlayDefinition(DeploymentOverlayPriority.SERVER, contentRepository, null)); // The sub-deployments registry deployments.registerSubModel( new SimpleResourceDefinition( PathElement.pathElement(SUBDEPLOYMENT), DeploymentAttributes.DEPLOYMENT_RESOLVER)); // Extensions root.registerSubModel(new ExtensionResourceDefinition(extensionRegistry, parallelBoot, false)); if (extensionRegistry != null) { // extension registry may be null during testing extensionRegistry.setSubsystemParentResourceRegistrations(root, deployments); extensionRegistry.setPathManager(pathManager); } // Util root.registerOperationHandler( DeployerChainAddHandler.DEFINITION, DeployerChainAddHandler.INSTANCE, false); }
@Override public void registerOperations(ManagementResourceRegistration hostRegistration) { super.registerOperations(hostRegistration); hostRegistration.registerOperationHandler( NamespaceAddHandler.DEFINITION, NamespaceAddHandler.INSTANCE); hostRegistration.registerOperationHandler( NamespaceRemoveHandler.DEFINITION, NamespaceRemoveHandler.INSTANCE); hostRegistration.registerOperationHandler( SchemaLocationAddHandler.DEFINITION, SchemaLocationAddHandler.INSTANCE); hostRegistration.registerOperationHandler( SchemaLocationRemoveHandler.DEFINITION, SchemaLocationRemoveHandler.INSTANCE); hostRegistration.registerOperationHandler( ValidateAddressOperationHandler.DEFINITION, ValidateAddressOperationHandler.INSTANCE); hostRegistration.registerOperationHandler( ResolveExpressionHandler.DEFINITION, ResolveExpressionHandler.INSTANCE); hostRegistration.registerOperationHandler( ResolveExpressionOnHostHandler.DEFINITION, ResolveExpressionOnHostHandler.INSTANCE); hostRegistration.registerOperationHandler( SpecifiedInterfaceResolveHandler.DEFINITION, SpecifiedInterfaceResolveHandler.INSTANCE); hostRegistration.registerOperationHandler( CleanObsoleteContentHandler.DEFINITION, CleanObsoleteContentHandler.createOperation(contentRepository)); XmlMarshallingHandler xmh = new HostXmlMarshallingHandler( configurationPersister.getHostPersister(), hostControllerInfo); hostRegistration.registerOperationHandler(XmlMarshallingHandler.DEFINITION, xmh); StartServersHandler ssh = new StartServersHandler(environment, serverInventory, runningModeControl); hostRegistration.registerOperationHandler(StartServersHandler.DEFINITION, ssh); HostShutdownHandler hsh = new HostShutdownHandler(domainController); hostRegistration.registerOperationHandler(HostShutdownHandler.DEFINITION, hsh); HostProcessReloadHandler reloadHandler = new HostProcessReloadHandler( HostControllerService.HC_SERVICE_NAME, runningModeControl, processState); hostRegistration.registerOperationHandler( HostProcessReloadHandler.getDefinition(hostControllerInfo), reloadHandler); DomainServerLifecycleHandlers.initializeServerInventory(serverInventory); DomainSocketBindingGroupRemoveHandler.INSTANCE.initializeServerInventory(serverInventory); ValidateOperationHandler validateOperationHandler = hostControllerInfo.isMasterDomainController() ? ValidateOperationHandler.INSTANCE : ValidateOperationHandler.SLAVE_HC_INSTANCE; hostRegistration.registerOperationHandler( ValidateOperationHandler.DEFINITION_PRIVATE, validateOperationHandler); SnapshotDeleteHandler snapshotDelete = new SnapshotDeleteHandler(configurationPersister.getHostPersister()); hostRegistration.registerOperationHandler(SnapshotDeleteHandler.DEFINITION, snapshotDelete); SnapshotListHandler snapshotList = new SnapshotListHandler(configurationPersister.getHostPersister()); hostRegistration.registerOperationHandler(SnapshotListHandler.DEFINITION, snapshotList); SnapshotTakeHandler snapshotTake = new SnapshotTakeHandler(configurationPersister.getHostPersister()); hostRegistration.registerOperationHandler(SnapshotTakeHandler.DEFINITION, snapshotTake); ignoredRegistry.registerResources(hostRegistration); // Platform MBeans PlatformMBeanResourceRegistrar.registerPlatformMBeanResources(hostRegistration); }