client.java

来自「weblogic应用全实例」· Java 代码 · 共 150 行

JAVA
150
字号
//声明这个类在包examples.wlec.ejb.simpapp中
package examples.wlec.ejb.simpapp;
//声明这个类引入的其它类
import javax.ejb.*;
import javax.naming.*;
import java.rmi.RemoteException;
import java.util.Hashtable;

/**
 * 这个类演示使用一个无状态SessionBean,调用一个IIOP句柄。包括:
 * 创建一个converter,转换字符串
 * 在EJB调用之间没有保持状态
 * 使用EJBean执行所有的调用
 * 查找JNDI树
 * 
 * <p>
 * 在weblogic.properties定义如下连接池
 * Demo IIOP pool
 *
 *   weblogic.CORBA.connectionPool.simplepool=\
 *     appaddrlist=//your host name:port # where the simpapp is running,\
 *     failoverlist=//your host name:port # where the simpapp is running,\
 *     minpoolsize=1,\
 *     maxpoolsize=3,\
 *     username=your user name,\
 *     userrole=role of the user,\
 *     domainname=simpapp
 * 
 *
 * 部署EJB
 * Demo ejb deployment 
 *   weblogic.ejb.deploy=c:/weblogic/classes/wlec_ejb_simpapp.jar
 * 
 */

public class Client {
  static String url       = "t3://localhost:7001";
  static String user      = null;
  static String password  = null;

  /**
  * 从命令行运行这个实例
  * @参数 WebLogicURL       服务器的URL,如 "t3://localhost:7001"
  * @参数 user              用户名, 缺省 null
  * @参数 password          用户密码, 缺省 null. 至少8个字符
  *
  */

  public static void main(String[] args) {

    System.out.println("\nBeginning simpapp.Client...\n");

    // 解析命令行参数
    if ((args == null) || (args.length == 0)) {} 
    else
      for (int i = 0; i < args.length; i++) {
        switch(i) {
          case 0:
            url = args[i];
            break;
          case 1:
            user = args[i];
            break;
          case 2:
            password = args[i];
            break;
          default:
        }
      }

    try {
  
      // 创建一个converter对象, 
      Context ctx = getInitialContext();
      //主接口
      ConverterHome converterH = (ConverterHome) ctx.lookup("simpapp.ConverterHome");
      //远程对象
      Converter converter = converterH.create();
    
      String inData = "It Works";
      System.out.println("Start of Conversion " + "for: " + inData);
  
      try {  
        // 小写
        System.out.println("\nConverting to lower case: " + inData);
        //调用小写方法
        ConverterResult res = converter.toLower(inData);
        System.out.println("\n...Converted: " + res.outData);

        // 大写
        System.out.println("\nConverting to upper case: " + inData);
        //调用大写方法
        res = converter.toUpper(inData);
        System.out.println("\n...Converted: " + res.outData);
      }
      
      catch (ProcessingErrorException pe) {
      //异常处理
        System.out.println("Processing Error: " + pe);
      } 
      catch (Exception e) {
      //其它异常处理	
        System.out.println(":::::::::::::: Error :::::::::::::::::");
        e.printStackTrace();
      }

      if (converter != null) {
        try {
          // 清除converter
  
          System.out.println("\nRemoving Converter");
          converter.remove();
        }
        catch (Exception e) {
        //异常处理
          System.out.println("Error removing converter ");
          e.printStackTrace();
        }
      }
    }
    catch (Exception e) {
    //其它异常处理
      System.out.println(":::::::::::::: Error :::::::::::::::::");
      e.printStackTrace();
    }
    System.out.println("\nEnd simpapp.Client...\n");
  }
 
  /**
  * 获取初始化上下文
  *
  * @返回                  Context
  * @异常               java.lang.Exception 
  */
  static public Context getInitialContext() throws Exception {
    Hashtable h = new Hashtable();
    h.put(Context.INITIAL_CONTEXT_FACTORY,
        "weblogic.jndi.WLInitialContextFactory");
    h.put(Context.PROVIDER_URL, url);
    if (user != null) {
      System.out.println ("user: " + user);
      h.put(Context.SECURITY_PRINCIPAL, user);
      if (password == null) 
      password = "";
      h.put(Context.SECURITY_CREDENTIALS, password);
    } 
    return new InitialContext(h);
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?