KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > proactive > examples > migration > AgentClient


1 /*
2 * ################################################################
3 *
4 * ProActive: The Java(TM) library for Parallel, Distributed,
5 * Concurrent computing with Security and Mobility
6 *
7 * Copyright (C) 1997-2002 INRIA/University of Nice-Sophia Antipolis
8 * Contact: proactive-support@inria.fr
9 *
10 * This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU Lesser General Public
12 * License as published by the Free Software Foundation; either
13 * version 2.1 of the License, or any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * Lesser General Public License for more details.
19 *
20 * You should have received a copy of the GNU Lesser General Public
21 * License along with this library; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
23 * USA
24 *
25 * Initial developer(s): The ProActive Team
26 * http://www.inria.fr/oasis/ProActive/contacts.html
27 * Contributor(s):
28 *
29 * ################################################################
30 */

31 package org.objectweb.proactive.examples.migration;
32
33 import org.apache.log4j.Logger;
34 import org.objectweb.proactive.ProActive;
35 import org.objectweb.proactive.core.config.ProActiveConfiguration;
36 import org.objectweb.proactive.core.descriptor.data.ProActiveDescriptor;
37 import org.objectweb.proactive.core.descriptor.data.VirtualNode;
38
39 /**
40  * This class is a client for a migratable Agent
41  */

42 public class AgentClient {
43     
44     
45     static Logger logger = Logger.getLogger(AgentClient.class.getName());
46
47   public static void main(String JavaDoc[] args) {
48     Agent myServer;
49     String JavaDoc nodeName, hostName;
50     ProActiveDescriptor proActiveDescriptor;
51     ProActiveConfiguration.load();
52     try {
53         
54           proActiveDescriptor = ProActive.getProactiveDescriptor("file:"+args[0]);
55             proActiveDescriptor.activateMappings();
56             
57  
58     VirtualNode agent = proActiveDescriptor.getVirtualNode("Agent");
59     String JavaDoc[] nodeList = agent.getNodesURL();
60      // Create an active server within this VM
61
myServer = (Agent)org.objectweb.proactive.ProActive.newActive(Agent.class.getName(), new Object JavaDoc[]{"local"});
62       // Invokes a remote method on this object to get the message
63
hostName = myServer.getName();
64      nodeName=myServer.getNodeName();
65      logger.info("Agent is on: host " + hostName+" Node " + nodeName);
66       
67       for(int i=0; i<nodeList.length;i++){
68       // Prints out the message
69
myServer.moveTo(nodeList[i]);
70       nodeName=myServer.getNodeName();
71       hostName=myServer.getName();
72       logger.info("Agent is on: host " + hostName+" Node " + nodeName);
73       }
74       myServer.endBodyActivity();
75     }
76       
77       catch (Exception JavaDoc e) {
78       logger.error("Could not reach/create server object");
79       e.printStackTrace();
80       System.exit(1);
81         }
82   }
83 }
84
85
86
Popular Tags