KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > ubik > rmi > examples > StatelessFoo


1 package org.sapia.ubik.rmi.examples;
2
3 import org.sapia.ubik.rmi.naming.remote.RemoteInitialContextFactory;
4 import org.sapia.ubik.rmi.naming.remote.discovery.ServiceDiscoListener;
5 import org.sapia.ubik.rmi.naming.remote.discovery.ServiceDiscoveryEvent;
6 import org.sapia.ubik.rmi.naming.remote.proxy.ReliableLocalContext;
7 import org.sapia.ubik.rmi.server.Log;
8 import org.sapia.ubik.rmi.server.Stateless;
9
10 import java.rmi.RemoteException JavaDoc;
11
12 import java.util.Properties JavaDoc;
13
14 import javax.naming.*;
15
16
17 /**
18  * @author Yanick Duchesne
19  * <dl>
20  * <dt><b>Copyright:</b><dd>Copyright &#169; 2002-2003 <a HREF="http://www.sapia-oss.org">Sapia Open Source Software</a>. All Rights Reserved.</dd></dt>
21  * <dt><b>License:</b><dd>Read the license.txt file of the jar or visit the
22  * <a HREF="http://www.sapia-oss.org/license.html">license page</a> at the Sapia OSS web site</dd></dt>
23  * </dl>
24  */

25 public class StatelessFoo implements Foo, Stateless, ServiceDiscoListener {
26   public StatelessFoo() throws java.rmi.RemoteException JavaDoc {
27   }
28
29   /**
30    * @see org.sapia.ubik.rmi.Foo#getBar()
31    */

32   public Bar getBar() throws RemoteException JavaDoc {
33     return new StatelessUbikBar(hashCode());
34   }
35
36   /**
37    * @see org.sapia.ubik.rmi.naming.remote.discovery.ServiceDiscoListener#onServiceDiscovered(ServiceDiscoveryEvent)
38    */

39   public void onServiceDiscovered(ServiceDiscoveryEvent evt) {
40     System.out.println("Discovered : " + evt);
41   }
42
43   public static void main(String JavaDoc[] args) {
44     try {
45       Log.setWarning();
46
47       //PerfAnalyzer.getInstance().setEnabled(true);
48
Properties JavaDoc props = new Properties JavaDoc();
49       props.setProperty(InitialContext.PROVIDER_URL, "ubik://localhost:1099/");
50       props.setProperty(InitialContext.INITIAL_CONTEXT_FACTORY,
51         RemoteInitialContextFactory.class.getName());
52
53       InitialContext ctx = new InitialContext(props);
54
55       ReliableLocalContext.currentContext().addServiceDiscoListener(new StatelessFoo());
56
57       StatelessFoo foo = new StatelessFoo();
58       ctx.rebind("Foo", foo);
59
60       System.out.println("StatelessFoo started... @ " +
61         Integer.toHexString(foo.hashCode()));
62
63       while (true) {
64         Thread.sleep(10000);
65       }
66     } catch (Throwable JavaDoc t) {
67       t.printStackTrace();
68     }
69   }
70 }
71
Popular Tags