001: /**
002: * JOnAS: Java(TM) Open Application Server
003: * Copyright (C) 1999-2005 Bull S.A.
004: * Contact: jonas-team@objectweb.org
005: *
006: * This library is free software; you can redistribute it and/or
007: * modify it under the terms of the GNU Lesser General Public
008: * License as published by the Free Software Foundation; either
009: * version 2.1 of the License, or any later version.
010: *
011: * This library is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * Lesser General Public License for more details.
015: *
016: * You should have received a copy of the GNU Lesser General Public
017: * License along with this library; if not, write to the Free Software
018: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
019: * USA
020: *
021: * --------------------------------------------------------------------------
022: * $Id: AbsJWebContainerServiceImplMBean.java 6702 2005-05-05 16:09:14Z benoitf $
023: * --------------------------------------------------------------------------
024: */package org.objectweb.jonas.web;
025:
026: import java.rmi.RemoteException;
027: import java.util.List;
028: import java.util.Set;
029:
030: /**
031: * This interface provides a description for the web container management.
032: * @author Ludovic Bert
033: * @author Florent Benoit
034: * @author Michel-Ange Anton (Contributor)
035: */
036: public interface AbsJWebContainerServiceImplMBean {
037:
038: /**
039: * Register a WAR, this method is used for the JMX Management.
040: * @param fileName the name of the war to deploy.
041: * @throws RemoteException if rmi call failed.
042: * @throws JWebContainerServiceException if the registration of the WAR
043: * failed.
044: */
045: void registerWarMBean(String fileName) throws RemoteException,
046: JWebContainerServiceException;
047:
048: /**
049: * Unregister a WAR, this method is used for the JMX Management.
050: * @param fileName the name of the war to undeploy.
051: * @throws RemoteException if rmi call failed.
052: * @throws JWebContainerServiceException if the unregistration of the WAR
053: * failed.
054: */
055: void unRegisterWarMBean(String fileName) throws RemoteException,
056: JWebContainerServiceException;
057:
058: /**
059: * Return the list of installed web applications. The WAR files or the
060: * directories with expanded web application are searched in
061: * JONAS_BASE/webapps and all webapps directories 'autoload'.
062: * @return The list of WAR files or the directories with expanded web
063: * application found
064: * @throws Exception if the list can't be retrieved
065: */
066: List getInstalledWars() throws Exception;
067:
068: /**
069: * @return current number of wars deployed in the JOnAS server
070: */
071: Integer getCurrentNumberOfWars();
072:
073: /**
074: * This method is added temporarily. It will disapear when Wars will have
075: * their associated MBeans (when Wars will become manageable)
076: * @return the names of the wars currently deployed in the JOnAS server
077: */
078: Set getWarNames();
079:
080: /**
081: * Test if the specified filename is already deployed or not
082: * @param fileName the name of the war file.
083: * @return true if the war is deployed, else false.
084: */
085: boolean isWarLoaded(String fileName);
086:
087: /**
088: * Gets the name of the server which is the web container
089: * @return the name of the server which is the web container
090: */
091: String getServerName();
092:
093: /**
094: * Gets the version of the server which is the web container
095: * @return the version of the server which is the web container
096: */
097: String getServerVersion();
098:
099: /**
100: * Return the list of all loaded web applications.
101: * @return The list of deployed web applications
102: */
103: List getDeployedWars();
104:
105: /**
106: * Return the list of installed web applications ready to deploy.
107: * @return The list of deployable web applications
108: * @throws Exception if the deployable wars can't be returned
109: */
110: List getDeployableWars() throws Exception;
111:
112: /**
113: * Return the list of "autoload" directories for web applications.
114: * @return The list of all "autoload" directories
115: */
116: List getAutoloadDirectories();
117:
118: /**
119: * Return the WebApps directory.
120: * @return The WebApps directory
121: */
122: String getWebappsDirectory();
123:
124: }
|