All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.jbi.management.InstallationServiceMBean Maven / Gradle / Ivy

There is a newer version: 1.5.0
Show newest version
/**
 * @(#) InstallationServiceMBean.java
 *
 * PETALS - PETALS Services Platform.
 * Copyright (c) 2005 Fossil E-Commerce, http://www.fossilec.com/
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 * -------------------------------------------------------------------------
 * $Id: InstallationServiceMBean.java 243 2006-04-19 16:11:25Z ofabre $
 * -------------------------------------------------------------------------
 */

//
// This source code implements specifications defined by the Java
// Community Process. In order to remain compliant with the specification
// DO NOT add / change / or delete method signatures!
//

package javax.jbi.management;

/**
 * The deployment service MBean allows administrative tools to manage service
 * assembly deployments. The tasks supported are:
 * 
    *
  • Installing (and uninstalling) a shared library *
  • Creating (loading) and destroying (unloading) a component installer * MBean. *
  • Finding an existing component installer MBean. *
*

* Installing and uninstalling components is accomplished using * {@link InstallerMBean}s, loaded by this MBean. An individual installer MBean * is needed for each component installation / uninstallation. This is to * support the more complex installation process that some components require. * * @author JSR208 Expert Group */ public interface InstallationServiceMBean { /** * TODO result must be non-null and non-empty, refactoring all failure cases * Install a shared library installation package. *

* The return value is the unique name for the shared-library, as found in * the the value of the installation descriptor's * <identification><name> element. * * @param slZipURL * URL locating a zip file containing a shared library * installation package; must be non-null, non-empty, and a legal * URL * @return the unique name of the shared library loaded from slZipURL; must * be non-null and non-empty */ public java.lang.String installSharedLibrary(java.lang.String slZipURL); /** * Load the InstallerMBean for a previously installed component. *

* The "component name" refers to the <identification> * <name> element value from the component's * installation package (see * {@link InstallationServiceMBean#loadNewInstaller(String)}). * * @param componentName * the component name identifying the installer to load; must be * non-null and non-empty * @return the JMX ObjectName of the InstallerMBean loaded from an existing * installation context; null if the installer MBean * doesn't exist */ public javax.management.ObjectName loadInstaller( java.lang.String componentName); /** * TODO result must be non-null. Refactoring all failure cases and algorithm * Load the installer for a new component for the given component * installation package. * * @param installZipURL * URL locating a ZIP file containing the JBI Installation * package to be installed; must be non-null, non-empty, and a * legal URL * @return the JMX ObjectName of the InstallerMBean loaded from * installZipURL; must be non-null */ public javax.management.ObjectName loadNewInstaller( java.lang.String installZipURL); /** * Uninstall a previously installed shared library. * * @param slName * the name of the shared name space to uninstall; must be * non-null and non-empty * @return true if the uninstall was successful */ public boolean uninstallSharedLibrary(java.lang.String slName); /** * TODO unloadInstaller isToBeDeleted parameter isn't used at the moment : this method completly deletes the component from the container * TODO unloadInstaller Problem with jar deletion, they can't be deleted before classloader been garbaged collected * TODO Refactoring failure cases * * Unload an InstallerMBean previously loaded for a component. * * @param componentName * the component name identifying the installer to unload; must * be non-null and non-empty * @param isToBeDeleted * true