1 /* 2 * Copyright (c) 1998-2002 The Jgroup Team. 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU Lesser General Public License version 2 as 6 * published by the Free Software Foundation. 7 * 8 * This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU Lesser General Public License for more details. 12 * 13 * You should have received a copy of the GNU Lesser General Public License 14 * along with this program; if not, write to the Free Software 15 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 16 * 17 */ 18 19 package jgroup.core; 20 21 import java.rmi.Remote; 22 23 /** 24 * In Jgroup, an <i>external remote interface</i> is an interface that 25 * declare a set of methods implemented by an object group that may be 26 * invoked from a remote Java virtual machine. An external remote 27 * interface must satisfy the following conditions: 28 * 29 * <UL> 30 * <LI>It must at least extend, either directly or indirectly, the 31 * interface <code>ExternalGMIListener</code>. </LI> 32 * <LI>Each remote method declaration in the external remote interface 33 * must include the exception <code>java.rmi.RemoteException</code> in 34 * its <i>throws</i> clause, in addition to any application-specific 35 * exceptions (note that application-specific exceptions do not have to 36 * extend <code>java.rmi.RemoteException</code>). </LI> 37 * </UL> 38 * 39 * The <code>ExternalGMIListener</code> is a marker interface that 40 * declares no methods. 41 * 42 * @author Alberto Montresor 43 * @since Jgroup 0.9 44 */ 45 public interface ExternalGMIListener 46 extends Remote 47 { 48 }