JBoss企业级应用服务平台群集指南

合集下载

jboss用法

jboss用法

JBoss是一个开源的应用服务器,主要用于Java应用。

以下是使用JBoss的一些基本步骤:
1. 安装和配置:首先,你需要下载并安装JBoss。

然后,创建一个配置文件来指定你想要在JBoss上运行的应用和环境变量。

2. 部署应用:将你的Java应用打包成WAR文件(Web Archive)或EAR文件(Enterprise Archive),然后将它们部署到JBoss。

你可以使用命令行工具或JBoss的管理界面来部署应用。

3. 启动和停止JBoss:使用命令行工具或管理界面来启动和停止JBoss。

如果你使用的是管理界面,你还可以监控应用的运行状态和性能。

4. 管理JBoss:通过管理界面,你可以管理JBoss的各种设置、查看日志文件、监控性能等。

5. 扩展JBoss:JBoss有许多可扩展的模块和插件,你可以根据需要安装它们来增强JBoss的功能。

在使用JBoss时,你需要注意一些事项。

例如,确保你的Java 应用使用了JBoss支持的Java版本和EE规范。

此外,你也需要注意JBoss的内存限制和线程数限制,以确保你的应用不会遇到性能问题。

Jboss 应用指南

Jboss 应用指南

不需要掌握有关 J2EE 或 JBoss 应用服务器的知识。但是, 我们强烈建议您最好掌握一些用 XML 配置来支持 Java 应用的知 识。
3. 课程目标
l l l l l l l l l 应用服务器概述 JBoss 应用服务器的安装 JBoss 应用服务器架构 JBoss 基本部署 JBoss 的配置 JBoss 产品的安装 JBoss 的生产部署 JBoss 及 J2EE 安全概念介绍 确保 JBoss 服务的安全
很特别的,当你碰到“OutOfMemoryError: PermGen space” 时,错误原因就很明显了。它是指加载了过多的 class ,以至 Permanent Space 空间不足,这是就需要调整 MaxPermSize 的参数 大小了。
3. 调整 Jboss Web 服务器的默认端口
参见第六单元-5:修改 HTTP 端口到默认端口 80
内部资料©
Java 开发工程师系列教程
课程编号:SST207
JBoss 系统管理基础
(2009 年 1 月)
班级编号: 学员编号: 学员姓名:
郑州学思科技有限公司
版权所有© 请勿翻印
JBoss 系统管理基础-SST207-V1.0
版权所有
请勿翻印
目录 第一单元 第二单元 第三单元 第四单元 第五单元 第六单元 第七单元 第八单元 课程简介····························································· 3 应用服务器 ························································ 4 JBoss 应用服务器的安装································ 7 一个 Web Application 的基本部署 ·············· 14 数据库配置 ······················································ 20 JBoss Server Web 应用配置·························· 25 JBoss 的生产部署 ·········································· 33 管理和监视 JBoss Server ······························ 41

Jboss应用服务器教程

Jboss应用服务器教程

Jboss应用服务器教程JBoss应用服务器是一种基于Java的开源应用服务器,它提供了构建、部署和管理Java应用程序的平台。

本教程将介绍JBoss应用服务器的基本知识和使用方法,帮助读者快速掌握JBoss的开发和管理技巧。

第一章:JBoss应用服务器简介1.1 什么是JBoss应用服务器JBoss应用服务器是一种基于JavaEE规范的开源应用服务器,它提供了一系列的容器和部署工具,用于开发、部署和管理Java应用程序。

JBoss应用服务器具有高性能、可扩展性和可靠性等特点,被广泛应用于企业级Java开发。

1.2 JBoss应用服务器的特点- 支持JavaEE规范:JBoss应用服务器完全支持JavaEE规范,包括EJB、Servlet、JSP等。

- 高性能:JBoss应用服务器使用了高效的线程池和连接池等技术,能够提供卓越的性能。

- 可扩展性:JBoss应用服务器的架构设计具有良好的可扩展性,可以根据需求添加新的模块或扩展现有功能。

