FileDocCategorySizeDatePackage
ExternalJndiResourceDeployer.javaAPI DocGlassfish v2 API7418Fri May 04 22:35:14 BST 2007com.sun.enterprise.resource

ExternalJndiResourceDeployer

public class ExternalJndiResourceDeployer extends Object implements com.sun.enterprise.server.ResourceDeployer
Handles external-jndi resource events in the server instance. The external-jndi resource events from the admin instance are propagated to this object. The methods can potentially be called concurrently, therefore implementation need to be synchronized.
author
Nazrul Islam
since
JDK1.4

Fields Summary
private static final com.sun.enterprise.util.i18n.StringManager
localStrings
StringManager for this deployer
private static Logger
_logger
logger for this deployer
Constructors Summary
Methods Summary
public synchronized voiddeployResource(java.lang.Object resource)
Deploy the resource into the server's runtime naming context

param
resource a resource object (eg. JmsResource)
exception
Exception thrown if fail


                              
	       
        
        com.sun.enterprise.config.serverbeans.ExternalJndiResource jndiRes = 
            (com.sun.enterprise.config.serverbeans.ExternalJndiResource) resource;
        
        if (jndiRes.isEnabled()) {
            // converts the config data to j2ee resource
            J2EEResource j2eeRes = 
                IASJ2EEResourceFactoryImpl.toExternalJndiJ2EEResource(jndiRes);

            // resource installer
            ResourceInstaller installer = 
                Switch.getSwitch().getResourceInstaller();

            // installs the resource
            installer.installExternalJndiResource(
                (ExternalJndiResource) j2eeRes); 

            // adds the resource to the resource collection
            installer.addResource(j2eeRes);
        } else {
            _logger.log(Level.INFO, "core.resource_disabled", 
                new Object[] {jndiRes.getJndiName(), 
                              IASJ2EEResourceFactoryImpl.EXT_JNDI_RES_TYPE});
        }

    
public synchronized voiddisableResource(java.lang.Object resource)
Disable the resource in the server's runtime naming context

param
resource a resource object (eg. JmsResource)
exception
Exception thrown if fail

        undeployResource(resource);
    
public synchronized voidenableResource(java.lang.Object resource)
Enable the resource in the server's runtime naming context

param
resource a resource object (eg. JmsResource)
exception
Exception thrown if fail

        deployResource(resource);
    
public java.lang.ObjectgetResource(java.lang.String name, com.sun.enterprise.config.serverbeans.Resources rbeans)
Utility method to find a resource from Resources beans and converte it to a resource object to be used by the implemented ResourceDeployer

param
name resource name (normally the jndi-name)
param
rbeans Resources config-beans
exception
Exception thrown if fail


        Object res = rbeans.getExternalJndiResourceByJndiName(name);

        if (res == null) {
            String msg = localStrings.getString(
                         "resource.no_resource", name);
            throw new Exception(msg);
        }

        return res;
    
public synchronized voidredeployResource(java.lang.Object resource)
Redeploy the resource into the server's runtime naming context

param
resource a resource object (eg. JmsResource)
exception
Exception thrown if fail


        undeployResource(resource);
        deployResource(resource);
    
public synchronized voidundeployResource(java.lang.Object resource)
Undeploy the resource from the server's runtime naming context

param
resource a resource object (eg. JmsResource)
exception
Exception thrown if fail


        com.sun.enterprise.config.serverbeans.ExternalJndiResource jndiRes = 
            (com.sun.enterprise.config.serverbeans.ExternalJndiResource) resource;

        // converts the config data to j2ee resource
        J2EEResource j2eeResource = 
            IASJ2EEResourceFactoryImpl.toExternalJndiJ2EEResource(jndiRes);

        // resource installer
        ResourceInstaller installer = Switch.getSwitch().getResourceInstaller();

        // un-installs the resource 
        installer.uninstallExternalJndiResource(j2eeResource);