public boolean isEnabled(BindableResource br) { ResourceInfo resourceInfo = ConnectorsUtil.getResourceInfo(br); return isEnabled(br, resourceInfo); }
public Collection<AdminObjectResource> getEnabledAdminObjectResources(String raName, Resources resources) { List<AdminObjectResource> adminObjectResources = new ArrayList<AdminObjectResource>(); for(Resource resource : resources.getResources(AdminObjectResource.class)) { AdminObjectResource adminObjectResource = (AdminObjectResource)resource; String resourceAdapterName = adminObjectResource.getResAdapter(); if(resourceAdapterName == null) continue; if(raName!= null && !raName.equals(resourceAdapterName)) continue; // skips the admin resource if it is not referenced by the server if(!isEnabled(adminObjectResource)) continue; adminObjectResources.add(adminObjectResource); } //AdminObjectResource[] allAdminObjectResources = // new AdminObjectResource[adminObjectResources.size()]; //return adminObjectResources.toArray(allAdminObjectResources); return adminObjectResources; }
private void createConnectorResource(ConnectorResource connectorResource, ResourceInfo resourceInfo, PoolInfo poolInfo) throws ConnectorRuntimeException { if (ResourcesUtil.createInstance().isEnabled(connectorResource, resourceInfo)){ if (_logger.isLoggable(Level.FINE)) { _logger.log(Level.FINE, "Calling backend to add connector resource", resourceInfo); } runtime.createConnectorResource(resourceInfo, poolInfo, null); if (_logger.isLoggable(Level.FINE)) { _logger.log(Level.FINE, "Added connector resource in backend", resourceInfo); } } else { _logger.log(Level.INFO, "core.resource_disabled", new Object[]{connectorResource.getJndiName(), ConnectorConstants.RES_TYPE_CR}); } }
private void deleteAdminObjectResource(AdminObjectResource adminObject, ResourceInfo resourceInfo) throws ConnectorRuntimeException { if (ResourcesUtil.createInstance().isEnabled(adminObject, resourceInfo)) { if (_logger.isLoggable(Level.FINE)) { _logger.log(Level.FINE, "Calling backend to delete adminObject", resourceInfo); } runtime.deleteAdminObject(resourceInfo); if (_logger.isLoggable(Level.FINE)) { _logger.log(Level.FINE, "Deleted adminObject in backend", resourceInfo); } //unregister the managed object /* TODO Not needed any more ? final ManagementObjectManager mgr = getAppServerSwitchObject().getManagementObjectManager(); mgr.unregisterAdminObjectResource(aor.getJndiName(), aor.getResType()); */ } else { _logger.log(Level.FINEST, "core.resource_disabled", new Object[]{adminObject.getJndiName(), ConnectorConstants.RES_TYPE_AOR}); } }
private void deleteResource(com.sun.enterprise.config.serverbeans.CustomResource customResource, ResourceInfo resourceInfo) throws NamingException { if (ResourcesUtil.createInstance().isEnabled(customResource, resourceInfo)){ // converts the config data to j2ee resource //JavaEEResource j2eeResource = toCustomJavaEEResource(customRes, resourceInfo); // removes the resource from jndi naming cns.unpublishObject(resourceInfo, resourceInfo.getName()); }else{ _logger.log(Level.FINEST, "core.resource_disabled", new Object[] {customResource.getJndiName(), ConnectorConstants.RES_TYPE_CUSTOM}); } }
private void deleteResource(com.sun.enterprise.config.serverbeans.ExternalJndiResource jndiResource, ResourceInfo resourceInfo) { if (ResourcesUtil.createInstance().isEnabled(jndiResource, resourceInfo)){ // converts the config data to j2ee resource JavaEEResource j2eeResource = toExternalJndiJavaEEResource(jndiResource, resourceInfo); // un-installs the resource uninstallExternalJndiResource(j2eeResource, resourceInfo); }else{ _logger.log(Level.FINEST, "core.resource_disabled", new Object[] {jndiResource.getJndiName(), ConnectorConstants.RES_TYPE_EXTERNAL_JNDI}); } }
private void deleteConnectorResource(ConnectorResource connectorResource, ResourceInfo resourceInfo) throws Exception { if (ResourcesUtil.createInstance().isEnabled(connectorResource, resourceInfo)) { runtime.deleteConnectorResource(resourceInfo); //Since 8.1 PE/SE/EE - if no more resource-ref to the pool //of this resource in this server instance, remove pool from connector //runtime checkAndDeletePool(connectorResource); } else { _logger.log(Level.FINEST, "core.resource_disabled", new Object[]{connectorResource.getJndiName(), ConnectorConstants.RES_TYPE_CR}); } }
private void createExternalJndiResource(com.sun.enterprise.config.serverbeans.ExternalJndiResource jndiRes, ResourceInfo resourceInfo) { if (ResourcesUtil.createInstance().isEnabled(jndiRes, resourceInfo)){ // converts the config data to j2ee resource JavaEEResource j2eeRes = toExternalJndiJavaEEResource(jndiRes, resourceInfo); // installs the resource installExternalJndiResource((ExternalJndiResource) j2eeRes, resourceInfo); } else { _logger.log(Level.INFO, "core.resource_disabled", new Object[] {jndiRes.getJndiName(), ConnectorConstants.EXT_JNDI_RES_TYPE}); } }
private void deleteResource(com.sun.enterprise.config.serverbeans.MailResource mailRes, ResourceInfo resourceInfo) throws NamingException { if (ResourcesUtil.createInstance().isEnabled(mailRes, resourceInfo)){ //JavaEEResource javaEEResource = toMailJavaEEResource(mailRes, resourceInfo); // removes the resource from jndi naming namingService.unpublishObject(resourceInfo, mailRes.getJndiName()); /* TODO Not needed any more ? ManagementObjectManager mgr = getAppServerSwitchObject().getManagementObjectManager(); mgr.unregisterJavaMailResource(mailRes.getJndiName()); */ }else{ _logger.log(Level.FINEST, "core.resource_disabled", new Object[] {mailRes.getJndiName(), ConnectorConstants.RES_TYPE_MAIL}); } }
private void deployResource(Object resource, ResourceInfo resourceInfo){ com.sun.enterprise.config.serverbeans.CustomResource customRes = (com.sun.enterprise.config.serverbeans.CustomResource) resource; if (ResourcesUtil.createInstance().isEnabled(customRes, resourceInfo)){ // converts the config data to j2ee resource JavaEEResource j2eeResource = toCustomJavaEEResource(customRes, resourceInfo); // installs the resource installCustomResource((CustomResource) j2eeResource, resourceInfo); } else { _logger.log(Level.INFO, "core.resource_disabled", new Object[] {customRes.getJndiName(), ConnectorConstants.RES_TYPE_CUSTOM}); } }
public void loadDeferredResources(Resource[] resourcesToLoad) throws Exception { if (resourcesToLoad == null || resourcesToLoad.length == 0) { return; } for (Resource resource : resourcesToLoad) { if (resource == null) { continue; } else if (getResourcesUtil().isEnabled(resource)) { try { _runtime.getResourceDeployer(resource).deployResource(resource); } catch (Exception e) { ConnectorRuntimeException cre = new ConnectorRuntimeException(e.getMessage()); cre.initCause(e); throw cre; } } } }
if (ResourcesUtil.createInstance().isEnabled(aor, resourceInfo)){ if(_logger.isLoggable(Level.FINE)) { _logger.log(Level.FINE, "Calling backend to add adminObject", resourceInfo);
/** * {@inheritDoc} */ public synchronized void deployResource(Object resource, String applicationName, String moduleName) throws Exception { com.sun.enterprise.config.serverbeans.MailResource mailRes = (com.sun.enterprise.config.serverbeans.MailResource) resource; if (mailRes == null) { _logger.log(Level.INFO, "core.resourcedeploy_error"); } else { ResourceInfo resourceInfo = new ResourceInfo(mailRes.getJndiName(), applicationName, moduleName); if (ResourcesUtil.createInstance().isEnabled(mailRes, resourceInfo)){ //registers the jsr77 object for the mail resource deployed /* TODO Not needed any more ? /*ManagementObjectManager mgr = getAppServerSwitchObject().getManagementObjectManager(); mgr.registerJavaMailResource(mailRes.getJndiName());*/ installResource(mailRes, resourceInfo); } else { _logger.log(Level.INFO, "core.resource_disabled", new Object[] {mailRes.getJndiName(), ConnectorConstants.RES_TYPE_MAIL}); } } }
/** * Determines if a connector connection pool is referred in a * server-instance via resource-refs * @param poolInfo pool-name * @return boolean true if pool is referred in this server instance as well enabled, false * otherwise */ public boolean isPoolReferredInServerInstance(PoolInfo poolInfo) { Collection<ConnectorResource> connectorResources = getRuntime().getResources(poolInfo). getResources(ConnectorResource.class); for (ConnectorResource resource : connectorResources) { if(_logger.isLoggable(Level.FINE)) { _logger.fine("poolname " + resource.getPoolName() + "resource " + resource.getJndiName()); } ResourceInfo resourceInfo = ConnectorsUtil.getResourceInfo(resource); if ((resource.getPoolName().equalsIgnoreCase(poolInfo.getName())) && isReferenced(resourceInfo) && isEnabled(resource)){ if(_logger.isLoggable(Level.FINE)) { _logger.fine("Connector resource " + resource.getJndiName() + "refers " + poolInfo + "in this server instance and is enabled"); } return true; } } if(_logger.isLoggable(Level.FINE)) { _logger.fine("No Connector resource refers [ " + poolInfo + " ] in this server instance"); } return false; }
/** * Determines if a JDBC connection pool is referred in a * server-instance via resource-refs * @param poolName pool-name * @return boolean true if pool is referred in this server instance as well enabled, false * otherwise */ public boolean isJdbcPoolReferredInServerInstance(PoolInfo poolInfo) { Collection<JdbcResource> jdbcResources = getRuntime().getResources(poolInfo).getResources(JdbcResource.class); for (JdbcResource resource : jdbcResources) { ResourceInfo resourceInfo = ConnectorsUtil.getResourceInfo(resource); //Have to check isReferenced here! if ((resource.getPoolName().equalsIgnoreCase(poolInfo.getName())) && isReferenced(resourceInfo) && isEnabled(resource)){ if (_logger.isLoggable(Level.FINE)) { _logger.fine("pool " + poolInfo + "resource " + resourceInfo + " referred " + isReferenced(resourceInfo)); _logger.fine("JDBC resource " + resource.getJndiName() + "refers " + poolInfo + "in this server instance and is enabled"); } return true; } } if(_logger.isLoggable(Level.FINE)) { _logger.fine("No JDBC resource refers [ " + poolInfo + " ] in this server instance"); } return false; }
private Vector getEjbDescriptors(Application application, ApplicationRegistry appsRegistry) { Vector ejbDescriptors = new Vector(); if(ResourcesUtil.createInstance().isEnabled(application)){ ApplicationInfo appInfo = appsRegistry.get(application.getName()); if(appInfo != null){ com.sun.enterprise.deployment.Application app = appInfo.getMetaData(com.sun.enterprise.deployment.Application.class); Set<BundleDescriptor> descriptors = app.getBundleDescriptors(); for (BundleDescriptor descriptor : descriptors) { if (descriptor instanceof EjbBundleDescriptor) { EjbBundleDescriptor ejbBundleDescriptor = (EjbBundleDescriptor) descriptor; Set<? extends EjbDescriptor> ejbDescriptorsSet = ejbBundleDescriptor.getEjbs(); for (EjbDescriptor ejbDescriptor : ejbDescriptorsSet) { ejbDescriptors.add(ejbDescriptor); } } } }else{ //application is enabled, but still not found in app-registry _logger.log(Level.WARNING, "application.not.started.skipping.recovery", application.getName()); } } return ejbDescriptors; }
private Collection<ConnectorResource> getAllConnectorResources() { Collection<ConnectorResource> allResources = new ArrayList<ConnectorResource>(); Collection<ConnectorResource> connectorResources = domain.getResources().getResources(ConnectorResource.class); allResources.addAll(connectorResources); for(Application app : applications.getApplications()){ if(ResourcesUtil.createInstance().isEnabled(app)){ Resources appScopedResources = app.getResources(); if(appScopedResources != null && appScopedResources.getResources() != null){ allResources.addAll(appScopedResources.getResources(ConnectorResource.class)); } List<Module> modules = app.getModule(); if(modules != null){ for(Module module : modules){ Resources msr = module.getResources(); if(msr != null && msr.getResources() != null){ allResources.addAll(msr.getResources(ConnectorResource.class)); } } } } } return allResources; }
private Collection<JdbcResource> getAllJdbcResources() { Collection<JdbcResource> allResources = new ArrayList<JdbcResource>(); Collection<JdbcResource> jdbcResources = domain.getResources().getResources(JdbcResource.class); allResources.addAll(jdbcResources); for(Application app : applications.getApplications()){ if(ResourcesUtil.createInstance().isEnabled(app)){ Resources appScopedResources = app.getResources(); if(appScopedResources != null && appScopedResources.getResources() != null){ allResources.addAll(appScopedResources.getResources(JdbcResource.class)); } List<Module> modules = app.getModule(); if(modules != null){ for(Module module : modules){ Resources msr = module.getResources(); if(msr != null && msr.getResources() != null){ allResources.addAll(msr.getResources(JdbcResource.class)); } } } } } return allResources; }
/** * {@inheritDoc} */ public synchronized void deployResource(Object resource, String applicationName, String moduleName) throws Exception { //deployResource is not synchronized as there is only one caller //ResourceProxy which is synchronized com.sun.enterprise.config.serverbeans.JdbcResource jdbcRes = (com.sun.enterprise.config.serverbeans.JdbcResource) resource; String jndiName = jdbcRes.getJndiName(); String poolName = jdbcRes.getPoolName(); PoolInfo poolInfo = new PoolInfo(poolName, applicationName, moduleName); ResourceInfo resourceInfo = new ResourceInfo(jndiName, applicationName, moduleName); if (ResourcesUtil.createInstance().isEnabled(jdbcRes, resourceInfo)){ runtime.createConnectorResource(resourceInfo, poolInfo, null); //In-case the resource is explicitly created with a suffix (__nontx or __PM), no need to create one if(ConnectorsUtil.getValidSuffix(jndiName) == null){ ResourceInfo pmResourceInfo = new ResourceInfo(ConnectorsUtil.getPMJndiName(jndiName), resourceInfo.getApplicationName(), resourceInfo.getModuleName()); runtime.createConnectorResource( pmResourceInfo, poolInfo, null); } if(_logger.isLoggable(Level.FINEST)) { _logger.finest("deployed resource " + jndiName); } } else { _logger.log(Level.INFO, "core.resource_disabled", new Object[]{jdbcRes.getJndiName(), ConnectorConstants.RES_TYPE_JDBC}); } } /**
private void deleteResource(JdbcResource jdbcResource, ResourceInfo resourceInfo) throws Exception { if (ResourcesUtil.createInstance().isEnabled(jdbcResource, resourceInfo)) { runtime.deleteConnectorResource(resourceInfo); ConnectorRegistry.getInstance().removeResourceFactories(resourceInfo); //In-case the resource is explicitly created with a suffix (__nontx or __PM), no need to delete one if (ConnectorsUtil.getValidSuffix(resourceInfo.getName()) == null) { String pmJndiName = ConnectorsUtil.getPMJndiName(resourceInfo.getName()); ResourceInfo pmResourceInfo = new ResourceInfo(pmJndiName, resourceInfo.getApplicationName(), resourceInfo.getModuleName()); runtime.deleteConnectorResource(pmResourceInfo); ConnectorRegistry.getInstance().removeResourceFactories(pmResourceInfo); } //Since 8.1 PE/SE/EE - if no more resource-ref to the pool //of this resource in this server instance, remove pool from connector //runtime checkAndDeletePool(jdbcResource); } else { _logger.log(Level.FINEST, "core.resource_disabled", new Object[]{jdbcResource.getJndiName(), ConnectorConstants.RES_TYPE_JDBC}); } }