- 安全性:JBoss应用服务器提供了丰富的安全机制,包括身份认证、权限控制等,保护应用程序的安全。

- 高可用性:JBoss应用服务器支持集群部署和负载均衡,提供了高可用性和容错能力。

1.3 JBoss应用服务器的版本目前最新的JBoss应用服务器版本是JBoss EAP(JBoss企业应用平台),它是JBoss应用服务器的商业版本,提供了更多的功能和支持。

此外,JBoss社区还提供了免费的开源版本,如JBoss AS、WildFly等。

第二章:JBoss应用服务器的安装与配置2.1 下载JBoss应用服务器在官方网站上下载适合您系统的JBoss应用服务器安装包,并解压到您的机器上。

2.2 配置JBoss应用服务器- 设置JAVA_HOME:将JAVA_HOME环境变量指向您的JDK安装路径。

- 配置JBoss服务器:根据您的需求修改JBoss的配置文件,如端口号、数据库连接等。

3_JBoss_EAP中文彩页

3_JBoss_EAP中文彩页
et_A4_1494586_0210_ma.indd 1
4/8/10 4:28:48 PM
好处 这是两全其美的选择。通过单个灵活的 Java 应用程序平台 支持多种流行的编程模型和部署风格,而对运行稳定性没有 任何影响。为集群、缓存、Web 服务、安全、消息传送和事 务处理而提供的企业服务可以通过一系列受支持的编程风格 (POJO、 Java EE 和 Spring)和框架轻松地进行配置和定制, 从而通过单个运行库平台支持各种常见类型的企业 Java 应 用程序。 在稳定性方面进行了创新。受益于最新的开放源代码创新, 这些创新在一系列主要的操作系统、芯片结构和数据库上进 行了企业级稳定性方面的测试和认证。JBoss Enterprise Application Platform 具有长久的产品支持生命周期,且以 认证的独立软件供应商 (ISV) 组成的广大合作伙伴“生态系 统”作为后盾,从而可以为任何任务关键型 Java 应用程序 提供稳定的、可支持的平台。 加快了应用程序的构建速度。从一开始就利用能够在一起搭 配使用的丰富 Web 技术和流行的开发人员生产率框架。消 除库配置的复杂性和冲突。利用灵活、易于使用的应用程序 平台来简化企业 Java 开发。JBoss Enterprise Application Platform 结合了 JBoss Developer Studio,可以提供完全集 成的开发环境,来帮助开发人员在整个应用程序开发生命周 期中提高工作效率。 符合标准且很灵活。在以一种灵活、开放的方式实施行业标准 的企业 Java 平台上开发和部署。JBoss Enterprise Application Platform 是纯粹的 Java 开放源代码解决方案,可为您提供 绝对的透明度,使您可以清楚地了解您的企业应用程序服务 器中的状况。通过具体了解您的软件如何实施各种标准、企 业功能和应用程序服务器功能,您可以定制配置、优化应用 程序和利用无以伦比的灵活性。 充分利用您的预算。通过采用包含企业 Java 应用程序所需 的所有内容的廉价解决方案来削减资本费用并降低经营成 本。JBoss Enterprise Application Platform 包含面向开发 人员和管理人员的生产工具,可为您提供稳定、可靠的平台, 并使中间件成本具有可预见性,从而降低应用程序的总拥有 成本。

Tomcat、Weblogic、Jboss、WebS

Tomcat、Weblogic、Jboss、WebS

Tomcat、Weblogic、Jboss、WebSWebsphere:这是ibm公司的网上的信息。

更详细的信息可以访问网站:产品家族和解决方案业务整合整合服务器提供了一套用于应用程序整合和业务流程自动化的中央基础设施。

应用服务器应用服务器提供了运行互操作应用程序的平台。

IBM Support for Apache Geronimo IBM Support for Apache Geronimo从Apache Software Foundation提供一个开源J2EE应用服务器WebSphere Application Server WebSphere Application Server为基础消息传递流和应用程序提供一个经济有效的整合基础平台WebSphere Application Server-Express为动态的随需应变应用程序提供J2EE和Web服务WebSphere Application Server Community Edition WebSphere Application Server Community Edition V1.1是IBM支持的基于开源的应用服务器。

