final ModuleDeployment deployment = new ModuleDeployment(identifier, deploymentInformationMap); ServiceName moduleDeploymentService = deploymentUnit.getServiceName().append(ModuleDeployment.SERVICE_NAME); final ServiceBuilder<ModuleDeployment> builder = phaseContext.getServiceTarget().addService(moduleDeploymentService, deployment); builder.addDependency(entry.getKey(), Object.class, (InjectedValue<Object>) entry.getValue()); builder.addDependency(DeploymentRepositoryService.SERVICE_NAME, DeploymentRepository.class, deployment.getDeploymentRepository()); builder.install();
private EjbDeploymentInformation findEJB(final String appName, final String moduleName, final String distinctName, final String beanName) { final DeploymentModuleIdentifier ejbModule = new DeploymentModuleIdentifier(appName, moduleName, distinctName); final Map<DeploymentModuleIdentifier, ModuleDeployment> modules = this.deploymentRepository.getStartedModules(); if (modules == null || modules.isEmpty()) { return null; } final ModuleDeployment moduleDeployment = modules.get(ejbModule); if (moduleDeployment == null) { return null; } return moduleDeployment.getEjbs().get(beanName); }
@Override public void start(StartContext context) throws StartException { final DeploymentRepository repository = deploymentRepositoryValue.getValue(); moduleIdentifier = new DeploymentModuleIdentifier(APP_NAME, MODULE_NAME, DISTINCT_NAME); final InjectedValue<ComponentView> injectedHomeView = new InjectedValue<ComponentView>(); injectedHomeView.setValue(new ImmediateValue<ComponentView>(new ManagementHomeEjbComponentView())); final InjectedValue<ComponentView> injectedRemoteView = new InjectedValue<ComponentView>(); injectedRemoteView.setValue(new ImmediateValue<ComponentView>(new ManagementRemoteEjbComponentView(mbeanServerValue.getValue()))); Map<String, InjectedValue<ComponentView>> views = new HashMap<String, InjectedValue<ComponentView>>(); views.put(ManagementHome.class.getName(), injectedHomeView); views.put(Management.class.getName(), injectedRemoteView); final EjbDeploymentInformation ejb = new ManagementEjbDeploymentInformation(EJB_NAME, views, SecurityActions.getClassLoader(this.getClass())); final ModuleDeployment deployment = new ModuleDeployment(moduleIdentifier, Collections.singletonMap(EJB_NAME, ejb)); repository.add(moduleIdentifier, deployment); repository.startDeployment(moduleIdentifier); doPrivileged((PrivilegedAction<Void>) () -> { final ClassLoader classLoader = getClass().getClassLoader(); EJBClientContext.getContextManager().setClassLoaderDefault(classLoader, ejbClientContextValue.getValue().getClientContext()); Discovery.getContextManager().setClassLoaderDefault(classLoader, Discovery.create(associationServiceInjector.getValue().getLocalDiscoveryProvider())); return null; }); }
final ModuleDeployment deployment = new ModuleDeployment(identifier, deploymentInformationMap); final ServiceBuilder<ModuleDeployment> builder = phaseContext.getServiceTarget().addService(deploymentUnit.getServiceName().append(ModuleDeployment.SERVICE_NAME), deployment); for (Map.Entry<ServiceName, InjectedValue<?>> entry : injectedValues.entrySet()) { builder.addDependency(entry.getKey(), (InjectedValue<Object>) entry.getValue()); builder.addDependency(DeploymentRepository.SERVICE_NAME, DeploymentRepository.class, deployment.getDeploymentRepository()); builder.install();
public StatefulSessionBeanSerializabilityChecker(ModuleDeployment deployment) { // Find component classes of any stateful components and any superclasses for (EjbDeploymentInformation info: deployment.getEjbs().values()) { EJBComponent component = info.getEjbComponent(); if (component instanceof StatefulSessionComponent) { Class<?> componentClass = component.getComponentClass(); while (componentClass != Object.class) { this.serializableClasses.add(componentClass); componentClass = componentClass.getSuperclass(); } } } }
private EjbDeploymentInformation findBean(final EJBLocator<?> locator) { final String appName = locator.getAppName(); final String moduleName = locator.getModuleName(); final String distinctName = locator.getDistinctName(); final String beanName = locator.getBeanName(); final DeploymentModuleIdentifier moduleIdentifier = new DeploymentModuleIdentifier(appName, moduleName, distinctName); final ModuleDeployment module = deploymentRepository.getModules().get(moduleIdentifier); if (module == null) { throw EjbLogger.ROOT_LOGGER.unknownDeployment(locator); } final EjbDeploymentInformation ejbInfo = module.getEjbs().get(beanName); if (ejbInfo == null) { throw EjbLogger.ROOT_LOGGER.ejbNotFoundInDeployment(locator); } return ejbInfo; }
private EjbIIOPService serviceForLocator(final EJBLocator<?> locator, DeploymentRepository deploymentRepository) { final ModuleDeployment module = deploymentRepository.getModules().get(new DeploymentModuleIdentifier(locator.getAppName(), locator.getModuleName(), locator.getDistinctName())); if (module == null) { EjbLogger.ROOT_LOGGER.couldNotFindEjbForLocatorIIOP(locator); return null; } final EjbDeploymentInformation ejb = module.getEjbs().get(locator.getBeanName()); if (ejb == null) { EjbLogger.ROOT_LOGGER.couldNotFindEjbForLocatorIIOP(locator); return null; } final EjbIIOPService factory = ejb.getIorFactory(); if (factory == null) { EjbLogger.ROOT_LOGGER.ejbNotExposedOverIIOP(locator); return null; } return factory; }
protected EjbDeploymentInformation findEJB(final String appName, final String moduleName, final String distinctName, final String beanName) { final DeploymentModuleIdentifier ejbModule = new DeploymentModuleIdentifier(appName, moduleName, distinctName); final ModuleDeployment moduleDeployment = this.deploymentRepository.getModules().get(ejbModule); if (moduleDeployment == null) { return null; } return moduleDeployment.getEjbs().get(beanName); }
private EjbDeploymentInformation findBean(final String appName, final String moduleName, final String distinctName, final String beanName) { final ModuleDeployment module = deploymentRepository.getValue().getModules().get(new DeploymentModuleIdentifier(appName, moduleName, distinctName)); if (module == null) { throw MESSAGES.unknownDeployment(appName, moduleName, distinctName); } final EjbDeploymentInformation ejbInfo = module.getEjbs().get(beanName); if (ejbInfo == null) { throw MESSAGES.ejbNotFoundInDeployment(beanName, appName, moduleName, distinctName); } return ejbInfo; }
private EjbIIOPService serviceForLocator(final EJBLocator locator, DeploymentRepository deploymentRepository) { final ModuleDeployment module = deploymentRepository.getModules().get(new DeploymentModuleIdentifier(locator.getAppName(), locator.getModuleName(), locator.getDistinctName())); if (module == null) { EjbLogger.ROOT_LOGGER.couldNotFindEjbForLocatorIIOP(locator); return null; } final EjbDeploymentInformation ejb = module.getEjbs().get(locator.getBeanName()); if (ejb == null) { EjbLogger.ROOT_LOGGER.couldNotFindEjbForLocatorIIOP(locator); return null; } final EjbIIOPService factory = ejb.getIorFactory(); if (factory == null) { EjbLogger.ROOT_LOGGER.ejbNotExposedOverIIOP(locator); return null; } return factory; }