public void deployResource(Object resource) throws Exception { final DataSourceDefinitionDescriptor desc = (DataSourceDefinitionDescriptor) resource; String poolName = ConnectorsUtil.deriveDataSourceDefinitionPoolName(desc.getResourceId(), desc.getName()); String resourceName = ConnectorsUtil.deriveDataSourceDefinitionResourceName(desc.getResourceId(), desc.getName()); if(_logger.isLoggable(Level.FINE)) { _logger.log(Level.FINE, "DataSourceDefinitionDeployer.deployResource() : pool-name ["+poolName+"], " + " resource-name ["+resourceName+"]"); } JdbcConnectionPool jdbcCp = new MyJdbcConnectionPool(desc, poolName); Collection<ResourceDeployer> deployers = habitat.getAllByContract(ResourceDeployer.class); //deploy pool getDeployer(jdbcCp, deployers).deployResource(jdbcCp); //deploy resource JdbcResource jdbcResource = new MyJdbcResource(poolName, resourceName); getDeployer(jdbcResource, deployers).deployResource(jdbcResource); }
public void undeployResource(Object resource) throws Exception { final DataSourceDefinitionDescriptor desc = (DataSourceDefinitionDescriptor) resource; Collection<ResourceDeployer> deployers = habitat.getAllByContract(ResourceDeployer.class); String poolName = ConnectorsUtil.deriveDataSourceDefinitionPoolName(desc.getResourceId(), desc.getName()); String resourceName = ConnectorsUtil.deriveDataSourceDefinitionResourceName(desc.getResourceId(), desc.getName()); if(_logger.isLoggable(Level.FINE)) { _logger.log(Level.FINE, "DataSourceDefinitionDeployer.undeployResource() : pool-name ["+poolName+"], " + " resource-name ["+resourceName+"]"); } //undeploy resource JdbcResource jdbcResource = new MyJdbcResource(poolName, resourceName); getDeployer(jdbcResource, deployers).undeployResource(jdbcResource); //undeploy pool JdbcConnectionPool jdbcCp = new MyJdbcConnectionPool(desc, poolName); getDeployer(jdbcCp, deployers).undeployResource(jdbcCp); desc.setDeployed(false); }
public Object create(Context ic) throws NamingException { if(actualResourceName == null){ actualResourceName = ConnectorsUtil.deriveDataSourceDefinitionResourceName (desc.getResourceId(), desc.getName()); try{ if(habitat == null){ habitat = Globals.getDefaultHabitat(); if(habitat == null){ throw new NamingException("Unable to create resource " + "["+ desc.getName() +" ] as habitat is null"); } } getResourceDeployer(desc, habitat.getAllByContract(ResourceDeployer.class)).deployResource(desc); }catch(Exception e){ NamingException ne = new NamingException("Unable to create resource ["+ desc.getName() +" ]"); ne.initCause(e); throw ne; } } return ic.lookup(actualResourceName); }