| 
         
     
     | 
     | 
    
  
    | 
    实战JBOSS――教你写第一个EJB-----3 | 
   
  
     | 
   
  
     | 
   
  
    | 
     作者:未知  来源:月光软件站  加入时间:2005-2-28 月光软件站  | 
   
  
    部署我们的EJB
    部署EJB在JBOSS中是一件非常容易的事,你只需简单将HelloWorld.jar拷贝到c:\ jboss-3.2.6\server\default\deploy目录下就可以了。图解如下:
 
  
    这时,你可以切换到JBOSS运行的那个DOS窗口下,你会发现屏幕上会新出现如下提示信息:
  
15:09:21,184 INFO [MainDeployer] Starting deployment of package: file:/F:/jboss -3.2.3/server/default/deploy/HelloWorld.jar 15:09:21,324 INFO [EjbModule] Creating 15:09:21,354 INFO [EjbModule] Deploying HelloWorld 15:09:21,464 INFO [EjbModule] Created 15:09:21,484 INFO [EjbModule] Starting 15:09:21,555 INFO [EjbModule] Started 15:09:21,555 INFO [MainDeployer] Successfully completed deployment of package: file:/F:/jboss-3.2.6/server/default/deploy/HelloWorld.jar |      客户端代码
    如果没有客户端代码的话,那么EJB对我们来说几乎毫无用处。以下我们将编写客户端代码来调用这个HelloWorld。
    如果你在同一台机器上运行客户端代码和JBOSS服务器的话,那以下代码无须任何修改就可以运行,但你的客户端在另一台机器上运行的话,那你要将源码中的相应行改变一下:
  
/*以下是客户端源码中需要修改的行*/ env.put(Context.PROVIDER_URL, "localhost:1099"); |      假设EJB部署在一台IP地址为192.168.0.1的机器上,那么就应该将以上源码改为如下:
  
/*以下是客户端源码中修改后的行*/ env.put(Context.PROVIDER_URL, "192.168.0.1:1099");
  /*HelloWorldClient.java*/ package sample; import javax.naming.Context; import javax.naming.InitialContext; import java.util.Hashtable; public class HelloWorldClient {  public static void main( String [] args )  {   Hashtable env = new Hashtable();   env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");   env.put(Context.PROVIDER_URL, "localhost:1099");   env.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");   try   {    Context ctx = new InitialContext(env);    Object obj = ctx.lookup( "HelloWorld" );    HelloWorldHome home =(HelloWorldHome)javax.rmi.PortableRemoteObject.narrow( obj, HelloWorldHome.class );    HelloWorld helloWorld = home.create();    System.out.println( helloWorld.hello());    helloWorld.remove();   }   catch ( Exception e )   {    e.printStackTrace();    System.out.println( "Exception: " + e.getMessage() );   }  } } |   
  
    好了,下面我就就可以编译并运行这个客户端了,如果你在编译的时候JVM报告找不到某些类的话,则可能是你没有将j2ee.jar这个包放在CLASSPATH这个路径变量中。客户端的执行结果虽然只是简单的在屏幕上打印一行“hello,world”,但它是来自于另一个世界 ——JBOSS的声音!
  
 
  | 
   
  
     | 
   
  
     相关文章:相关软件:  | 
   
   
      |