001: /*
002: * BEGIN_HEADER - DO NOT EDIT
003: *
004: * The contents of this file are subject to the terms
005: * of the Common Development and Distribution License
006: * (the "License"). You may not use this file except
007: * in compliance with the License.
008: *
009: * You can obtain a copy of the license at
010: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
011: * See the License for the specific language governing
012: * permissions and limitations under the License.
013: *
014: * When distributing Covered Code, include this CDDL
015: * HEADER in each file and include the License file at
016: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
017: * If applicable add the following below this CDDL HEADER,
018: * with the fields enclosed by brackets "[]" replaced with
019: * your own identifying information: Portions Copyright
020: * [year] [name of copyright owner]
021: */
022:
023: /*
024: * @(#)InstallationServiceMBean.java
025: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
026: *
027: * END_HEADER - DO NOT EDIT
028: */
029: package com.sun.jbi.management;
030:
031: import javax.management.ObjectName;
032:
033: /**
034: * This InstallationServiceMBean extends the public InstallationService interface.
035: * This has additional operations to :
036: * <br/>
037: * <ul>
038: * <li> Install a component from the repository </li>
039: * <li> Install a shared library from the repository </li>
040: * <li> Allow forceful uninstall of shared libraries </li>
041: * </ul>
042: * @author Sun Microsystems, Inc.
043: */
044: public interface InstallationServiceMBean extends
045: javax.jbi.management.InstallationServiceMBean {
046: /**
047: * Load the installer for a component from the Repository. The component archive from
048: * the repository is uploaded to the target instance(s), loadNewInstaller() in
049: * invoked on the remote instance(s). The object name of the Installer MBean
050: * is returned.
051: * <br/>
052: * If the component is not there in the DAS repository a exception will
053: * be thrown.
054: *
055: * @param componentName - name of the registered component.
056: * @return the ObjectName of Installer MBean for the registered component
057: * @exception javax.jbi.JBIException if the component is not registered.
058: */
059: ObjectName loadInstallerFromRepository(String componentName)
060: throws javax.jbi.JBIException;
061:
062: /**
063: * Install a shared library from the Repository. The library archive from the
064: * repository is uploaded to the target instance(s) and installSharedLibrary() is
065: * invoked on the remote instance InstallationService with the uploaded file name.
066: * <br/>
067: * If the shared library is not there in the DAS repository an exception will
068: * be thrown.
069: *
070: * @param sharedLibraryName - name of the registered shared library.
071: * @return the shared library name
072: * @exception javax.jbi.JBIException if the shared library is not registered or
073: * uninstall fails.
074: */
075: String installSharedLibraryFromRepository(String sharedLibraryName)
076: throws javax.jbi.JBIException;
077:
078: /**
079: * Uninstall a previously installed shared library.
080: *
081: * @param slName the name of the shared name space to uninstall; must be
082: * non-null and non-empty
083: * @param keep if true the shared libray is not deleted from the domain.
084: * If false, the shared library is deleted from the repository
085: * if after this uninstall it is not installed on any targets.
086: * @return true if the uninstall was successful
087: */
088: boolean uninstallSharedLibrary(String slName, boolean keep);
089:
090: /**
091: * Upgrade a component. This is used to perform an update of the runtime
092: * files of a component without requiring undeployment of Service Assemblies
093: * with Service Units deployed to the component.
094: * @param componentName The name of the component.
095: * @param installZipURL The URL to the component archive.
096: * @return a status management message that contains component upgrade result
097: * @throws JBIException if there is a problem with the upgrade.
098: */
099: String upgradeComponent(String componentName, String installZipURL)
100: throws javax.jbi.JBIException;
101:
102: }
|