deamon.java
来自「《移动Agent技术》一书的所有章节源代码。」· Java 代码 · 共 125 行
JAVA
125 行
package jianguan;
import com.ibm.aglet.*;
import com.ibm.aglet.system.*;
import java.net.URL;
import java.util.Properties;
import com.ibm.awb.util.Resource;
import com.ibm.atp.daemon.Daemon;
//added
import java.io.*;
import java.net.*;
import java.util.*;
import com.ibm.aglet.event.*;
public class deamon extends ContextAdapter {
public void agletCreated(ContextEvent ev) {
System.out.println("Aglet Created : " + ev.getAgletProxy());
}
public void agletCloned(ContextEvent ev) {
System.out.println("Aglet Cloned : " + ev.getAgletProxy());
}
public void agletArrived(ContextEvent ev) {
System.out.println("Aglet Arrived : " + ev.getAgletProxy());
}
public void agletActivated(ContextEvent ev) {
System.out.println("Aglet Activated : " + ev.getAgletProxy());
}
public void agletDisposed(ContextEvent ev) {
System.out.println("Aglet Disposed : " + ev.getAgletProxy());
}
public void agletDispatched(ContextEvent ev) {
System.out.println("Aglet Dispatched : " + ev.getAgletProxy());
}
public void agletDeactivated(ContextEvent ev) {
System.out.println("Aglet Deactivated : " + ev.getAgletProxy());
}
public void agletReverted(ContextEvent ev) {
System.out.println("Aglet Reverted : " + ev.getAgletProxy());
}
public void showMessage(ContextEvent ev) {
System.out.println("message : " + ev.getMessage());
}
public static void main(String args[]) throws java.lang.Exception {
//added
//end add
com.ibm.atp.daemon.Main.importOptions(args);
//
// Create and initialize a server.
//
Daemon daemon = Daemon.init(null);
daemon.setAccessLogStream(System.out);
daemon.setMessageLogStream(System.out);
daemon.setErrorLogStream(System.err);
//
// Obtains a runtime object
//
AgletRuntime runtime = AgletRuntime.init(null);
//
// Creates a named context. To dispatch to this context, you have to
// specify the destination, for example,
// "atp://aglets.trl.ibm.com:434/test"
//
AgletContext cxt = runtime.createAgletContext("test");
cxt.addContextListener(new deamon());
// If you want to allow incoming aglets to use GUI.
// initialize gui....
try {
Class.forName("sun.awt.image.JPEGImageDecoder");
Class.forName("sun.audio.AudioPlayer");
} catch (Exception ex) {
ex.printStackTrace();
}
try {
Class.forName("sun.awt.PlatformFont"); // for 1.1
} catch (Exception ex) {
ex.printStackTrace();
}
try {
new java.awt.Frame().addNotify();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
}
try {
Class.forName("sun.awt.ScreenUpdater");
} catch (Throwable t) {
}
//
// Starts this server as aglets server.
//
daemon.start("aglets");
//
// Starts the AgletContext.
//
cxt.start();
//
// From here on, you can use this context.
// (creating, dispatching an aglet, for instance)
//
AgletProxy p = cxt.createAglet(null, "jianguan.Server",null);
//end add
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?