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

MailResourceDeployer

public class MailResourceDeployer extends GlobalResourceDeployer implements com.sun.enterprise.server.ResourceDeployer
Handles mail resource events in the server instance. The mail 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
James Kong
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
resoure a resource object (eg. MailResource)
exception
Exception thrown if fail


                              
           

        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 {
            if (mailRes.isEnabled()) {
                //registers the jsr77 object for the mail resource deployed
                ManagementObjectManager mgr = 
                    getAppServerSwitchObject().getManagementObjectManager();
                mgr.registerJavaMailResource(mailRes.getJndiName());
                installResource(mailRes);
            } else {
                _logger.log(Level.INFO, "core.resource_disabled",
                        new Object[] {mailRes.getJndiName(),
                        IASJ2EEResourceFactoryImpl.MAIL_RES_TYPE});
            }
        }
    
public synchronized voiddisableResource(java.lang.Object resource)
Disable the resource in the server's runtime naming context

param
resoure a resource object (eg. MailResource)
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
resoure a resource object (eg. MailResource)
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.getMailResourceByJndiName(name);

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

        return res;
    
voidinstallResource(com.sun.enterprise.config.serverbeans.MailResource mailResource)
Local method for calling the ResourceInstaller for installing mail resource in runtime.

param
resource The mail resource to be installed.

        // Converts the config data to j2ee resource ;
        // retieves the resource installer ; installs the resource ;
        // and adds it to a collection in the installer
        J2EEResource j2eeRes =
                IASJ2EEResourceFactoryImpl.toMailJ2EEResource(mailResource);
        ResourceInstaller installer = 
            getAppServerSwitchObject().getResourceInstaller();
        installer.installMailResource((MailResource) j2eeRes);
        installer.addResource(j2eeRes); 
    
public synchronized voidredeployResource(java.lang.Object resource)
Redeploy the resource into the server's runtime naming context

param
resoure a resource object (eg. MailResource)
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
resoure a resource object (eg. MailResource)
exception
Exception thrown if fail


        // naming manager - provides jndi support
        NamingManager namingMgr = getAppServerSwitchObject().getNamingManager();

        com.sun.enterprise.config.serverbeans.MailResource mailRes =
            (com.sun.enterprise.config.serverbeans.MailResource) resource;

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

        // removes the resource from jndi naming
        namingMgr.unpublishObject(j2eeResource.getName());

        // resource installer
        ResourceInstaller installer = getAppServerSwitchObject().getResourceInstaller();

        // removes the resource from the collection
        installer.removeResource(j2eeResource);
        
        ManagementObjectManager mgr =
                getAppServerSwitchObject().getManagementObjectManager();
        mgr.unregisterJavaMailResource(mailRes.getJndiName());