您的位置:首页 > 产品设计 > 产品经理

Maven+Jbpm4.4+Jboss5.0环境搭建

2014-06-03 17:00 253 查看
本实例提供一个Jbpm4.4工作流的简单实例的环境搭建:以Jboss5.0为应用服务器,用Maven管理Jbpm4.4的Jar包引用关系,开发工作流系统的开发环境。
本实例很简单,但是它是一个分布式系统中工作流项目的开始,如果您对此感兴趣,想深入了解工作流相关知识与业务,请继续关注我的后续文章。
下面,首先来看一下这个Demo:

结构及代码展示

下面是项目的目录结构:





父项目中,根据Maven的规范,配置了相关依赖包的引用,包括:Jbpm4.4的引用包引用、Junit4.9的测试包引用,hibernate的引用包,以及应用服务器Jboss的Client引用等。
接口中,提供了部署流程、创建实例、获得当前节点等必须方法。
实现中,提供了对接口方法的实现。同时,提供了一个简单的JPDL流程,JBPM的相关配置文件,以及测试部分的部署。

实现部分的Pom中的引用:
这里需要加入Ejb所需的Jar包引用,是因为在使用maven对项目打包的时候,需要用到这些包,在开发环境中通过User Library的方式引入的包,Maven是管理不到的,它只能通过POM文件的引用进行打包。

这里的这些关于Jbpm4.4的引用,其实都在Jbpm.jar文件里面。也就是说,如果我们不用maven管理项目,只需要将jbpm.jar文件加入到你开发环境的classpath路径就OK了。

<dependencies>
		<!-- 在Maven中引入Ejb的需要的Jar -->
		<dependency>
			<groupId>org.apache.openejb</groupId>
			<artifactId>javaee-api</artifactId>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
		</dependency>
		
		<dependency>
			<groupId>${project.groupId}</groupId>
			<artifactId>gxpt_jbpm_service</artifactId>
			<version>${project.version}</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>${project.groupId}</groupId>
			<artifactId>gxpt_common_tool</artifactId>
			<version>${project.version}</version>
			<scope>provided</scope>
		</dependency>

		<!-- jBPM4.4 -->
		<dependency>
			<groupId>org.jbpm.jbpm4</groupId>
			<artifactId>jbpm-api</artifactId>
		</dependency>
		<dependency>
			<groupId>org.jbpm.jbpm4</groupId>
			<artifactId>jbpm-log</artifactId>
		</dependency>
		<dependency>
			<groupId>org.jbpm.jbpm4</groupId>
			<artifactId>jbpm-bpmn</artifactId>
		</dependency>
		<dependency>
			<groupId>org.jbpm.jbpm4</groupId>
			<artifactId>jbpm-db</artifactId>
		</dependency>
		<dependency>
			<groupId>org.jbpm.jbpm4</groupId>
			<artifactId>jbpm-jpdl</artifactId>
		</dependency>
		<dependency>
			<groupId>org.jbpm.jbpm4</groupId>
			<artifactId>jbpm-pvm</artifactId>
		</dependency>
		<dependency>
			<groupId>org.livetribe</groupId>
			<artifactId>livetribe-jsr223</artifactId>
			<version>2.0.6</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>xerces</groupId>
			<artifactId>xercesImpl</artifactId>
			<version>2.10.0</version>
			<scope>provided</scope>
		</dependency>
	</dependencies>


实例下载

maven+jbpm4.4+Jboss5.0

开发中注意的问题,以及我遇到的问题

1、使用Maven,需要我们安装配置好Nexus***(本Demo使用Nexus***)。
由于工作环境下,网络受限,使用正常的方式配置,只能档下来nexus索引,无法根据索引档下来jar包。解决方案就是,先根据Nexus档下来索引,然后直接连接远程仓库,去远程下载jar包,再将jar包放到***上,供大家使用。具体操作请看这里:/article/1414381.html
如果你的工作环境也受限,可以尝试上面方法。

2、上面已经提到,本demo中关于Jbpm4.4的引用,其实都在jbpm.jar一个文件中,如果你不适用maven管理项目,直接引用这个jar就OK了。开发的过程中,肯定会需要其他的jar文件,需要的时候再加。

3、以Jboss5.0为应用服务器,接口的实现发布称无状态的SessionBean。开发以为会在部署jar后,动态创建表;而实际上是在部署流程之后,动态创建表;
4、在打包实现时,回报一个找不到jndi的错误,但是不影响运行。在运行测试中部署流程的代码时,依然能够根据JNDI服务,从应用服务器的热部署目中,取得实例。

5、吐槽Jbpm4.4官网上的安装方式。大家可以尝试,自行选择。
由于jbpm也需要简单的“安装”,那么它为了让开发人员快速上手,jbpm就用Ant写了一个大脚本,包括:从网上下载jboss、下载Eclipse、web设计器、以及安装这些和插件。只要你运行了它写的ant脚本,你需要做的就是去喝杯咖啡,聊聊天的等待了。
不过,我认为这也需要你看懂它ant脚本的大概流程,然后按照它的思路配置你自己的环境。这个过程可能要求你懂Ant,不过这是复杂一次,幸福一辈子的事情。
使用本文的方式也很好,只是需要你自己安装JPDL插件,自己拷贝配置文件。自己配置jboss、配置设计器等等。你熟悉了,也很简单,自己选择吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: