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

Java编程

开发平台:

Java

  1. package userjmssesenbdb;
  2. import com.cwj.userjmssesenbdb.*;
  3. import javax.naming.*;
  4. import java.util.Properties;
  5. import javax.rmi.PortableRemoteObject;
  6. public class SessBeanTestClient1 extends Object {
  7.   private static final String ERROR_NULL_REMOTE = "Remote interface reference is null.  It must be created by calling one of the Home interface methods first.";
  8.   private static final int MAX_OUTPUT_LINE_LENGTH = 100;
  9.   private boolean logging = true;
  10.   private SessHome sessHome = null;
  11.   private Sess sess = null;
  12.   //Construct the EJB test client
  13.   public SessBeanTestClient1() {
  14.     initialize();
  15.   }
  16.   public void initialize() {
  17.     long startTime = 0;
  18.     if (logging) {
  19.       log("Initializing bean access.");
  20.       startTime = System.currentTimeMillis();
  21.     }
  22.     try {
  23.       //get naming context
  24.       Context context = getInitialContext();
  25.       //look up jndi name
  26.       Object ref = context.lookup("SessBean");
  27.       //look up jndi name and cast to Home interface
  28.       sessHome = (SessHome) PortableRemoteObject.narrow(ref, SessHome.class);
  29.       sessHome.create().insTableAa11("2", "S");
  30.       if (logging) {
  31.         long endTime = System.currentTimeMillis();
  32.         log("Succeeded initializing bean access through Home interface.");
  33.         log("Execution time: " + (endTime - startTime) + " ms.");
  34.       }
  35.     }
  36.     catch(Exception e) {
  37.       if (logging) {
  38.         log("Failed initializing bean access.");
  39.       }
  40.       e.printStackTrace();
  41.     }
  42.   }
  43.   private Context getInitialContext() throws Exception {
  44.     String url = "t3://TsingHuaSQL:7001";
  45.     String user = null;
  46.     String password = null;
  47.     Properties properties = null;
  48.     try {
  49.       properties = new Properties();
  50.       properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
  51.       properties.put(Context.PROVIDER_URL, url);
  52.       if (user != null) {
  53.         properties.put(Context.SECURITY_PRINCIPAL, user);
  54.         properties.put(Context.SECURITY_CREDENTIALS, password == null ? "" : password);
  55.       }
  56.       return new InitialContext(properties);
  57.     }
  58.     catch(Exception e) {
  59.       log("Unable to connect to WebLogic server at " + url);
  60.       log("Please make sure that the server is running.");
  61.       throw e;
  62.     }
  63.   }
  64.   //----------------------------------------------------------------------------
  65.   // Methods that use Home interface methods to generate a Remote interface reference
  66.   //----------------------------------------------------------------------------
  67.   public Sess create() {
  68.     long startTime = 0;
  69.     if (logging) {
  70.       log("Calling create()");
  71.       startTime = System.currentTimeMillis();
  72.     }
  73.     try {
  74.       sess = sessHome.create();
  75.       if (logging) {
  76.         long endTime = System.currentTimeMillis();
  77.         log("Succeeded: create()");
  78.         log("Execution time: " + (endTime - startTime) + " ms.");
  79.       }
  80.     }
  81.     catch(Exception e) {
  82.       if (logging) {
  83.         log("Failed: create()");
  84.       }
  85.       e.printStackTrace();
  86.     }
  87.     if (logging) {
  88.       log("Return value from create(): " + sess + ".");
  89.     }
  90.     return sess;
  91.   }
  92.   //----------------------------------------------------------------------------
  93.   // Methods that use Remote interface methods to access data through the bean
  94.   //----------------------------------------------------------------------------
  95.   public void insTableAa11(String shancbz, String xiwbz) {
  96.     if (sess == null) {
  97.       System.out.println("Error in insTableAa11(): " + ERROR_NULL_REMOTE);
  98.       return ;
  99.     }
  100.     long startTime = 0;
  101.     if (logging) {
  102.       log("Calling insTableAa11(" + shancbz + ", " + xiwbz + ")");
  103.       startTime = System.currentTimeMillis();
  104.     }
  105.     try {
  106.       sess.insTableAa11(shancbz, xiwbz);
  107.       if (logging) {
  108.         long endTime = System.currentTimeMillis();
  109.         log("Succeeded: insTableAa11(" + shancbz + ", " + xiwbz + ")");
  110.         log("Execution time: " + (endTime - startTime) + " ms.");
  111.       }
  112.     }
  113.     catch(Exception e) {
  114.       if (logging) {
  115.         log("Failed: insTableAa11(" + shancbz + ", " + xiwbz + ")");
  116.       }
  117.       e.printStackTrace();
  118.     }
  119.   }
  120.   //----------------------------------------------------------------------------
  121.   // Utility Methods
  122.   //----------------------------------------------------------------------------
  123.   private void log(String message) {
  124.     if (message == null) {
  125.       System.out.println("-- null");
  126.       return ;
  127.     }
  128.     if (message.length() > MAX_OUTPUT_LINE_LENGTH) {
  129.       System.out.println("-- " + message.substring(0, MAX_OUTPUT_LINE_LENGTH) + " ...");
  130.     }
  131.     else {
  132.       System.out.println("-- " + message);
  133.     }
  134.   }
  135.   //Main method
  136.   public static void main(String[] args) {
  137.     SessBeanTestClient1 client = new SessBeanTestClient1();
  138.     // Use the client object to call one of the Home interface wrappers
  139.     // above, to create a Remote interface reference to the bean.
  140.     // If the return value is of the Remote interface type, you can use it
  141.     // to access the remote interface methods.  You can also just use the
  142.     // client object to call the Remote interface wrappers.
  143.   }
  144. }