部署基于WebSphere的Java EE应用

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);

时间: 2024-11-08 22:27:23

部署基于WebSphere的Java EE应用的相关文章

用JMX部署基于WebSphere的J2EE企业应用

J2EE应用的部署对于部署人员而言是一件很有意义的事情.现有的应用服务器一般都支持基于Web,或热部署,或通过部署工具的方式来完成应用的部署.WebSphere Application Server 5.x提供了应用编程接口实现J2EE应用的部署和管理.本文就为这样的一个目标而写. 一.WebSphere部署概述 一般情况下,部署基于J2EE的应用需要做这样几件事情:首先,创建数据源,其中需要指定JNDI名:其次,修改企业应用.ear文件的资源JNDI名和资源参考:第三,修改企业应用.ear文件

《Java EE 7精粹》—— 1.2 可交付成果

1.2 可交付成果 Java EE 7平台是遵从JCP 2.9作为JSR 342而开发的.JCP过程对每一个JSR定义了以下三个主要可交付成果. 1.2.1 规范(Specification) 描述了被提议的组件及其功能的一份正式的文件. 1.2.2 参考实现(RI) 对被提议的规范的二进制实现.参考实现有助于确保被提议的规范能以一个二进制形式实现,并为规范过程提供不断的反馈. Java EE的参考实现建立在GlassFish社区中. 1.2.3 技术兼容包(TCK) 用于验证参考实现是否符合被

WebSphere Application Server V7.0新特性及各Java EE标准版本支持之对比

WebSphere Application Server V7.0新特性及各Java EE标准版本支持之对比 Application Server Network Deployment, Version 7.0 Operating Systems: AIX, HP-UX, i5/OS, Linux, Solaris, Windows, z/OS Specifications and API documentation 对比的WebSphere版本如下: Version 7.0 Version 6

在myeclipse中制作能部署到websphere上的java web程序教程制作ear

前言:自己用myeclipse写的web 程序,放到tomcat下那是手到擒来,兵来土掩,可是放到了websphere该如何放呢,有朋友说了,打个war包扔进去呗,嗯,说者无意,听者倒是问了,那么师傅,怎么个仍法,这...着实是个技术活,百度之,无果,再百度,发现还是自己摸索吧~~ 首先,websphere 6.1 现在用着比较普遍,websphere 7.x用的不是很多,那么先做针对websphere 6.x系列的教程再说,我们平时做项目一般都是在myeclipse里写好程序,然后我们把写好的

ejb-请问基于Java EE的构件规范设计开发构件,指的是使用EJB框架开发构件吗?

问题描述 请问基于Java EE的构件规范设计开发构件,指的是使用EJB框架开发构件吗? 我现在要完成的任务是开发一个可重用构件,这个构件要实现的功能是系统中一个数据处理模块.要求在Java EE 支撑平台下开发.我现在不太能理解这个构件的开发过程.查了资料得知javabean和ejb都可以用Java语言开发组件.javabean比较简单是一般和JSP配合的,开发比较小型的组件使用的.EJB更为复杂功能也全面,但是我的这个系统不是分布式的,也不需要与服务器进行交互.用EJB开发是不是有些不机智?

IntelliJ 14怎么把java ee项目部署到tomcat的webapp目录下?

问题描述 IntelliJ 14怎么把java ee项目部署到tomcat的webapp目录下? IntelliJ idea 14,创建的java ee项目如何发布到tomcat的webap目录下面??有木有大侠可以说说或者详细的帖子教程,intellij如何创建java ee项目的?抱着好奇心第一次去使用intellij,完全不懂 解决方案

微服务:Java EE的掘墓人

在Java问世之初,包括IBM.BEA.Oracle在内的一些巨头公司看到了Java作为一门杰出的Web编程语言可能给他们带来的巨大商机.那么如何通过一门编程语言来赚钱呢?答案就是使用这门语言构建复杂无比的服务器,让那些大公司支付一大笔费用来购买这些服务器.于是紧接着就出现了Java EE规范.JSR规范,以及WebLogic.WebSphere等服务器中间件. 在这些服务器上面部署了大型的程序包,它们运行缓慢,消耗大量的内存.基于这些容器的开发和调试对开发人员来说简直就是噩梦,作为对他们的补偿

应用容器云:接过Java EE的枪

本文根据DCOS联盟第4期线上分享整理而成   讲师介绍宋潇男 普元云计算架构师     曾任职华为,负责云计算产品与解决方案的规划与管理,十年以上分布式系统和中间件技术经验,熟悉HPC.同格计算.云计算实战.   主题大纲: 1.回顾Java EE的发展 2.揭示Java EE的根本性缺陷 3.从Java EE的角度看应用容器云 4.对未来的展望   大家好,首先自我介绍一下.     我来自普元软件,对Unix和云计算技术比较熟悉,而所在公司的传统业务是中间件,在这个背景下,我对眼下的容器热

Java EE 即将死去,毫无疑问!

在Java问世之初,包括IBM.BEA.Oracle在内的一些巨头公司看到了Java作为一门杰出的Web编程语言可能给他们带来的巨大商机.那么如何通过一门编程语言来赚钱呢?答案就是使用这门语言构建复杂无比的服务器,让那些大公司支付一大笔费用来购买这些服务器.于是紧接着就出现了Java EE规范.JSR规范,以及WebLogic.WebSphere等服务器中间件. 在这些服务器上面部署了大型的程序包,它们运行缓慢,消耗大量的内存.基于这些容器的开发和调试对开发人员来说简直就是噩梦,作为对他们的补偿