WebSphere Extended Deployment WebSphere Extended Deployment WebSphere Extended Deployment V6.0创建了随需应变的基础设施,此基础设施跨事务和长期运行两种工作负载。

WebSphere Real Time WebSphere Real Time提供可预测的响应时间WebSphere Remote Server WebSphere Remote Server IBM WebSphere Remote Server V6.0是领先的面向服务的架构(SOA)平台,可用于专门为存储级设备和应用程序提供集成和支持的远程托管分布式环境,无论过去、现在还是未来。

JBPM指南(培训机构专用)

JBPM指南(培训机构专用)

第1介绍JBOSS jBPM是一个灵活的、可扩展的工作流管理系统。

JBOSS jBPM拥有直观的流程语言,用任务、异步的等待状态、定时器、自动化动作…等来表示业务流程图,把这些操作绑定在一起,JBOSS jBPM就拥有了非常强大和可扩展的控制流机制。

JBOSS jBPM只有最小的依赖,可以象使用java库一样非常容易的使用它。

另外,也可以通过把它部署在J2EE集群应用服务器中,用在吞吐量极为关键的环境中。

JBOSS jBPM可被配置为任何数据库,并且可以部署到任何应用服务器。

1.1 概述核心工作流和BPM功能被打包为一个简单的java库,这个库包括一个存储到数据库、从数据库更新和获取流程信息的服务。

图1.1 JBOSS jBPM组件概观1.2 JBOSS jBPM入门套件入门套件是一个包含了所有jBPM组件的下载包,包括:l Jbpm-server,一个预配置好的jboss应用服务器。

l Jbpm-designer,图形化设计jBPM流程的eclipse插件。

l Jbpm-db,jBPM数据库兼容包(见下文)。

l Jbpm,核心jbpm组件,包括库和本指南。

l Jbpm-bpel,JBOSS jBPM BPEL扩展参考。

预配置好的JBOSS应用服务器安装了下列组件:l核心的jBPM组件,被打包为了一个服务档案。

l一个包括jBPM库表的集成数据库:默认的hypersonic数据库包含了jBPM表,另外还包含一个流程。

l jBPM控制台web应用程序,可以由流程参与者使用,也可以由jBPM管理员使用。

l jBPM调度程序,用于定时器执行。

调度程序在入门套件中被配置为一个servlet,这个servlet 将产生一个线程来监视和执行定时器。

l jBPM命令执行器,用于命令的异步执行。

命令执行器也被配置为一个servlet,这个servlet 将产生一个线程来监视和执行命令。

l一个流程实例,已经被部署到了jBPM数据库中。

红帽公司jboss中间件产品说明

红帽公司jboss中间件产品说明

JBoss 企业级中间件套件JBoss Enterprise Middleware Suite适用于面向服务架构(SOA)的开源平台在当今竞争激烈的市场中,必须不断满足并超越客户、供应商和合作伙伴的需求。

除了要降低成本、优化运营效率以及增加投资回报率,甚至还必须满足内部受众的需求。

在争取成功的过程中,各大企业都非常清楚自己面临的挑战,那就是必须迅速改造数据中心基础架构、创造新的收入流以及快速部署既强大又灵活的模块化应用。

JBoss 企业级中间件套件(JEMS)是市场上领先的适用于面向服务架构(SOA)的开源平台。

它为创建和部署新的创收应用提供了一个具有高度可扩展性的产品套件。

由于 JEMS 从最初设计就以灵活性和自由选择性为宗旨,它不是典型的全能型单片式平台套件。

它以面向服务架构为基础,其中明确规定了即插即用其产品和服务的接口。

对于有意在一个经济有效的标准平台之上加强对其 IT 投资管理的企业而言,这一基本原则确保了他们可以以保护现有投资的方式实现上述目标。

