KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > invocation > Invoker


1 /*
2 * JBoss, Home of Professional Open Source
3 * Copyright 2005, JBoss Inc., and individual contributors as indicated
4 * by the @authors tag. See the copyright.txt in the distribution for a
5 * full listing of individual contributors.
6 *
7 * This is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU Lesser General Public License as
9 * published by the Free Software Foundation; either version 2.1 of
10 * the License, or (at your option) any later version.
11 *
12 * This software is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this software; if not, write to the Free
19 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21 */

22 package org.jboss.invocation;
23
24 import java.rmi.Remote JavaDoc;
25
26 import org.jboss.proxy.Interceptor;
27
28 import org.jboss.util.id.GUID;
29
30 /**
31  * This invoker carries Invocation in the JMX target node.
32  *
33  * <p>
34  * The interface in the current JBoss can be implemented with Remote/local switches or
35  * with clustered invokers, this interface just masks the network details and the topology
36  * of the JMX nodes for the client proxies.
37  *
38  * @author <a HREF="mailto:marc@jboss.org">Marc Fleury</a>
39  * @version $Revision: 37459 $
40  *
41  * <p><b>Revisions:</b>
42  *
43  * <p><b>20011114 marc fleury:</b>
44  * <ul>
45  * <li>Initial check-in
46  * </ul>
47  */

48 public interface Invoker
49    extends Remote JavaDoc
50 {
51    /**
52     * A globaly unique identifier use to determine if an instance is local
53     * to the invoker.
54     */

55    GUID ID = new GUID();
56    
57    /**
58     * A free form String identifier for this delegate invoker, can be clustered or target node
59     * This should evolve in a more advanced meta-inf object
60     */

61    String JavaDoc getServerHostName() throws Exception JavaDoc;
62    
63    /**
64     * The invoke with an Invocation Object.
65     *
66     * <p>
67     * the delegate can handle network protocols on behalf of proxies (proxies delegate to these
68     * puppies). We provide default implemenations with JRMP/Local/Clustered invokers.
69     * The delegates are not tied to a type of invocation (EJB or generic RMI).
70     *
71     * @param invocation A pointer to the invocation object
72     * @return Return value of method invocation.
73     *
74     * @throws Exception Failed to invoke method.
75     */

76    Object JavaDoc invoke(Invocation invocation) throws Exception JavaDoc;
77 }
78
Popular Tags