论坛登陆 用户名:  密 码:
设为首页  加入收藏
08年北京名校秋季招生
名牌院校免试入学宽进严出,突破考分限制,名校与你零距离,以下院校按报名先后顺序录取,24小时网上报名覆盖全国
  您现在的位置: 中国教育招生在线 >> IT >> JAVA认证 >> IT正文
教您怎样部署基于WebSphere的J2EE应用
 作者:佚名     2007-3-14 17:11:13        来源:不详  浏览次数:

 

 

 

 

 

 

 

 

J2EE应用的部署对于部署人员而言是一件很有意义的事情。现有的应用服务器一般都支持基于Web,或热部署,或通过部署工具的方式来完成应用的部署。WebSphere Application Server 5.x提供了应用编程接口实现J2EE应用的部署和管理。

一、WebSphere部署概述

一般情况下,部署基于J2EE的应用需要做这样几件事情:首先,创建数据源,其中需要指定JNDI名;其次,修改企业应用.ear文件的资源JNDI名和资源参考;第三,修改企业应用.ear文件的EJB JNDI名和引用参考;第四,自动部署修改后的企业应用.ear文件。最后,重起WebSphere服务器。

这样几个步骤如果手工完成,在EJB组件不是很多、资源参考和引用参考不是很多的情况下,基本上能够很快完成。但是,大家试想,如果同样的一套应用程序要运行在同一个WebSphere应用服务器上,而且其中的EJB组件、涉及到的JNDI名修改和资源(引用)修改很多时,我们就需要借助于程序自动完成整个过程了。借助于WebSphere提供的Java接口(基于JMX技术)能够很好的处理其中的过程。这里就根据部署过程给出大体过程(由于整个过程比较复杂,这里只是给出主要思路)。

二、数据源的自动创建

这个过程将主要涉及到这样几方面的内容:

第一:找出WebSphere服务器上所具有的数据源,看看其名称是否和我们将配置的有冲突。
第二:如果没有,则我们程序创建所需的数据源。
第三:如果待创建数据源的JDBC Provider都不存在,则在第一、二步之前应该先创建。
通过这样几步过程,我们能够实现数据源的自动创建。

下面给出示例代码:

创建AdminClient:
      Properties props = new Properties(); 
      props.setProperty(AdminClient.CONNECTOR_TYPE, 
                        AdminClient.CONNECTOR_TYPE_SOAP); 
      props.setProperty(AdminClient.CONNECTOR_HOST, ipAddress); 
      props.setProperty(AdminClient.CONNECTOR_PORT, port); 
      AdminClient adminClient = 
          AdminClientFactory.createAdminClient(props); 
定位现有的JDBC Provider: 
      ConfigService configService = new ConfigServiceProxy(adminClient); 
      Session session = new Session(); 
      ObjectName[] provider = configService.resolve(session, 
          "Cell=" + cell + ":Node=" + node + ":JDBCProvider"); 
      ObjectName db2Provider = null; 
      for (int i = 0; i < provider.length; i++) { 
        String jdbcProviderName = (String) configService.getAttribute(session, 
            provider[i], "name"); 
        if (jdbcProviderName.equals("xxx JDBC Provider")) { 
          db2Provider = provider[i]; 
          break; 
        } 

      }

保存创建数据源操作:

configService.save(session, true); 
configService.discard(session);

三、J2EE应用(.ear)的自动修改

这一部分一般可以通过如下步骤完成:

第一:修改JNDI相关内容。

第二:获得AppDeploymentTask任务。

第三:保存AppDeploymentTask任务。

第四:修改web-context。利用JAXP、JDOM等都可以完成。

四、J2EE应用(.ear)的自动部署

这一部分一般可以通过如下步骤完成:

第一,实现NotificationListener。

第二,部署.ear应用。

示例代码如下:

实现NotificationListener:

    public void handleNotification(Notification notf, Object handback) { 
      try{ 
      AppNotification ev = (AppNotification) notf.getUserData(); 
      if (ev.taskName.equals(AppNotification.INSTALL)) { 
        if (ev.taskStatus.equals(AppNotification.STATUS_COMPLETED)) { 
          System.out.println("install succeeded .. remove listener"); 
          adminClient.removeNotificationListener(appMgmtMbean,listener); 
          isFinish=true; 
        } 
        else if (ev.taskStatus.equals(AppNotification.STATUS_FAILED)) { 
          adminClient.removeNotificationListener(appMgmtMbean,listener); 
          System.out.println("install failed .. remove listener"); 
          isFinish=true; 
        } 
        else { 
          System.out.println("other message..."); 
        } 
      } 
      }catch(Exception ex){ 
        ex.printStackTrace(); 
      } 
    }

这样我们就实现了J2EE应用的自动部署。

(T117)


责任编辑:lss
  相关新闻
怎样学习C语言
CCIE是怎样炼成的—我到北京考试的经历
怎样才能阻止用户打开加密信息?
专家教您如何避免重启你的应用程序
怎样配置具有SSL保护的FTP服务器
怎样在Java应用程序中监视CPU的使用状况
怎样在Linux下Tomcat与Apache服务器集成
教您怎样在Web应用中动态创建PDF文件
怎样成为优秀的软件模型设计者?
详解怎样使用Axis开发Web Service的实例
怎样学习C语言
CCIE是怎样炼成的—我到北京考试的经历
教您如何用Struts向数据库中储存图片
教您在J2ME中访问dotnet Web Services
教您怎样在Web应用中动态创建PDF文件
详解怎样使用Axis开发Web Service的实例
详解怎样使用Axis开发Web Service的实例
速食时代:教您三分钟开发一个J2EE应用
怎样成为优秀的软件模型设计者?
教您如何在Linux下配置Java开发环境详述
  评论
现在有100人对本文发表评论
查看所有评论
 
推  荐
 
100本成功必读热销书
热门招生
  北京文理研修学院   前进大学
  北京明园大学   北京建设大学
  北京邮电大学世纪学院   北方工商管理学院
  联想软件定向委培班   香港数码动画学院
  青年企业管理研修学院   北京华夏管理学院
热门培训
网络化办公专家培训认证 电子科技大学软件学院
软件测试工程师培训认证 北大青鸟十大授权培训
IT硬件工程师培训认证班 北京环球雅思荷兰预科
JAVA开发工程师培训 潜能时代IT服务管理培训
网络信息化工程师培训 清华大学继续教育学院
论坛精选
 
有些细节是男人也该注意的风度!最容易读错的字
某强人手机里保存的30条短信 中国十大高薪职业
最感人的十大韩剧经典台词 嫁给工程师的N个理由
爆强!只有一句话的鬼故事 转贴教你如何做妖精
 女人一定要記住的話 女人最好别嫁给最爱的男人
城市联盟
 大连 上海 天津 广州 西安 深圳  天津  青岛  大连  福州  沈阳  青海  连云港  南京  吉林  厦门  威海  辽宁  呼和浩特
Copyright © 2006   www.edu999.com   All rights reserved. 中国教育招生在线  版权所有
北京市通信管理局[2004]字第552号函    京ICP证040442号