现在就在 JEMS 上进行标准化建设,为大幅降低总体拥有成本并在打造和部署复杂企业应用领域取得重大飞跃而努力吧!优势及核心价值适用于面向服务架构的紧凑平台具有高度灵活性到目前为止,那些渴望实施面向服务架构并实现面向服务架构优势的企业仍面临着两难的抉择,要么是使用价格昂贵的单片式专有平台,要么是选择拼凑在一起的各种开放的、混杂的或专用组件。

与此相反,JEMS 是唯一一个由各种业内领先的开源中间件产品组成的套件,这些中间件产品紧密配合,既可以单独使用、混合和搭配使用,也可以作为一个完整的单元在面向服务架构中构建和部署应用、业务流程和 we b 服务。

Red Hat Copyright 2007 Red Hat, Inc.以即插即用的方式保护您的投资所有 JEMS 产品在设计上都以实现功能组件的可扩展性和可交换性为宗旨。

即插即用的 SOA 微核不但有助于自由选择所需的技术,还提供了更高的 IT 投资回报。

JBoss AS7 使用详解

JBoss AS7  使用详解

JBoss AS7 使用详解JBoss AS7新加入了域(domain)的概念并实现了相关功能。

域的提出及实现,其目的是使得多台JBoss AS服务器的配置可以集中于一点,统一配置、统一部署,从而在管理多台JBoss AS服务器时,实现集中管理。

本文详细介绍如何使用AS7的这一新特性。

一、域(Domain)的概念及其与群集(Cluster)的区别对于使用过的JBoss AS过往版本的用户,可能对AS所提供的集群功能已经很熟悉了,因此在理解域的时候可能会遇到一点困扰.那么域和集群有什么区别呢?在用法上有什么不同呢?总的来讲,JBoss的群集的目的是提供:负载平衡(Load Balance)高可用(High Availablity)而域的目的则是将多台服务器组成一个服务器组(Server Group),并为一个服务器组内的多台主机(Host)提供:单点集中配置(通过一个域控制器,即Domain Controller,实现组内主机的统一配置)单点统一部署,通过域控制器将项目一次部署至组内全部主机。

简单来讲,群集的目标是让多台服务器分摊压力,当一台或多台服务器当机时,服务可以继续保持运转;而域的目标则是提供集中配置和管理多台服务器的能力。

在没有域的概念时,要想让群集内的多台服务器或几组服务器保持统一的配置,一个一个分别的去手工维护,是非常麻烦的事情,而域的引入解决了这一问题。

我们可以理解域和群集的相互关系是"正交(orthogonal)"的:通过一横一竖这两条轴,JBoss AS为我们在运维方面提供了强大的可扩展能力。

二、实际测试实验熟悉了AS7中Domain的设计理念,接下来动手实际做个实验,看看Domain是如何在AS7中工作的。

2.1 准备工作使用两台电脑做为实验器材,两台电脑的IP分别为10.0.1.3 及10.0.1.18 ,分别运行JBoss AS7,并组成一个服务器组(Server Group)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.1.3负载均衡政策JBoss 客户端拦截器(stub)和负载平衡系统都使用了负载平衡策略来决定把新请求发送给哪个节点。

让我们来看看 JBoss AS 里的负载平衡策略。

1.1.3.1JBoss AS 3.0.x在JBoss 3.0.x中, 有以下两种负载均衡选项。

◆∙ Round-Robin (org.jboss.ha.framework.interfaces.RoundRobin): 每次调用都分派给新节点。

第一个目标节点从列表里随机选择。

◆∙ First Available (org.jboss.ha.framework.interfaces.FirstAvailable):选择其中一个可用目标节点作为主目标节点,用于每次调用:这个节点是在群集里的节点列表里随机选取的。

当目标节点的列表改变时(因为有节点启动或退出),除非当前选用的节点仍然可用,这个策略会重新选择一个目标节点。

每个客户端拦截器或者负载平衡系统都会根据自己的策略独立地选择目标节点。

1.1.3.2 JBoss AS 3.2+在 JBoss 3.2+ 里,有三个负载平衡策略可用。

其中 Round-Robin 和 Fir st Available 选项和 JBoss AS 3.0.x 里的一样。

