注册 | 登录
收藏 | 帮助
热门文章
编辑推荐
相关文章  
入侵攻击实战中被利用的端口
密码攻防实战大演习之CMOS密码篇
克敌制胜: 媒体文件木马攻防实战
攻防实战:注水漏洞的利用和防范
服务器性能评估的实战技巧
修复SQLSERVER2000数据库之实战经
Jboss下MS SQL Server配置指导
详述Win XP SP2防火墙实战策略
过五关斩六将:实战WinXP SP2防火
实战破解Win Vista Beta 2的本地
您现在的位置: 顶尖设计 >> IT学院 >> 编程开发 >> Java >> 文章正文
实战JBOSS――教你写第一个EJB-----3
作者:佚名  来源:不详  点击:  更新:2006-12-19
简介:
部署我们的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的声音!






  • 上一篇文章:
  • 下一篇文章:
  • 分享此文:该页面添加到 Mister Wong 添加到雅虎Yahoo!收藏 Add to:Del.icio.us Post to Furl Digg this 添加到Google书签 reddit spurl blogmarks 365Key 评论  收藏  分享  打印
     我来说两句
    姓名:       验证码:   
    主页: 
    评分: 1分 2分 3分 4分 5分
    本频道近期热评文章:
      关于我们 | 联系我们 | 站点地图 | 广告投放 | 友情链接 | 在线留言 | 版权申明
    版权所有 © 2004-2007 顶尖设计(bobd.cn)
    未经授权禁止转载,摘编,复制本站内容或建立镜像. 沪ICP备07504942号 
    网络110
    报警服务