private InjectionAwareInstanceProvider( final InstanceProvider delegate, final Endpoint endpoint, final DeploymentUnit unit) { this.delegate = delegate; endpointName = endpoint.getShortName(); endpointClass = endpoint.getTargetBeanName(); componentPrefix = unit.getServiceName().append("component"); }
public static void install( final ServiceTarget serviceTarget, final Endpoint endpoint, final DeploymentUnit unit) { final ServiceName serviceName = getServiceName(unit, endpoint.getShortName()); final EndpointService service = new EndpointService(endpoint, serviceName); final ServiceBuilder<Endpoint> builder = serviceTarget.addService(serviceName, service); builder.addDependency( DependencyType.REQUIRED, SecurityDomainService.SERVICE_NAME.append(getDeploymentSecurityDomainName(endpoint)), SecurityDomainContext.class, service.getSecurityDomainContextInjector()); builder.addDependency( DependencyType.REQUIRED, WSServices.REGISTRY_SERVICE, EndpointRegistry.class, service.getEndpointRegistryInjector()); builder.addDependency( DependencyType.REQUIRED, WSServices.PORT_COMPONENT_LINK_SERVICE, WebAppController.class, service.getPclWebAppControllerInjector()); builder.addDependency( DependencyType.OPTIONAL, MBEAN_SERVER_NAME, MBeanServer.class, service.getMBeanServerInjector()); builder.setInitialMode(Mode.ACTIVE); builder.install(); }
public static void uninstall(final Endpoint endpoint, final DeploymentUnit unit) { final ServiceName serviceName = getServiceName(unit, endpoint.getShortName()); WSServices.getContainerRegistry().getRequiredService(serviceName).setMode(Mode.REMOVE); }