PortfolioClient.java
上传用户:dinglihq
上传日期:2013-02-04
资源大小:99958k
文件大小:2k
源码类别:

Java编程

开发平台:

Java

  1. package bible.ejb.session.example2;
  2. import weblogic.rmi.*;
  3. import java.util.*;
  4. import javax.naming.*;
  5. /**
  6.  * ResearchClient periodically asks server for research.
  7.  */
  8. public class PortfolioClient extends TimerTask implements Runnable {
  9.   /**
  10.    * Method run
  11.    *
  12.    *
  13.    */
  14.   public void run() {
  15.     System.out.println("PortfolioClient running:" + new Date());
  16.     try {
  17.       InitialContext         ctx      = Environment.getInitialContext();
  18.       Object                 objref   = ctx.lookup("AnalyzePortfolio");
  19.       AnalyzePortfolioHome   home     =
  20.         (AnalyzePortfolioHome) javax.rmi.PortableRemoteObject.narrow(objref,
  21.           AnalyzePortfolioHome.class);
  22.       AnalyzePortfolioRemote analyzer = home.create();
  23.       // Add some debts and some holdings.
  24.       analyzer.addHolding("BEAS", new Integer(20000));
  25.       analyzer.addHolding("WAG", new Integer(10000));
  26.       analyzer.addHolding("MSFT", new Integer(150));
  27.       analyzer.addDebt("Car Loan", new Integer(20000));
  28.       analyzer.addDebt("Mortgage", new Integer(30000));
  29.       // Ask for first analysis.
  30.       System.out.println(analyzer.getAnalysis());
  31.       // Add a big holding and ask for second analysis.
  32.       analyzer.addHolding("PETS", new Integer(200000));
  33.       System.out.println(analyzer.getAnalysis());
  34.       analyzer.remove();
  35.     } catch (Exception e) {
  36.       e.printStackTrace();
  37.       return;
  38.     }
  39.   }
  40.   /**
  41.    * Declare a new client and schedule it on a timer.
  42.    */
  43.   public static void main(String[] args) {
  44.     Timer           t      = new Timer();
  45.     PortfolioClient client = new PortfolioClient();
  46.     // Starting in 5 secs, run every 5 seconds.
  47.     t.schedule(client, 5000, 5000);
  48.   }
  49. }
  50. /*--- Formatted in Bible Style on Thu, Sep 6, '01 ---*/
  51. /*------ Formatted by Jindent 3.24 Gold 1.02 --- http://www.jindent.de ------*/