| 
         
     
     | 
     | 
    
  
    | 
    如何在JBOSS(免费的EJB server)上发布EJB. | 
   
  
     | 
   
  
     | 
   
  
    | 
     作者:未知  来源:月光软件站  加入时间:2005-2-28 月光软件站  | 
   
  
    1.准备文件
  需要的软件:JDK1.3(for WIN) ,J2EE_1_2_1_SDK,JBoss2.0(www.jboss.org)
  需要的文档:J2EE_1_2_1_SDK_DOC,Devguide1_2_1
  2.准备环境
  安装JDK1.3(支持JBOSS),装完后检查一下环境变量,可以编译运行一个小程序试一下.
  安装JBOSS2.0,完成后运行bin\run.bat试一下.JNDI 端口是1099,WEB端口是8080,可以用浏览器试一下,1099端口会返回一段乱码,8080端口返回空.
  3.编译和打包
  按照JavaTM 2 Enterprise Edition Developer's Guide (v1.2.1)的Getting Started章中说的编译例子程序 ConverterEJB,然后用Deploy Tool打包生成 ConverterApp.ear.
  用jar -xvf ConverterApp.ear 从中抽取 ejb-jar-ic.jar 这是打包好的和Bean有关的三个文件和工具生成meta-info\*.xml文件(所谓的deployment descriptor). 
  然后运行JBoss的Deploy Tool打开ejb-jar-ic.jar,设置JNDI Name为MyConverter.然后保存.(该工具会自动生成JBoss的Deployment descriptor)
  在把ejb-jar-ic.jar拷到jboss\deploy目录下,jboss会自动发布该Bean..
 
  4.运行客户端程序测试 
  按照JBoss的教学文档,修改 ConverterClient.java为
  import javax.naming.*; import java.util.Hashtable; import javax.rmi.PortableRemoteObject; import java.util.Properties; import java.io.FileInputStream; import javax.rmi.PortableRemoteObject;
  import Converter; import ConverterHome;
  public class ConverterClient {
     public static void main(String[] args) {        try {
      Properties props = new Properties();     Properties sysProps = System.getProperties();     try        {         props.load (new FileInputStream ("test.properties"));                 sysProps.putAll(props);         }    catch (Exception e)                 {                             System.err.println ("Can't read `test.proprties'");                              System.exit (-1);             }     System.setProperties (sysProps);                          Context initial = new InitialContext();            Object objref = initial.lookup("MyConverter");
             ConverterHome home =                 (ConverterHome)PortableRemoteObject.narrow(objref,                                              ConverterHome.class);
             Converter currencyConverter = home.create();            double amount = currencyConverter.dollarToYen(200.00);            System.out.println(String.valueOf(amount));            amount = currencyConverter.yenToEuro(200.00);            System.out.println(String.valueOf(amount));
         } catch (Exception ex) {            System.err.println("Caught an unexpected exception!");            ex.printStackTrace();        }    }  } 
 
  test.properties文件内容如下 
  java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory java.naming.provider.url=xxx.xxx.xxx.xxx:1099 (写上JBoss所在机器的IP)
  然后运行CompileClient.bat和TestClient.bat,就可以享受成功的喜悦了. 
   
  
 
  | 
   
  
     | 
   
  
     相关文章:相关软件:  | 
   
   
      |