JBoss 3.2 里的新的负载平衡选项是 "First AvailableIdenticalAllProx ies" (org.jboss.ha.framework.interfaces.FirstAvailableIdenticalAllPro xies)。

它与 "First Available" 有相同的行为,但选取的目标节点由所有同一 "family" 的客户端拦截器共享。

在 JBoss 3.2(或更新的版本)里定义了 "Proxy Family" 标识。

代理族(P roxy Family)是所有对同一被复制目标调用的 stub interceptors 的集合。

拿 EJB 来说,在给定群集里所有以同一 EJB 为目标的 stubs 属于同一代理族。

给定族里拦截器共享相同的目标节点的列表。

每个拦截器也能够与同一族里的其他拦截器共享任何信息。

在图 3.1, “在 EJB 2.x 中的Stateless Session Be an”里给出了代理族的一个用例。

1.1.4Farming部署把应用程序部署到群集里最简单的方法就是使用 farming 服务。

那就是在任何群集节点的all/farm/目录下热部署(hot-deploy)应用程序档案文件(如 EAR,WAR 或 SAR 文件),而且应用程序自动地在同一群集里的节点间复制。

如果节点后来才加入到群集里,它会引入群集里所有用 farm 部署的应用程序并在启动时把它们部署在本地。

如果你从某一正运行的群集节点的 farm/ 文件夹里把应用程序删除,这个应用程序将从本地移除并从所有其他群集服务器节点farm 文件夹移走(触发移除)。

对于当前未与群集系统相连的服务器节点,你应该手工地从 farm 文件夹里把应用程序删除。

在 JBoss AS 发行版本里,Farming 在 all 配置里是缺省被启用的,所以你不需要自己来设置它。

配置文件放在 deploy/st 目录下。

如果你想在自定义的配置文件里启用 farming,只需要建立如下所示的 XML 文件(farm-service.xml)并把它拷贝到 JBo ss 的 $JBOSS_HOME/server/your_own_config/deploy 目录下。

请确保你的自定义配置文件启用了群集系统。

在部署了 farm-service.xml 之后,下面所列是配置 farm 所需的 FarmMemberService MBean 属性。

◆∙ PartitionName指定了部署这个farm的群集的名字。

它的缺省值是 DefaultPartition。

◆∙ URLs指向部署者(deployer)用来观察文件部署的目录。

如果这个目录不存在,MBean 将创建它。

而且,"." 指向配置目录(也就是:$JBOSS_HOME/server/all/)。

◆∙ ScanPeriod指定了扫描文件夹变化的时间间隔。

它的缺省值是5000。

Farming 服务是 URLDeploymentScanner 的扩展,它扫描 deploy/ 目录下的热部署(h ot deployment)。

所以,你能够使用 FarmMemberService MBean 里的 URLDeploymentScan ner MBean 定义的所有属性。

实际上,上列 URLs 和 ScanPeriod 属性都是从 URLDeploym entScanner MBean 继承过来的。

1.1.5分布式状态复制服务在群集服务器环境里,分布式状态管理(distributed state management)是群集系统必须提供的一个关键服务。

例如,在 stateful session bean 应用程序里,会话状态(s ession state)必须在所有节点的 bean 实例中同步,这可以使客户应用程序获得相同的会话状态,而不用管是哪个节点处理请求。

在 entity bean 应用程序里,bean 对象有时候需要跨群集地缓存来减少数据库负载。

目前,JBoss AS 里的状态复制(state replication)和分布式缓存服务(distributed cache service)由两个途径提供:HASessionState MBe an 和 JBoss Cache framework。

◆∙ HASessionState MBean为 EJB 2.x 的 stateful session beans 和 JBoss 3.x 和 4.x 里的 HTTP 负载平衡提供会话复制(session replication)和分布式缓存服务(distributed cache service)。

all/deploy/cluster-service.xml 文件里定义了这个 MBean。

我们会在后面的 EJB 2.x stateful session bean 部分展示它的配置选项。

JBoss Cache 是个一个能用在任何应用程序和独立服务器环境里的分布式缓存框架。

