01: /**
02: * JOnAS: Java(TM) Open Application Server
03: * Copyright (C) 1999 Bull S.A.
04: * Contact: jonas-team@objectweb.org
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation; either
09: * version 2.1 of the License, or any later version.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: *
16: * You should have received a copy of the GNU Lesser General Public
17: * License along with this library; if not, write to the Free Software
18: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19: * USA
20: *
21: * Initial developer(s): Florent BENOIT & Ludovic BERT
22: * --------------------------------------------------------------------------
23: * $Id: EarService.java 5425 2004-09-14 14:45:58Z pelletib $
24: * --------------------------------------------------------------------------
25: */package org.objectweb.jonas.ear;
26:
27: import javax.naming.Context;
28:
29: import org.objectweb.jonas.service.Service;
30:
31: /**
32: * JOnAS EAR Service interface. This interface provides a description of an EAR
33: * service.
34: * @author Ludovic Bert
35: * @author Florent Benoit
36: */
37: public interface EarService extends Service {
38:
39: /**
40: * Deploy an EAR file with sending JAR file to the EJB container and WAR
41: * file to the WEB container.
42: * @param ctx the context which contains the configuration in order to
43: * deploy an EAR.
44: * @return The ObjectName of the J2EE Application MBean associated to the
45: * deployed EAR
46: * @throws EarServiceException if the deployment of the EAR failed.
47: */
48: String deployEar(Context ctx) throws EarServiceException;
49:
50: /**
51: * Undeploy an EAR by sending the request to the EJB container and to the
52: * WEB container.
53: * @param ctx the context which contains the configuration in order to
54: * undeploy an EAR.
55: * @throws EarServiceException if the undeployment of the EAR failed.
56: */
57: void unDeployEar(Context ctx) throws EarServiceException;
58:
59: /**
60: * Deploy an EAR, used by management applications via J2EEServer managed
61: * object
62: * @param fileName the fileName of the ear which must be be deployed.
63: * @return The ObjectName of the MBean associated to the deployed J2EE
64: * Application
65: * @throws Exception if the deployment of the EAR failed.
66: */
67: String deployEar(String fileName) throws Exception;
68:
69: /**
70: * Test if the specified filename is already deployed or not.
71: * @param fileName the name of the ear file.
72: * @return true if the ear is deployed, else false.
73: */
74: Boolean isEarDeployed(String fileName);
75:
76: /**
77: * Test if the specified unpack name is already deployed or not. This
78: * method is defined in the EarService interface.
79: * @param unpackName the name of the ear file.
80: * @return true if the ear is deployed, else false.
81: */
82: boolean isEarDeployedByUnpackName(String unpackName);
83:
84: /**
85: * Undeploy an EAR, used by management applications via J2EEServer managed
86: * object
87: * @param fileName the fileName of the ear which must be be undeployed.
88: * @throws Exception if the undeployment of the EAR failed.
89: */
90: void unDeployEar(String fileName) throws Exception;
91:
92: /**
93: * Return the Apps directory.
94: * @return The Apps directory
95: */
96: String getAppsDirectory();
97:
98: }
|