@Override public ServiceConfigurator configure(CapabilityServiceSupport support) { this.configurationConfigurator.configure(support); this.cacheConfigurator.configure(support); this.affinityFactory = new ServiceSupplierDependency<>(InfinispanRequirement.KEY_AFFINITY_FACTORY.getServiceName(support, DEFAULT_CACHE_CONTAINER)); return this; }
default ServiceConfigurator configure(OperationContext context) { return this.configure(context.getCapabilityServiceSupport()); } }
@Override public void accept(ServiceTarget target) { // Cache factory builder dependencies might still contain duplicates (if referenced via alias), so ensure we collect only distinct instances. Set<CacheFactoryBuilder<SessionID, StatefulSessionComponentInstance>> builders = new HashSet<>(dependencies.size()); for (Supplier<CacheFactoryBuilder<SessionID, StatefulSessionComponentInstance>> dependency : dependencies) { builders.add(dependency.get()); } for (CacheFactoryBuilder<SessionID, StatefulSessionComponentInstance> builder : builders) { for (CapabilityServiceConfigurator configurator : builder.getDeploymentServiceConfigurators(unit)) { configurator.configure(support).build(target).install(); } } } });
@Override public ServiceConfigurator configure(CapabilityServiceSupport support) { this.configurator.configure(support); this.tsr = new ServiceSupplierDependency<>(support.getCapabilityServiceName("org.wildfly.transactions.transaction-synchronization-registry")); return this; }
@Override public ServiceConfigurator configure(CapabilityServiceSupport support) { this.configurationConfigurator.configure(support); this.cacheConfigurator.configure(support); this.affinityFactory = new ServiceSupplierDependency<>(InfinispanRequirement.KEY_AFFINITY_FACTORY.getServiceName(support, this.containerName)); this.dispatcherFactory = new ServiceSupplierDependency<>(ClusteringRequirement.COMMAND_DISPATCHER_FACTORY.getServiceName(support, this.containerName)); this.group = new ServiceSupplierDependency<>(ClusteringCacheRequirement.GROUP.getServiceName(support, this.containerName, this.configuration.getServerName())); return this; }
@Override public void installServices(OperationContext context, ModelNode model) throws OperationFailedException { InfinispanLogger.ROOT_LOGGER.activatingSubsystem(); PathAddress address = context.getCurrentAddress(); ServiceTarget target = context.getServiceTarget(); // Install local group services ServiceNameRegistry<ClusteringRequirement> localRegistry = new CapabilityServiceNameRegistry<>(LOCAL_CLUSTERING_CAPABILITIES, address); for (GroupServiceConfiguratorProvider provider : ServiceLoader.load(LocalGroupServiceConfiguratorProvider.class, LocalGroupServiceConfiguratorProvider.class.getClassLoader())) { InfinispanLogger.ROOT_LOGGER.debugf("Installing %s for %s group", provider.getClass().getSimpleName(), LocalGroupServiceConfiguratorProvider.LOCAL); for (CapabilityServiceConfigurator configurator : provider.getServiceConfigurators(localRegistry, LocalGroupServiceConfiguratorProvider.LOCAL)) { configurator.configure(context).build(target).install(); } } // If JGroups subsystem is not available, install default group aliases to local group. if (!context.hasOptionalCapability(JGroupsRequirement.CHANNEL.getDefaultRequirement().getName(), null, null)) { ServiceNameRegistry<ClusteringRequirement> registry = new CapabilityServiceNameRegistry<>(CLUSTERING_CAPABILITIES, address); for (IdentityGroupServiceConfiguratorProvider provider : ServiceLoader.load(IdentityGroupServiceConfiguratorProvider.class, IdentityGroupServiceConfiguratorProvider.class.getClassLoader())) { for (CapabilityServiceConfigurator configurator : provider.getServiceConfigurators(registry, null, LocalGroupServiceConfiguratorProvider.LOCAL)) { configurator.configure(context).build(target).install(); } } } }
@Override public void installServices(OperationContext context, ModelNode model) throws OperationFailedException { PathAddress address = context.getCurrentAddress(); PathAddress containerAddress = address.getParent(); String name = containerAddress.getLastElement().getValue(); ServiceTarget target = context.getServiceTarget(); new NoTransportServiceConfigurator(address).build(target).install(); new SiteServiceConfigurator(address).build(target).install(); ServiceNameRegistry<ClusteringRequirement> registry = new CapabilityServiceNameRegistry<>(CLUSTERING_CAPABILITIES, address); for (IdentityGroupServiceConfiguratorProvider provider : ServiceLoader.load(IdentityGroupServiceConfiguratorProvider.class, IdentityGroupServiceConfiguratorProvider.class.getClassLoader())) { for (CapabilityServiceConfigurator configurator : provider.getServiceConfigurators(registry, name, LocalGroupServiceConfiguratorProvider.LOCAL)) { configurator.configure(context).build(target).install(); } } }
@Override public void installServices(OperationContext context, ModelNode model) throws OperationFailedException { PathAddress address = context.getCurrentAddress(); PathAddress containerAddress = address.getParent(); String name = containerAddress.getLastElement().getValue(); ServiceTarget target = context.getServiceTarget(); JGroupsTransportServiceConfigurator transportBuilder = new JGroupsTransportServiceConfigurator(address).configure(context, model); transportBuilder.build(target).install(); new SiteServiceConfigurator(address).configure(context, model).build(target).install(); String channel = transportBuilder.getChannel(); ServiceNameRegistry<ClusteringRequirement> registry = new CapabilityServiceNameRegistry<>(CLUSTERING_CAPABILITIES, address); for (IdentityGroupServiceConfiguratorProvider provider : ServiceLoader.load(IdentityGroupServiceConfiguratorProvider.class, IdentityGroupServiceConfiguratorProvider.class.getClassLoader())) { for (CapabilityServiceConfigurator configurator : provider.getServiceConfigurators(registry, name, channel)) { configurator.configure(context).build(target).install(); } } }
provider.getServiceConfigurator(proxyName, listenerName, Duration.ofSeconds(statusInterval)).configure(context).build(target).setInitialMode(Mode.PASSIVE).install();
for (GroupServiceConfiguratorProvider provider : ServiceLoader.load(LocalGroupServiceConfiguratorProvider.class, LocalGroupServiceConfiguratorProvider.class.getClassLoader())) { for (CapabilityServiceConfigurator configurator : provider.getServiceConfigurators(requirement -> requirement.getServiceName(support, clientMappingsClusterName), clientMappingsClusterName)) { configurator.configure(support).build(target).install(); configurator.configure(support).build(target).install();
configurator.configure(support).build(target).install();
@Override public void installServices(OperationContext context, ModelNode model) throws OperationFailedException { PathAddress address = context.getCurrentAddress(); PathAddress hostAddress = address.getParent(); PathAddress serverAddress = hostAddress.getParent(); String hostName = hostAddress.getLastElement().getValue(); String serverName = serverAddress.getLastElement().getValue(); String domain = ModelNodes.optionalString(DOMAIN.resolveModelAttribute(context, model)).orElse(null); String path = PATH.resolveModelAttribute(context, model).asString(); boolean secure = SECURE.resolveModelAttribute(context, model).asBoolean(); boolean httpOnly = HTTP_ONLY.resolveModelAttribute(context, model).asBoolean(); String cookieName = COOKIE_NAME.resolveModelAttribute(context, model).asString(); ServiceName serviceName = UndertowService.ssoServiceName(serverName, hostName); ServiceName virtualHostServiceName = HostDefinition.HOST_CAPABILITY.getCapabilityServiceName(serverName,hostName); CapabilityServiceTarget target = context.getCapabilityServiceTarget(); ServiceName managerServiceName = serviceName.append("manager"); DistributableHostSingleSignOnManagerServiceConfiguratorProvider.INSTANCE.map(provider -> provider.getServiceConfigurator(managerServiceName, serverName, hostName)) .orElse(new SimpleCapabilityServiceConfigurator<>(managerServiceName, new InMemorySingleSignOnManager())) .configure(context).build(target).setInitialMode(ServiceController.Mode.ON_DEMAND).install(); SingleSignOnService service = new SingleSignOnService(domain, path, httpOnly, secure, cookieName); target.addCapability(HostSingleSignOnDefinition.HOST_SSO_CAPABILITY, service) .addAliases(serviceName) .addDependency(virtualHostServiceName, Host.class, service.getHost()) .addDependency(managerServiceName, SingleSignOnManager.class, service.getSingleSignOnSessionManager()) .setInitialMode(ServiceController.Mode.ACTIVE) .install(); }
@Override public void installServices(OperationContext context, ModelNode model) throws OperationFailedException { PathAddress address = context.getCurrentAddress(); String name = context.getCurrentAddressValue(); String stack = STACK.resolveModelAttribute(context, model).asString(); ServiceTarget target = context.getServiceTarget(); new ChannelClusterServiceConfigurator(address).configure(context, model).build(target).install(); new ChannelServiceConfigurator(JCHANNEL, address).statisticsEnabled(STATISTICS_ENABLED.resolveModelAttribute(context, model).asBoolean()).configure(context, model).build(target).install(); new IdentityServiceConfigurator<>(JCHANNEL_FACTORY.getServiceName(address), JGroupsRequirement.CHANNEL_FACTORY.getServiceName(context, stack)).build(target).install(); new ForkChannelFactoryServiceConfigurator(FORK_CHANNEL_FACTORY, address.append(ForkResourceDefinition.pathElement(name))).configure(context, new ModelNode()).build(target).install(); new ModuleServiceConfigurator(JCHANNEL_MODULE.getServiceName(address), MODULE).configure(context, model).build(target).setInitialMode(ServiceController.Mode.PASSIVE).install(); new BinderServiceConfigurator(JGroupsBindingFactory.createChannelBinding(name), JGroupsRequirement.CHANNEL.getServiceName(context, name)).build(target).install(); new BinderServiceConfigurator(JGroupsBindingFactory.createChannelFactoryBinding(name), JGroupsRequirement.CHANNEL_FACTORY.getServiceName(context, name)).build(target).install(); // Install group services for channel ServiceNameRegistry<ClusteringRequirement> registry = new CapabilityServiceNameRegistry<>(CLUSTERING_CAPABILITIES, address); for (GroupServiceConfiguratorProvider provider : ServiceLoader.load(DistributedGroupServiceConfiguratorProvider.class, DistributedGroupServiceConfiguratorProvider.class.getClassLoader())) { for (CapabilityServiceConfigurator configurator : provider.getServiceConfigurators(registry, name)) { JGroupsLogger.ROOT_LOGGER.debugf("Installing %s for channel %s", configurator.getServiceName(), name); configurator.configure(context).build(target).install(); } } }
@Override public void installServices(OperationContext context, ModelNode model) throws OperationFailedException { super.installServices(context, model); PathAddress address = context.getCurrentAddress(); String name = address.getLastElement().getValue(); String channel = address.getParent().getLastElement().getValue(); ServiceTarget target = context.getServiceTarget(); new IdentityServiceConfigurator<>(FORK_CHANNEL_SOURCE.getServiceName(address), JGroupsRequirement.CHANNEL_FACTORY.getServiceName(context, channel)).build(target).install(); new IdentityServiceConfigurator<>(FORK_CHANNEL_MODULE.getServiceName(address), JGroupsRequirement.CHANNEL_MODULE.getServiceName(context, channel)).build(target).install(); new IdentityServiceConfigurator<>(FORK_CHANNEL_CLUSTER.getServiceName(address), JGroupsRequirement.CHANNEL_CLUSTER.getServiceName(context, channel)).build(target).install(); new ChannelServiceConfigurator(FORK_CHANNEL, address).configure(context, model).build(target).install(); new BinderServiceConfigurator(JGroupsBindingFactory.createChannelBinding(name), JGroupsRequirement.CHANNEL.getServiceName(context, name)).build(target).install(); new BinderServiceConfigurator(JGroupsBindingFactory.createChannelFactoryBinding(name), JGroupsRequirement.CHANNEL_FACTORY.getServiceName(context, name)).build(target).install(); ServiceNameRegistry<ClusteringRequirement> registry = new CapabilityServiceNameRegistry<>(CLUSTERING_CAPABILITIES, address); for (IdentityGroupServiceConfiguratorProvider provider : ServiceLoader.load(IdentityGroupServiceConfiguratorProvider.class, IdentityGroupServiceConfiguratorProvider.class.getClassLoader())) { for (CapabilityServiceConfigurator configurator : provider.getServiceConfigurators(registry, name, channel)) { configurator.configure(context).build(target).install(); } } }
configurator.configure(context).build(target).install();
configurator.configure(context).build(target).install();
@Override public void installServices(OperationContext context, ModelNode model) throws OperationFailedException { PathAddress cacheAddress = context.getCurrentAddress(); PathAddress containerAddress = cacheAddress.getParent(); String containerName = containerAddress.getLastElement().getValue(); String cacheName = cacheAddress.getLastElement().getValue(); ServiceTarget target = context.getServiceTarget(); ServiceName moduleServiceName = CacheComponent.MODULE.getServiceName(cacheAddress); if (model.hasDefined(MODULE.getName())) { new ModuleServiceConfigurator(moduleServiceName, MODULE).configure(context, model).build(target).setInitialMode(ServiceController.Mode.ON_DEMAND).install(); } else { new IdentityServiceConfigurator<>(moduleServiceName, CacheContainerComponent.MODULE.getServiceName(containerAddress)).build(target).install(); } this.configuratorFactory.createServiceConfigurator(cacheAddress).configure(context, model).build(target).install(); new CacheServiceConfigurator<>(CACHE.getServiceName(cacheAddress), containerName, cacheName).configure(context).build(target).install(); if (context.hasOptionalCapability(XA_RESOURCE_RECOVERY_REGISTRY.getName(), null, null)) { new XAResourceRecoveryServiceConfigurator(cacheAddress).configure(context).build(target).install(); } new BinderServiceConfigurator(InfinispanBindingFactory.createCacheConfigurationBinding(containerName, cacheName), CONFIGURATION.getServiceName(cacheAddress)).build(target).install(); new BinderServiceConfigurator(InfinispanBindingFactory.createCacheBinding(containerName, cacheName), CACHE.getServiceName(cacheAddress)).build(target).install(); ServiceNameRegistry<ClusteringCacheRequirement> registry = new CapabilityServiceNameRegistry<>(CLUSTERING_CAPABILITIES, cacheAddress); for (CacheServiceConfiguratorProvider provider : ServiceLoader.load(this.providerClass, this.providerClass.getClassLoader())) { for (CapabilityServiceConfigurator configurator : provider.getServiceConfigurators(registry, containerName, cacheName)) { configurator.configure(context).build(target).install(); } } }
if (provider != null) { for (CapabilityServiceConfigurator configurator : provider.getServerServiceConfigurators(name)) { configurator.configure(context).build(target).install();
.map(provider -> provider.getServiceConfigurator(managerServiceName, securityDomainName, generator)) .orElse(new SimpleCapabilityServiceConfigurator<>(managerServiceName, new DefaultSingleSignOnManager(new ConcurrentHashMap<>(), generator::createSessionId))) .configure(context).build(target).setInitialMode(ServiceController.Mode.ON_DEMAND).install();
configurator.configure(support).build(serviceTarget).install();