它逐渐地代替了 HASessionState 服务。

JBoss AS 集成了 JBoss Cache 来为 HTTP 会话,E JB 3.0,entity beans 和 Hibernate 持久化对象(persistence objects)提供缓存服务,每个缓存服务都在不同的 MBean 里定义。

我们将在后面讨论特定服务时介绍这些 MBean。

1.2群集的JNDI服务JNDI 是应用服务器提供的最重要的服务之一。

JBoss 的群集JNDI 服务基于客户端拦截器架构。

客户必须获得一个JNDI 占位对象(stub object)(通过InitialContext对象)和通过stub 在远程服务器上调用JNDI 查找服务。

而且,JNDI 是许多其他基于拦截器的群集服务的基础:这些服务在JNDI 上注册,客户就可以查找它们的stubs 并使用它们的服务。

1.2.1工作方式JBoss HA-JNDI (高可用性JNDI)服务维护了一个跨群集的上下文树(context tree)。

只要群集里有一个节点,这个树就会存在。

群集里的每个JNDI 节点也维护子集的本地JN DI 上下文。

服务器端的应用程序可以把它的对象绑定在两者中的任意一个上。

在本部分内容里,你将学习怎样区分这两种树和在应用部署时的最佳做法。

这个架构的合理设计如下:◆∙ 我们不希望在本地实现JNDI 的应用程序有任何的移植问题。

我们希望通过简单的配置群集系统就可以正常工作。

◆∙ 我们需要清晰地区分本地绑定的对象和跨群集的对象。

◆∙ 在同样的群集里,这个配置实际上降低了网络的负载。

◆∙ 既然所有下面的群集节点都使用一个新的InitialContext() 来查找或创建绑定,用这个方法来设计可以使HA-JNDI 服务成为一种可选的服务。

在服务器端,new InitialContext() 将会绑定到一个仅用于本地的,非跨群集的JNDI 上下文(实际上是基本JNDI)。

因此,所有EJB 主接口(homes)都不会绑定到跨群集的JN DI 上下文。

但是,每个主接口都会绑定到本地JNDI 上。

当远程的客户通过HA-JNDI 发起一个查找,HA-JNDI 在全局跨群集上下文找不到这个对象时会委托给本地JNDI 上下文。

详细的查找规则如下所示。

◆∙ 如果这个绑定在跨群集的JNDI 树(JNDI tree)里可用。

◆∙ 如果这个绑定不在跨群集的树里,它会把查找请求委托给本地JNDI 服务并返回可用的结果。

◆∙ 如果没有可用的结果,HA-JNDI 服务会查找其他群集里的节点,如果它们的本地JNDI 服务拥有这样的绑定,就会返回相应的结果。

◆∙ 如果没有任何本地JNDI 服务有这样的一个绑定,最后会产生NameNotFoundException 异常。

所以,当EJB home 通过HA-JNDI 查找,总会委托给本地JNDI 实例。

如果不同的bean s(即使是相同的类型,但在不同的群集里)使用同一个JNDI 名称,这意味着每个JNDI 服务器将会有一个不同的"target" 绑定(节点 1 上的JNDI 将有一个用于bean A 的绑定,节点2 会有一个用于bean B 的相同名字的绑定)。

因此,如果客户为这个名字执行HA-JNDI查询,这个查询会在群集里的任何JNDI 服务器上调用并返回本地绑定的stub。

而且,它未必是客户所希望的正确的stub!如果你想从服务器端访问HA-JNDI,你必须通过JNDI的属性文件明确的得到一个InitialCont ext。

下面的代码讲述了怎么访问HA-JNDI。

Context.PROVIDER_URL 属性指向HANamingService MBean中配置的HA-JNDI服务(见2.3, “JBoss 配置”)。

1.2.2客户端配置JNDI 客户需要意识到HA-JNDI 的群集方式。

你可以把JNDI 服务器的列表(HA-JNDI群集里的节点)写入到jndi.properties 文件里的java.naming.provider.url 设置里。

每个服务器节点都用它的IP 地址和JNDI 端口号码来识别。

相关文档
最新文档