实战JBOSS――教你写第一个EJB-----3

类别:Java 点击:0 评论:0 推荐:
部署我们的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的声音!

本文地址:http://com.8s8s.com/it/it12869.htm