JBoss
文章平均质量分 84
ksoong
Kylin Soong has six years' experience in working with JBoss and JEE, including developing and maintaining, proficiency in Java programming, proficiency in JEE environment(JBoss, Weblogic) development, knowledge of Middleware architecture and performance tuning.
展开
-
JBoss 系列一:软件安装及资料下载
内容概要本部分包括本系列所需要的相关软件的安装,及资料的下载,内容列表如下:Apache httpd 安装Java 安装Maven 安装Ant 安装Git 客户端安装JBoss 7 安装注意:Apache httpd是JBoss构建集群所必要,Java ,Maven ,Ant 安装包括在Linux操作系统上安装的步骤。Apache httpd原创 2013-10-04 22:24:28 · 9851 阅读 · 12 评论 -
JBoss 系列三:使用4种方式部署应用到JBoss7/WildFly
内容概要JBoss系列三主要目的是演示如何部署应用到JBoss7/WildFly,如下图中描述了部署应用的四种方式:如上四种方式包括:Administration UI ConsoleCommand Line ConsoleMaven Plugin(jboss-as-maven-plugin)copy为了测试部署,我们需要编译生产部署的应用,使用git cl原创 2013-10-05 12:50:48 · 21355 阅读 · 4 评论 -
JBoss 系列五:JBoss 7/WildFly中配置使用Oracle数据库
内容概要JBoss 系列五主要目的是演示如何在JBoss 7/WildFly中配置使用Oracle数据库,主要分两大部分Oracle数据库相关的配置,一个使用Oracle数据库的HelloWorld小程序。如下为一简单示意图:Hello World App部署于JBoss上,Hello World App通过JPA/Hibernate操作数据库,数据库连接是通过JCA/Datasour原创 2013-10-06 11:51:42 · 9293 阅读 · 5 评论 -
JBoss 系列七: Bela Ban's JGroups Manual 翻译 I - 序
关于 Bela Ban 和 JGroups JGroups作者Bela Ban于1998-1999在康奈尔大学(http://www.cornell.edu/)计算机科学学院攻读博士后(Post-Doc)学位。当时作者在Ken Birman(http://www.cs.cornell.edu/ken/)导师的引导下研究群组通信和分布式系统。当时他们研究群组通信原型产品为Ensemb翻译 2013-10-06 19:17:04 · 4125 阅读 · 0 评论 -
JBoss 系列六:JBoss 7/WildFly中配置使用JMS消息队列
内容概要JBoss 系列六主要目的是演示如何在JBoss 7/WildFly中配置使用JMS消息队列,本文章分三部分:在JBoss服务器上创建消息队列,在JBoss服务器上创建安全Application User,使用创建好的消息队列。如下为一简单示意图:如上图,“jms/queue/test”为JBoss服务器上创建的消息队列;Producer和Consumer连接JBoss服务器需原创 2013-10-06 17:58:47 · 11044 阅读 · 9 评论 -
JBoss 系列十: Bela Ban's JGroups Manual 翻译 IV - 协议栈和高级概念
内容概要本章讨论怎么样正确使用和配置JGroups的协议栈协议,以及一些 JGroups 的高级概念。jGroups协议栈 我们知道jGroups是一个可靠多播传输工具包,它能够为集群中成员提供点对点,点对组的通信,所有通信通过通道完成。通道基于协议栈之上,协议栈中协议各自有自己特别的功能,这些功能综合起来使通道通道具有完成多波传输的能力。协议栈中多种协议所具有的主要功能可以总结翻译 2013-10-06 20:43:54 · 3990 阅读 · 1 评论 -
JBoss 系列八: Bela Ban's JGroups Manual 翻译 II - JGroups概述
内容概要群组通信使用的组和成员的概念,一般来说,成员是组的一个部分,一个组中包括很多成员。比较常见的术语,成员是一个节点,一组即是一个集群。我们这里就使用这些术语。 一个节点是一个进程,位于一些主机上。一个群集可以有一个或多个节点。在同一台主机可以有多个节点,所有节点可能会或可能不会是相同群集的一部分。节点当然也可以运行在不同的主机上。 JGroups 是一个可靠的翻译 2013-10-06 19:26:50 · 4333 阅读 · 0 评论 -
JBoss 系列九: Bela Ban's JGroups Manual 翻译 III - JGroups API
内容概要 如我们在前面所讲,JGroups是一个Java多播通信工具包,是对JDK的一种补充,所以本章主要讨论JGroups API,以及对API使用的简单示例。本章包括两部分,通道 API 及构建块 API,我们目的是通过本章的学习,使可以读者能够使用JGroups API构建自己的Java多播通信应用。通道 API这部分我们介绍构建可靠群组通信的主要类,我们主要集中于翻译 2013-10-06 20:11:01 · 4473 阅读 · 0 评论 -
JBoss 系列十一:JBoss Cluster Framework Demo 介绍
内容概要JBoss Cluster Framework Demo包括JGruops、JBossCache、Infinispan,我们在随后的系列中会使用和运行这些示例来说明JGroups、JBossCache、Infinispan等的主要API和使用方法。本部分从三个方面介绍JBoss Cluster Framework Demo:Demo源代码Demo下载编译打包生成Demo原创 2013-10-08 22:28:03 · 4559 阅读 · 5 评论 -
JBoss 系列十二:基于jGroups的群组聊天程序
内容概述JBoss 系列十二通过一个简单群组聊天程序演示“JBoss 系列九: Bela Ban's JGroups Manual 翻译 III - JGroups API”中JGroups API的使用,希望读者能够通过本示例知道如何使用JGroups API构建自己的多播通信应用。本系列内容包括:编译打包生成DEMO_HOME目录运行聊天程序代码及结果分析 编译原创 2013-10-09 20:43:20 · 3765 阅读 · 0 评论 -
JBoss 系列十三:JBoss集群与基于jGroups 的坦克大战游戏
内容概要如下图为JBoss集群中数据复制的简单示意图如图中所示的两个节点的JBoss集群,一般来说一个集群中我们需要将http会话、EJB、JMS、Hibernate二级缓存等在所有节点上保持同步,也就是说,任何一个节点上的这些数据发生变化,都需要将变化的数据复制到其他节点上。JBoss集群使用JGroups完成这一操作,这里我们不深入探讨JGroups怎样完成状态复制,这里我们说原创 2013-10-09 21:57:08 · 5125 阅读 · 7 评论 -
JBoss 系列十七:使用JGroups构建块MessageDispatcher 构建群组通信应用
内容概要本部分说明JGroups构建块接口MessageDispatcher,具体提供一个简单示例来说明如何使用JGroups构建块MessageDispatcher 构建群组通信应用示例描述构建块基于通道之上,是对通道API的更高层抽象,MessageDispatcher提供异步和同步的方法发送消息给集群中的成员并等待响应,我们知道直接使用jGroups API可以向群组发送消息,或原创 2013-10-13 20:36:16 · 3300 阅读 · 0 评论 -
JBoss 系列十八:使用JGroups构建块RpcDispatcher构建群组通信应用
内容概要本部分说明JGroups构建块接口RpcDispatcher,具体提供一个简单示例来说明如何使用JGroups构建块RpcDispatcher构建群组通信应用。示例描述类似MessageDispatcher,RpcDispatcher同属构建块主要接口,构建块基于通道之上,是对通道API的更高层抽象。程序设计者可以使用RpcDispatcher调运集群中任何节点上的任何原创 2013-10-13 20:47:45 · 3382 阅读 · 0 评论 -
JBoss 系列十九:使用JGroups构建块RspFilter对群组通信返回消息进行过滤
内容概述本部分说明JGroups构建块接口RspFilter,具体提供一个简单示例来说明如何使用JGroups构建块RspFilter对群组通信返回消息进行过滤。示例描述我们知道构建块基于通道之上,是对通道API的更高层抽象,而RspFilter是构建块的主要接口,它可以更灵活的自定义群组调运的模式,对响应响应消息进行过滤。具体RspFilter可以确定是否将群组中所有的节点添原创 2013-10-13 21:11:47 · 2465 阅读 · 0 评论 -
JBoss 系列二十:JBossCache简介
内容概要本文简单介绍JBossCache,主要从JBossCache项目的最初创建者Bela Ban和JBossCache项目的负责人Manik Surtani的视角介绍JBossCache。http://www.jboss.org/jbosscacheJBoss缓存简介JBoss Cache 是一个分布式的企业应用缓存,它的目的是为企业应用分布式和集群提供解决方案,通过缓原创 2013-10-16 21:16:22 · 6110 阅读 · 2 评论 -
JBoss 系列四:JBoss7/WildFly中EJB调运示例
内容概要为了有效的利用资源(CPU,内存),我们使用分布式解决方案来满足这一需求,企业JavaBeans(EJB) 3.1通过服务器端的EJB为开发分布式的,事务控制的,安全的,便捷的Java企业应用提供接口。在实际生产环境中我们经常需要EJB调运,JBoss 系列四演示演示两种模式的EJB调运:JBoss服务器之间的EJB调运和Java客户端和JBoss服务器之间的EJB调运,如下图:原创 2013-10-05 21:24:05 · 7200 阅读 · 4 评论 -
JBoss 系列二十二:JBossCache 复制示例
示例简介JBossCache基于jGroups之上,是一个树形结构的,可集群的,事务性的缓存,它可用于非集群的环境中,用来缓存频繁使用的数据在内存中。但JBossCache主要是一个集群的缓存,通常在企业应用集群中使用JBossCache复制节点之间状态,保证企业应用的高可用和容错能力。之前我们对JBossCache做了基本介绍,包括基本API、启动运行、配置部署,监控管理等,这里JBos原创 2013-10-17 21:15:29 · 4149 阅读 · 0 评论 -
JBoss 系列二十一:JBossCache 核心API
内容简介本处介绍JBossCache相关的主要API,我们目的通过本部分描述,读者可以使用JBossCache API,在自己的应用中使用JBossCache。Cache接口Cache 接口是和JBossCache交互的主要机制。它是用 CacheFactory 构建并可选择地启动的。CacheFactory 允许你从 Configuration 对象或 XML 文件创建 Cach原创 2013-10-16 22:47:54 · 3654 阅读 · 0 评论 -
JBoss 系列二十三:JBossCache 架构
内容概要本节更深入地介绍了 JBoss Cache 的架构,它适用于希望使用更高级的缓存功能、扩展或增强缓存、编写插件或了解底层运行机制的使用着。JBossCache 里的数据结构JBossCache 由以树型结构组织的 Node 实例集合组成。每个原创 2013-10-17 21:30:37 · 3081 阅读 · 0 评论 -
JBoss 系列十四:JBoss7/WildFly如何加载外部的文件或properties文件
内容概述JBoss7/WildFly设底层框架一大亮点的Module class loading,及每一个相对独立的模块看作一个Module,每个Module都有自己的class loader,Module之间可以相互依赖,如下图:当JBoss7安装完成后,JBOSS_HOME/modules目录下存在许多目录,每个目录都有一个module.xml文件,代表一个Module,我们也叫他原创 2013-10-11 22:22:42 · 10695 阅读 · 12 评论 -
JBoss 系列三十四:jBPM5示例之 Looping
Looping流程如下图所示:原创 2013-11-01 09:27:11 · 4004 阅读 · 0 评论 -
JBoss 系列二十四:基于JBoss微容器部署集群JBossCache
示例简介JBoss微容器(JBoss Microcontainer)是第二代JBoss内核架构,该架构集合第一代JBoss内核架构(纯JMX MBean)优点,加入了POJO Bean的概念,是一个轻量级的容器用来管理POJOs以及他们的部署,配置等。JBoss AS 6,JBoss AS 5都是基于这一架构。详细参照http://www.jboss.org/jbossmc。原创 2013-10-17 21:54:39 · 7583 阅读 · 0 评论 -
JBoss 系列三十三:jBPM5示例之 HelloWorld
HelloWorld 流程如下图所示:原创 2013-11-01 09:25:52 · 6495 阅读 · 8 评论 -
JBoss 系列三十六:jBPM5示例之 Email
在实际应用的BPM流程中经常需要发送邮件,比如订单流程中当商品缺货时需要发送邮件通知相关负责人,jBPM5中的Email Service Tasks可以完成这一任务。Email 流程示意图如下如图Logging流程就包括一个Service Tasks节点Email,用来发送邮件,在设计流程时我们实际发送邮件的发件人为exam@education.com;邮件的收件人为ksoong@re原创 2013-11-02 12:04:11 · 4213 阅读 · 0 评论 -
JBoss 系列三十五:jBPM5示例之 Logging
在实际应用的BPM流程中经常需要日志记录某些信息,jBPM5中的Log Service Tasks可以完成这一任务。Logging流程示意图如下:如图Logging流程就包括一个Service Tasks节点Log,用来记录日志输出,在设计流程时我们设计日志输出消息为#{msg},即输出流程中的msg变量。Logging流程流程运行代码:https://github.com原创 2013-11-02 12:03:35 · 3504 阅读 · 0 评论 -
JBoss 系列三十七:jBPM5示例之 Rule Task
Rule Task原创 2013-11-03 11:37:10 · 4438 阅读 · 2 评论 -
JBoss 系列三十八:jBPM5示例之 Reusable Sub-Process
Reusable Sub-Process原创 2013-11-03 11:37:58 · 3815 阅读 · 1 评论 -
JBoss 系列四十四:jBPM5示例之 GateWay
jBPM5中的GateWay如果选择AND则表示平行执行多个Task,ParallelExecute示例演示jBPM5中如何平行执行多个Task,ParallelExecute流程如下:上图为平行执行多个Task的流程,其中Task1.1,Task1.2,Task1.3平行执行,Task2.1,Task2.2平行执行,Task1.1,Task1.2,Task1.3后面Gateway类型选择原创 2013-11-06 09:51:11 · 3371 阅读 · 0 评论 -
JBoss 系列四十六:jBPM5示例之 CustomerEvaluation
CustomerEvaluation流程是一个较负责的流程,我们多次使用Gateway,以及Rule Task,流程示意如下图:如上图流程运行时第一个节点Initialize节点为Script Task,流程运行时执行Java代码,如下为要执行的代码段System.out.println("Entering " + kcontext.getNodeInstance().ge原创 2013-11-07 09:24:16 · 3151 阅读 · 0 评论 -
JBoss 系列四十五:jBPM5示例之 Global Variable
RiskyAccount是一较复杂的流程,通过drools规则判断账户是否为危险账户,如果账户中的额度小于0则该账户为危险账户,RiskyAccount示例主要目的包括:演示流程嵌套,主流程运行子流程演示jBPM流程与drools规则的整合演示主流程与子流程之间共享全局变量RiskyAccount流程如下:如上,主流程Start节点为Script Task,运行时执行如下J原创 2013-11-07 09:23:47 · 3090 阅读 · 0 评论 -
JBoss 系列三十九:jBPM5示例之 Multiple Instance Sub-Process
如图,在主流程启动时我们传入一个队列,队列中包括一系列整数,子流程运行每次判断队列中的整数能否被2整除(奇数),如果不能被则将相应的整数添加到错误列表,注意,子流程运行的次数等于队列的大小。流程运行结束打印输出错误列表。原创 2013-11-04 09:55:29 · 3755 阅读 · 0 评论 -
JBoss 系列四十:jBPM5示例之 Embedded Sub-Process
jBPM5中EmbeddedSubProcess是指在流程设计时子流程镶嵌在主流程,如下为EmbeddedSubProcess流程示意:如图Tag Messages Sub-Process为镶嵌在主流程中的子流程,EmbeddedSubProcess流程运行时传输三条字符串message 1,message 2和message 3,在流程运行时主流程的Format tag节点中生成一个ta原创 2013-11-04 09:57:02 · 2984 阅读 · 0 评论 -
JBoss 系列五十:使用Apache httpd(mod_jk)和JBoss构架高可用集群环境
概述前面JBoss 系列二:使用Apache httpd(mod_cluster)和JBoss构架高可用集群环境中我们介绍了企业应用的目的的目的,负载均衡,容错等,并通过Apache httpd(mod_cluster)和JBoss构架高可用集群环境,我们这里在原有的环境中将mod_cluster换成mod_jk,其架构如下图所示:本方案是在开源Linux操作系统Fedora 15原创 2013-11-14 22:42:16 · 6655 阅读 · 0 评论 -
JBoss 系列五十一:使用Apache httpd(mod_proxy)和JBoss构架高可用集群环境
概述前面JBoss 系列二:使用Apache httpd(mod_cluster)和JBoss构架高可用集群环境中我们介绍了企业应用的目的的目的,负载均衡,容错等,并通过Apache httpd(mod_cluster)和JBoss构架高可用集群环境,我们这里在原有的环境中将mod_cluster换成mod_proxy,其架构如下图所示:本方案是在开源Linux操作原创 2013-11-15 13:03:02 · 5198 阅读 · 6 评论 -
JBoss 系列四十三:jBPM5示例之 Error Event
在BPM流程中经常需要错误升级信号,当流程中错误事件发生,错误升级信号触发,相应的错误处理操作被执行。jBPM5中使用Error Event来完成这一需求,如下为ErrorEvent流程:如图,Embedded Sub-Process中的Validate Input Data中判断是否触发错误升级信号,如果当流程中的变量inputData为空,则触发错误升级信号,Signsl Even原创 2013-11-06 09:50:31 · 3210 阅读 · 0 评论 -
JBoss 系列四十一:jBPM5示例之 Timer Event
在BPM流程中,经常需要在执行某个任务之前或之后停顿一段时间,jBPM5中使用Timer Event完成这一操作,如下为DelayTimerEvent流程:如图,DelayTimerEvent流程共有三个节点,Before Timer,Timer,After Timer。Before Timer为Script Task节点,运行状态该节点执行的Java代码如下:timeBe原创 2013-11-05 10:24:13 · 3721 阅读 · 0 评论 -
JBoss 系列四十二:jBPM5示例之 Signal Event
在BPM流程中进程需要事件信号,只有当流程中某信号被触发时,流程继续执行,jBPM5中使用Signal Event来完成这一需求,如下为SignalEvent流程:如图,Signal Event节点Payment位于Gateway之前,我们通过Payment传递一个变量到流程,流程在执行问Process Subscription Request节点后等待Payment信号被触发,信号触原创 2013-11-05 10:24:44 · 4152 阅读 · 0 评论 -
JBoss 系列四十七:jBPM5示例之 User Task
概述jBPM5的 User Task是指节点必须有人的参与后才能够完成,是BPM重要特新的体现,User Task必须使用数据库存储流程运行时数据,如下为我们本文中使用到的流程示意:为了方便数据库方面查看,我们使用Mysql存数流程运行时状态,我们使用如下SQL语句创建数据库用户:CREATE DATABASE jbpm;create user 'jbpm_user'@'lo原创 2013-11-08 09:30:12 · 5630 阅读 · 2 评论 -
JBoss 系列十五:JBoss7/WildFly集群中新节点加入状态交换过程
内容概要如下图三台JBoss(node1, node2, node3)组成的集群(其中node1为协调者),新节点node4加入集群,JBoss集群中所有节点状态要保持一致,这就需要node4从集群的协调者node1交换状态,交换状态过程使用JGroups,本文通过实验测试JBoss集群中新节点加入状态交换过程,以及群组通信的成员获取群组状态的过程,明白JBoss集群中新节点加入状原创 2013-10-13 19:38:10 · 4096 阅读 · 0 评论 -
JBoss 系列二:使用Apache httpd(mod_cluster)和JBoss构架高可用集群环境
什么是企业应用集群 集群是指把不同的服务器集中在一起,组成一个服务器集合,这个集合给客户端提供一个虚拟的平台,使客户端在不知道服务器集合结构的情况下可以对这一服务器集合进行部署应用,获取服务等操作。集群是企业应用的主要特点,它可以提供:高扩展性:可以根据自己业务需求添加任意多的服务器到集群高可用性:使用透明的负载均衡和容错机制,对客户端隐藏集群内部的错误原创 2013-10-04 23:16:00 · 25372 阅读 · 44 评论