/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package javax.jbi.management; import javax.management.ObjectName; /** * The installation service MBean allows administrative tools to manage * component and shared library installations. The tasks supported are: *
* The "component name" refers to the
* <identification><name>
element value from the
* component's installation package (see {@link #loadNewInstaller(String)}).
*
* @param aComponentName 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
*/
ObjectName loadInstaller(String aComponentName);
/**
* Unload an InstallerMBean previously loaded for a component.
*
* @param aComponentName the component name identifying the installer to
* unload; must be non-null and non-empty
* @param isToBeDeleted true
if the component is to be deleted
* as well
* @return true if the operation was successful, otherwise false
*/
boolean unloadInstaller(String aComponentName, boolean isToBeDeleted);
/**
* 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 aSharedLibURI 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
*/
String installSharedLibrary(String aSharedLibURI);
/**
* Uninstall a previously installed shared library.
*
* @param aSharedLibName the name of the shared name space to uninstall; must be
* non-null and non-empty
* @return true if the uninstall was successful
*/
boolean uninstallSharedLibrary(String aSharedLibName);
}