自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Kylin Soong Blog -> ksoong.org

http://ksoong.org/

  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

原创 JBoss 系列六十一:深入理解 jBPM Human Task - I

概述Human Task 是BPM流程中的节点必需通过人为的手动操作才能够执行。jBPM 5 通过 User Task(jBPM5示例之 User Task) 节点来支持Human Task。Human Task通常要求流程设计者在设计流程时指定流程运行相关的属性,流程类型,流程的执行者,流程运行相关的数据。流程运行时我们根据这些属性运行流程。Human Task 是BPM核心,为什么

2013-11-30 19:04:33 5329

原创 JBoss 系列 六十:JBoss 7/WildFly中配置使用Mysql数据库

前面系列五:JBoss 7/WildFly中配置使用Oracle数据库 中我们演示在JBoss 7/WildFly中配置使用Oracle数据库,本文应需求,演示配置使用Mysql数据库。我们配置的大致步骤如下:添加Mysql数据库驱动模块到JBoss在JBOSS_HOME/modules/目录下创建com/mysql/main目录,将Mysql驱动jar(例如mysql-connector

2013-11-30 17:28:58 9770 2

原创 JBoss 系列五十九:jBPM Human Task 源代码分析 - II

概述jbpm human task 源代码分析 - I中为执行jbpm human task服务器端的代码,本文集中与执行human task时客户端如何连接到服务器,进行与服务器交互,jBPM 5执行human task是与服务器通信可以使用三种方式:hornetqminajmsjbpm human task 源代码分析 - I中是使用jms,本文客户端代码分析也使用

2013-11-29 18:00:19 2523

原创 JBoss 系列五十八:jBPM Human Task 源代码分析 - I

概述本文基于jBPM 5.2.x分析jBPM 5jbpm-human-task 部分源代码,我们之所以选择jBPM 5.2.x是由于jBPM 5.2.x是有对应企业版本的BRMS,该代码是被Red Hat维护更新,经常企业版本BRMS5.3的patch等是基于此进行的。jBPM 5.2.x代码链接:https://github.com/droolsjbpm/jbpm/tree/5.2.x

2013-11-28 21:56:37 3570 1

原创 JBoss 系列五十七:JBoss 7/WildFly Virtual Directory Mapping

概述我们经常有这样的需求,假設有個 Test.war 部署至JBoss后, 在浏览器输入       http://xxx.xxx.xx/Test/mypic/a.jpg可看到图片a.jpg,而且不將a.jpg打包放在Test.war里面,a.jpg是放置在外部目录,例如/tmp/img。Weblogic的http://docs.oracle.com/cd/E11035_01/wls1

2013-11-27 16:11:58 4349 3

原创 JBoss 系列五十六:JBoss 7/WildFly 集群之 Java Persistence API (JPA) - I(基本理论)

Java持久性API(JPA)是在Java项目中使用持久性的标准。Java EE 6的应用程序使用Java Persistence2.0规范。的Hibernate EntityManager的实现了JPA规范定义的程序编程接口及生命周期规则,它为JBoss 7提供一个完整的Java持久性解决方案。JBoss 7是100%兼容JPA2.0规范的,Hibernate也提供了除JPA规范外额外的功能。

2013-11-25 22:11:30 3378

原创 JBoss 系列五十五:JBoss 7/WildFly 集群之 HornetQ Messaging - III(示例补充说明)

概述如下两个链接为JBoss 7/WildFly HornetQ Messaging 集群示例中用到的配置文件https://github.com/kylinsoong/cluster/blob/master/demo/jms/standalone-full-ha-node1.xmlhttps://github.com/kylinsoong/cluster/blob/master/de

2013-11-25 20:53:14 3796 1

原创 JVM 系列二:java.lang.OutOfMemoryError: unable to create new native thread

问题描述Java程序运行过程中抛出java.lang.OutOfMemoryError: unable to create new native thread,如下所示: java.lang.OutOfMemoryError: unable to create new native thread at java.lang.Thread.start0(Native Method) a

2013-11-22 11:33:54 54166 7

原创 JVM 系列一:Native memory allocation 导致JVM Crash

JVM Crash抛出如下信息:## There is insufficient memory for the Java Runtime Environment to continue.# Native memory allocation (malloc) failed to allocate 813056 bytes for Chunk::new# An error report fi

2013-11-22 10:23:13 59237 2

原创 JBoss 系列五十四:JBoss 7/WildFly 集群之 HornetQ Messaging - II(示例)

概述本实验演示说明JBoss 7/WildFly 集群中HornetQ Messaging的本实验演示说明JBoss 7/WildFly 集群中HornetQ Messaging的高可用性。本实验运行简单示意图如下所示:高可用性。本实验运行简单示意图如下所示:如图所示本实验中:两个JBoss节点(node1和node2)构成一个集群,两个节点上分别有live消息

2013-11-19 21:09:21 5369

原创 JBoss 系列五十三:JBoss 7/WildFly 集群之 HornetQ Messaging - I(基本理论)

概述消息系统允许我们以松耦合的方式连接不同的系统在一起,并具有一定可靠性。Java消息服务(JMS)提供商使用事务性的系统,能够原子性的提交或回滚的变化。不同于基于远程过程调用(RPC)模式的系统,消息系统主要使用异步消息传递模式,消息请求和响应之间没有紧密关系。大多数消息系统也支持请求-响应模式,但是这不是一个消息系统主要的功能。HornetQ简介HornetQ是一个多协议,由Red

2013-11-18 16:47:46 4457 3

原创 JBoss 系列五十二:JBoss 7/WildFly中替换默认的欢迎Web应用

JBoss 7中默认启动后访问http://localhost:8080/会进入到默认的欢迎Web应用欢迎页面,但在实际中我们需要当访问http://localhost:8080/时进入到自己的应用页面,本文演示JBoss 7/WildFly中如何替换默认的欢迎Web应用,而使用自己的应用,我们分如下三步:在JBoss中设定enable-welcome-root属性为false使用JBos

2013-11-15 13:40:40 5382 2

原创 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 5161 6

原创 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 6597

原创 JBoss 系列四十九:JBoss 7/WildFly 中端口使用列表

JBoss 7中端口使用列表JBoss 7中所有配置都在一个文件中(standaone*.xml, domain.xml),和之前的JBoss相比JBoss 7用到的端口变少,我们将以表格的形式列出所有使用到的端口。NamePort      Mulicast PortFunction DescriptionDefault Server Port

2013-11-14 19:10:26 6406 1

原创 JBoss 系列四十八:JBoss 7/WildFly 使用TCP构建集群

我知道JBoss 集群Default 的设定就是UDP(JGroups),但在实际环境中的网络环境时常不允许UDP,在这种情况下,我们就需要使用TCP。JBoss 7/WildFly 中负责集群的主要模块是JGroups 跟 Infinispan,而控制Cluster里面的node跟集群中其他节点通信沟通的就是JGroups,所以,不管你今天用的是Standalone或是domain,只要找到

2013-11-14 18:19:07 4081

原创 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 5598 2

原创 JBoss 系列四十六:jBPM5示例之 CustomerEvaluation

CustomerEvaluation流程是一个较负责的流程,我们多次使用Gateway,以及Rule Task,流程示意如下图:如上图流程运行时第一个节点Initialize节点为Script Task,流程运行时执行Java代码,如下为要执行的代码段System.out.println("Entering " + kcontext.getNodeInstance().ge

2013-11-07 09:24:16 3104

原创 JBoss 系列四十五:jBPM5示例之 Global Variable

RiskyAccount是一较复杂的流程,通过drools规则判断账户是否为危险账户,如果账户中的额度小于0则该账户为危险账户,RiskyAccount示例主要目的包括:演示流程嵌套,主流程运行子流程演示jBPM流程与drools规则的整合演示主流程与子流程之间共享全局变量RiskyAccount流程如下:如上,主流程Start节点为Script Task,运行时执行如下J

2013-11-07 09:23:47 3051

原创 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 3335

原创 JBoss 系列四十三:jBPM5示例之 Error Event

在BPM流程中经常需要错误升级信号,当流程中错误事件发生,错误升级信号触发,相应的错误处理操作被执行。jBPM5中使用Error Event来完成这一需求,如下为ErrorEvent流程:如图,Embedded Sub-Process中的Validate Input Data中判断是否触发错误升级信号,如果当流程中的变量inputData为空,则触发错误升级信号,Signsl Even

2013-11-06 09:50:31 3169

原创 JBoss 系列四十二:jBPM5示例之 Signal Event

在BPM流程中进程需要事件信号,只有当流程中某信号被触发时,流程继续执行,jBPM5中使用Signal Event来完成这一需求,如下为SignalEvent流程:如图,Signal Event节点Payment位于Gateway之前,我们通过Payment传递一个变量到流程,流程在执行问Process Subscription Request节点后等待Payment信号被触发,信号触

2013-11-05 10:24:44 4109

原创 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 3685

原创 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 2950

原创 JBoss 系列三十九:jBPM5示例之 Multiple Instance Sub-Process

如图,在主流程启动时我们传入一个队列,队列中包括一系列整数,子流程运行每次判断队列中的整数能否被2整除(奇数),如果不能被则将相应的整数添加到错误列表,注意,子流程运行的次数等于队列的大小。流程运行结束打印输出错误列表。

2013-11-04 09:55:29 3709

原创 JBoss 系列三十八:jBPM5示例之 Reusable Sub-Process

Reusable Sub-Process

2013-11-03 11:37:58 3777 1

原创 JBoss 系列三十七:jBPM5示例之 Rule Task

Rule Task

2013-11-03 11:37:10 4396 2

原创 JBoss 系列三十六:jBPM5示例之 Email

在实际应用的BPM流程中经常需要发送邮件,比如订单流程中当商品缺货时需要发送邮件通知相关负责人,jBPM5中的Email Service Tasks可以完成这一任务。Email 流程示意图如下如图Logging流程就包括一个Service Tasks节点Email,用来发送邮件,在设计流程时我们实际发送邮件的发件人为[email protected];邮件的收件人为ksoong@re

2013-11-02 12:04:11 4122

原创 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 3482

原创 JBoss 系列三十四:jBPM5示例之 Looping

Looping流程如下图所示:

2013-11-01 09:27:11 3970

原创 JBoss 系列三十三:jBPM5示例之 HelloWorld

HelloWorld 流程如下图所示:

2013-11-01 09:25:52 6461 8

Nosql - Cassandra 入门学习

Cassandra 入门学习 Clauster 实例 Cassandra Log4j 下应用

2011-06-04

Java编写扫雷游戏

详细说明参考我javaEye博客,博客链接http://kylinsoong.javaeye.com/blog/766917

2010-09-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除