private void unregisterDSDReferredByApplication(DataSourceDefinitionDescriptor dsd){ try{ if(dsd.isDeployed()){ undeployResource(dsd); } }catch(Exception e){ _logger.log(Level.WARNING, "exception while unregistering DSD [ "+dsd.getName()+" ]", e); } }
private void undeployDataSourceDefinitions(JndiNameEnvironment env) { for (DataSourceDefinitionDescriptor dsd : env.getDataSourceDefinitionDescriptors()) { Collection<ResourceDeployer> resourceDeployers = habitat.getAllByContract(ResourceDeployer.class); try{ if(dsd.isDeployed()){ ResourceDeployer deployer = getResourceDeployer(dsd, resourceDeployers); deployer.undeployResource(dsd); dsd.setDeployed(false); } }catch(Exception e){ _logger.log(Level.WARNING, "unable to undeploy DataSourceDefinition [ " + dsd.getName() + " ] ", e); } } }
private void addDataSourceBindings(JndiNameEnvironment env, ScopeType scope, Collection<JNDIBinding> jndiBindings) { for (DataSourceDefinitionDescriptor dsd : env.getDataSourceDefinitionDescriptors()) { if (!dependencyAppliesToScope(dsd, scope)) { continue; } //the DSD would have been deployed already for JPA's requirements. if (dsd.isDeployed()) { continue; } setResourceId(env, dsd); DataSourceDefinitionProxy proxy = habitat.getComponent(DataSourceDefinitionProxy.class); proxy.setDescriptor(dsd); String logicalJndiName = descriptorToLogicalJndiName(dsd); CompEnvBinding envBinding = new CompEnvBinding(logicalJndiName, proxy); jndiBindings.add(envBinding); //dsd.setDeployed(true); } }
private void registerDSDReferredByApplication(String appName, DataSourceDefinitionDescriptor dsd) { // It is possible that JPA might call this method multiple times in a single deployment, // when there are multiple PUs eg: one PU in each of war, ejb-jar. Make sure that // DSD is bound to JNDI only when it is not already deployed. if(!dsd.isDeployed()){ DataSourceDefinitionProxy proxy = habitat.getComponent(DataSourceDefinitionProxy.class); ResourceNamingService resourceNamingService = habitat.getComponent(ResourceNamingService.class); proxy.setDescriptor(dsd); //String appName = application.getAppName(); String moduleName = null; if(dsd.getName().startsWith(ConnectorConstants.JAVA_APP_SCOPE_PREFIX)){ dsd.setResourceId(appName); } if(dsd.getName().startsWith(ConnectorConstants.JAVA_GLOBAL_SCOPE_PREFIX) /*|| next.getName().startsWith("java:module/")*/ || dsd.getName().startsWith(ConnectorConstants.JAVA_APP_SCOPE_PREFIX)){ ResourceInfo resourceInfo = new ResourceInfo(dsd.getName(), appName, moduleName); try { resourceNamingService.publishObject(resourceInfo, proxy, true); dsd.setDeployed(true); } catch (NamingException e) { Object params[] = new Object[]{appName, dsd.getName(), e}; _logger.log(Level.WARNING, "dsd.registration.failed", params); } } } }
&& ((DataSourceDefinitionDescriptor)descriptor).isDeployed()) { continue;
if(descriptor instanceof DataSourceDefinitionDescriptor ) { DataSourceDefinitionDescriptor dataSourceDefinitionDescriptor = (DataSourceDefinitionDescriptor)descriptor; if(dataSourceDefinitionDescriptor.isDeployed()) { if(undepoyResource(dataSourceDefinitionDescriptor)) { dataSourceDefinitionDescriptor.setDeployed(false);