public AppInfo configureApplication(AppModule appModule) throws OpenEJBException { ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(appModule.getClassLoader()); try { return configurationFactory.configureApplication(appModule); } finally { Thread.currentThread().setContextClassLoader(oldClassLoader); } }
public <T extends ServiceInfo> T configureService(final String id, final Class<? extends T> type) throws OpenEJBException { return configureService(type, id, null, id, null); }
public static void loadPropertiesDeclaredConfiguration(final Openejb openejb) { final Properties sysProps = new Properties(System.getProperties()); sysProps.putAll(SystemInstance.get().getProperties()); fillOpenEjb(openejb, sysProps); }
loadPropertiesDeclaredConfiguration(openejb); final ServiceInfo info = configureService(service, ServiceInfo.class); sys.facilities.services.add(info); final JndiContextInfo info = configureService(provider, JndiContextInfo.class); sys.facilities.remoteJndiContexts.add(info); sys.facilities.securityService = configureService(openejb.getSecurityService(), SecurityServiceInfo.class); sys.facilities.transactionService = configureService(openejb.getTransactionManager(), TransactionServiceInfo.class); final ResourceInfo resourceInfo = configureService(resource, ResourceInfo.class); resources.add(resourceInfo); resources = sort(resources, null); sys.facilities.intraVmServer = configureService(openejb.getProxyFactory(), ProxyFactoryInfo.class); final ContainerInfo info = createContainerInfo(declaration); sys.containerSystem.containers.add(info); final List<File> declaredApps = getDeclaredApps(); final AppInfo appInfo = configureApplication(jarFile); sys.containerSystem.applications.add(appInfo); final AppInfo appInfo = configureApplication(new AppModule(SystemApps.getSystemModule()));
private AppInfo configureApplication(AppModule appModule, EjbModule ejbModule, Configuration configuration) throws OpenEJBException { OpenEjbConfiguration openEjbConfiguration = new OpenEjbConfiguration(); openEjbConfiguration.containerSystem = new ContainerSystemInfo(); openEjbConfiguration.facilities = new FacilitiesInfo(); boolean offline = true; ConfigurationFactory.Chain chain = new ConfigurationFactory.Chain(); ConfigurationFactory configurationFactory = new ConfigurationFactory(offline, chain, openEjbConfiguration); buildChain(offline, ejbModule.getPreAutoConfigDeployer(), SystemInstance.get().getOptions(), configurationFactory, chain); ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(appModule.getClassLoader()); try { addContainerInfos(configuration, openEjbConfiguration.containerSystem, configurationFactory); addResourceAdapterMDBInfos(configuration, openEjbConfiguration.containerSystem, configurationFactory); //process resource adapters return configurationFactory.configureApplication(appModule); } finally { Thread.currentThread().setContextClassLoader(oldClassLoader); } }
loadPropertiesDeclaredConfiguration(openejb); JndiContextInfo info = configureService(provider, JndiContextInfo.class); sys.facilities.remoteJndiContexts.add(info); sys.facilities.securityService = configureService(openejb.getSecurityService(), SecurityServiceInfo.class); sys.facilities.transactionService = configureService(openejb.getTransactionManager(), TransactionServiceInfo.class); ResourceInfo resourceInfo = configureService(resource, ResourceInfo.class); resources.add(resourceInfo); sys.facilities.intraVmServer = configureService(openejb.getProxyFactory(), ProxyFactoryInfo.class); ContainerInfo info = createContainerInfo(declaration); sys.containerSystem.containers.add(info); File jarFile = new File(pathname); AppInfo appInfo = configureApplication(jarFile); if (SystemInstance.get().getOptions().get(CLASSPATH_AS_EAR, true)) { AppInfo appInfo = configureApplication(classLoader, "classpath.ear", jarFiles); AppInfo appInfo = configureApplication(jarFile);
List<String> managed = configFactory.getResourceIds("DataSource", required); List<String> unmanaged = configFactory.getResourceIds("DataSource", required); List<String> unknown = configFactory.getResourceIds("DataSource", required); String possibleNonJta = findResourceId(unit.getNonJtaDataSource(), "DataSource", required, null); if (possibleJta != null && possibleJta == possibleNonJta){ ResourceInfo dataSource = configFactory.getResourceInfo(possibleJta); ResourceInfo jtaResourceInfo = configFactory.configureService(jtaResource, ResourceInfo.class); ResourceInfo nonJtaResourceInfo = configFactory.configureService(nonJtaResource, ResourceInfo.class); ResourceInfo jtaResourceInfo = configFactory.getResourceInfo(jtaDataSourceId); nonJtaResourceInfo.id = jtaResourceInfo.id + "NonJta"; Properties overrides = ConfigurationFactory.getSystemProperties(nonJtaResourceInfo.id, nonJtaResourceInfo.service); nonJtaResourceInfo.properties.putAll(overrides); nonJtaResourceInfo.properties.setProperty("JtaManaged", "false"); ResourceInfo nonJtaResourceInfo = configFactory.getResourceInfo(nonJtaDataSourceId); jtaResourceInfo.id = nonJtaResourceInfo.id + "Jta"; Properties overrides = ConfigurationFactory.getSystemProperties(jtaResourceInfo.id, jtaResourceInfo.service); jtaResourceInfo.properties.putAll(overrides); jtaResourceInfo.properties.setProperty("JtaManaged", "true");
final ConfigurationFactory config = new ConfigurationFactory(); config.init(SystemInstance.get().getProperties()); openEjbConfiguration = config.getOpenEjbConfiguration(openejb); } else { openEjbConfiguration = config.getOpenEjbConfiguration(); appInfo = config.configureApplication(appModule);
public DeployerEjb() { deploymentLoader = new DeploymentLoader(); configurationFactory = new ConfigurationFactory(); assembler = (Assembler) SystemInstance.get().getComponent(org.apache.openejb.spi.Assembler.class); }
public static void main(final String[] args) throws Exception { final CommandLine line = parseCommand(args); if (line == null) { return; } final Openejb openejb = JaxbOpenejb.readConfig(findXml(line).getCanonicalPath()); final ConfigurationFactory configFact = new ConfigurationFactory(); for (final Resource r : openejb.getResource()) { final ResourceInfo ri = configFact.configureService(r, ResourceInfo.class); if (!ri.properties.containsKey("SkipImplicitAttributes")) { ri.properties.put("SkipImplicitAttributes", "false"); } r.getProperties().clear(); r.getProperties().putAll(ri.properties); } // TODO: others final Marshaller marshaller = JaxbOpenejb.getContext(Openejb.class).createMarshaller(); marshaller.setProperty("jaxb.formatted.output", true); marshaller.marshal(openejb, System.out); }
/** * embedded usage * * @param classLoader classloader * @param id id supplied from embedded properties or null * @param jarFiles list of ejb modules * @return configured AppInfo * @throws OpenEJBException on error */ public AppInfo configureApplication(final ClassLoader classLoader, final String id, final List<File> jarFiles) throws OpenEJBException { final AppModule collection = loadApplication(classLoader, id, jarFiles); final AppInfo appInfo; try { appInfo = configureApplication(collection); } catch (final ValidationFailedException e) { logger.warning("configureApplication.loadFailed", collection.getModuleId(), e.getMessage()); // DO not include the stacktrace in the message throw e; } catch (final OpenEJBException e) { // DO NOT REMOVE THE EXCEPTION FROM THIS LOG MESSAGE // removing this message causes NO messages to be printed when embedded logger.warning("configureApplication.loadFailed", e, collection.getModuleId(), e.getMessage()); throw e; } return appInfo; }
public ContainerInfo createContainerInfo(final Container container) throws OpenEJBException { final Class<? extends ContainerInfo> infoClass = getContainerInfoType(container.getType()); if (infoClass == null) { throw new OpenEJBException(messages.format("unrecognizedContainerType", container.getType())); } return configureService(container, infoClass); }
ConfigurationFactory.fillOpenEjb(openejb, properties); info.add(cf.configureService(s, ServiceInfo.class)); } catch (final OpenEJBException e) { throw new IllegalArgumentException(e);
} catch (final Exception e3) { final Collection<String> ids = new ConfigurationFactory(true).getResourceIds(DataSource.class.getName(), new Properties()); final String id = AutoConfig.findResourceId(ids, dataSourceName);
final ConfigurationFactory config = new ConfigurationFactory(); config.init(SystemInstance.get().getProperties()); SystemInstance.get().setComponent(ConfigurationFactory.class, config); openEjbConfiguration = config.getOpenEjbConfiguration(openejb); } else { openEjbConfiguration = config.getOpenEjbConfiguration();
OpenEjbConfiguration runningConfig = getRunningConfig(); if (runningConfig != null) { for (ResourceInfo resourceInfo : runningConfig.facilities.resources) { if (isResourceType(resourceInfo.service, resourceInfo.types, type) && implies(required, resourceInfo.properties)) { resourceIds.add(resourceInfo.id); if (isResourceType(resourceInfo.service, resourceInfo.types, type) && implies(required, resourceInfo.properties)) { resourceIds.add(resourceInfo.id); types.add(resource.getType()); if (isResourceType("Resource", types, type) && implies(required, resource.getProperties())) { resourceIds.add(resource.getId());
protected List<String> getResourceIds() { return getResourceIds(null); }
Class<? extends ContainerInfo> containerInfoType = ConfigurationFactory.getContainerInfoType(getType(bean)); if (ejbDeployment.getContainerId() == null && !skipMdb(bean)) { String containerId = getUsableContainer(containerInfoType, bean, appResources); List<String> containerIds = configFactory.getContainerIds(); containerIds.addAll(appResources.getContainerIds()); if (!containerIds.contains(ejbDeployment.getContainerId()) && !skipMdb(bean)) {
List<String> containerIds = configFactory.getContainerIds(); for (ConnectorInfo connectorInfo : appInfo.connectors) { for (MdbContainerInfo containerInfo : connectorInfo.inbound) {
if (runningConfig != null) { for (final ResourceInfo resourceInfo : runningConfig.facilities.resources) { if (ConfigurationFactory.isResourceType(resourceInfo.service, resourceInfo.types, "javax.sql.DataSource") && ServiceUtils.implies(props, resourceInfo.properties)) { resourceIds.add(resourceInfo.id);