jbpm5.入门。。
最近公司叫搞JBPM5分析出数据库结构。但是新东西。我英文又不好。所以就瞎琢磨。
最后main方法可以运行。数据库可以更改。但是把jar包部署tomcat或jboss成为web项目时。却总是报错。
现在总结一下过程。发出来记录一下。有会弄得高手给指导一下。
首先下载:http://www.jboss.org/jbpm 5.0final全部程序
简单安装demo:
cmd命令行下:
ant install.demo (需要联网)
当完成后
ant start.demo(所有程序启动完毕即可)
http://localhost:8080/jbpm-console jbpm web控制台
http://localhost:8080/drools-guvnor 流程管理(可在线设计流程)
整合到已有环境:
修改build.properties
# the home of your JBoss AS installation
# for example:
# jboss.server.version=5.1.0.GA
# jboss.home=./jboss-${jboss.server.version}
jboss.server.version=4.2.3.GA(版本)
jboss.home=D:/jboss-4.2.3.GA(自己的路径)
# defines which server configuration should be used
# for example, if you specify 'default', the application
# will be deployed to ${jboss.home}/server/default/deploy
jboss.server.configuration=default
# the home of your eclipse installation
# will be used to deploy the Eclipse plugin to
eclipse.home=E:/8.5eclipse(自己的路径)
# defines whether you want the birt plugin (for reporting) to be downloaded or not
# by default this is turned off to avoid having to do a rather large download
# if you do not download the birt plugin, reporting in the jbpm-console will not work
# put this property to true if you want to download birt as well
jBPM.birt.download=true
然后可以执行:
ant install.guvnor.into.jboss
ant install.designer.into.jboss
ant install.jBPM-gwt-console.into.jboss
ant install.jBPM-eclipse.into.eclipse(最好手动以连接方式)
ant install.drools-eclipse.into.eclipse(最好手动以连接方式)
myeclipse手动连接方式:
目录:/8.5eclipse/dropins
3个link文件:
插件所在目录:jbpm-5.0.0-installer-full/jbpm-installer/lib
jbpm5.link(jbpm-5.0.0-eclipse-all.zip)
gef.link(GEF-ALL-3.5.2.zip 没有的话另行下载)
drool.link(drools-5.2.0.M1-eclipse-all.zip)
内容:
path=E://8.5eclipse//eclipse(插件相对应的路径)
然后可以启动:
Startup database:
ant start.h2
Startup JBoss AS:
ant start.jboss
Startup task service:
ant start.human.task
转移数据库:
目录:jbpm-5.0.0-installer-full/jbpm-installer/db
persistence.xml
hibernate.cfg.xml
testDS1-ds.xml
修改这些文件,方言之类的都要改
目录:jbpm-5.0.0-installer-full/jbpm-installer/db/driver
放入数据库驱动
程序方面:
持久化方面:
需要用到的jar包:
org.apache.servicemix.bundles.commons-dbcp-1.2.2_3.jar
commons-pool-1.4.jar
subethasmtp-wiser-1.2.jar
slf4j-nop-1.5.8.jar
mysql.jar (or other driver)
btm-1.3.jar
还有jbpm runtime 的所有jar包
需要把runtime的jbpm-human-task-5.0.0.jar和jbpm-bam-5.0.0.jar内的有关数据库连接的配置文件全部修改成myeclips
非web运行时:
需要手工程序中创建数据源:
PoolingDataSource ds=new PoolingDataSource();
ds.setUniqueName("jdbc/testDS1");
ds.setClassName("bitronix.tm.resource.jdbc.lrc.LrcXADataSource");
ds.setClassName("com.mysql.jdbc.jdbc2.optional.MysqlXADataSource");
//ds.setClassName("org.apache.commons.dbcp.BasicDataSource");
ds.setMaxPoolSize(3);
ds.setAllowLocalTransactions(true);
//ds.getDriverProperties().setProperty("driverClassName", "com.mysql.jdbc.Driver");
ds.getDriverProperties().put("user","root");
ds.getDriverProperties().put("password", "dcl1300185");
ds.getDriverProperties().put("URL", "jdbc:mysql://localhost/test");
ds.init();
知识库,session的创建,process的执行:
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add(ResourceFactory.newClassPathResource("sample.bpmn"), ResourceType.BPMN2);
KnowledgeBase kbase = kbuilder.newKnowledgeBase();
//StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
///KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, "test");
// start a new process instance
//ksession.startProcess("com.sample.bpmn.hello");
//logger.close();
EntityManagerFactory emf=Persistence.createEntityManagerFactory("org.jbpm.persistence.jpa");
Environment env = KnowledgeBaseFactory.newEnvironment();
env.set(EnvironmentName.ENTITY_MANAGER_FACTORY, emf);
env.set( EnvironmentName.TRANSACTION_MANAGER,
TransactionManagerServices.getTransactionManager() );
StatefulKnowledgeSession ksession =
JPAKnowledgeService.newStatefulKnowledgeSession( kbase,null, env );
ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new WSHumanTaskHandler());
ksession.startProcess("com.sample.bpmn.hello");
persistence.xml文件的编写:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<persistence version="1.0"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd
http://java.sun.com/xml/ns/persistence/orm
http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
xmlns:orm="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="org.jbpm.persistence.jpa" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>jdbc/testDS1</jta-data-source>
<class>org.jbpm.persistence.processinstance.ProcessInstanceInfo</class>
<class>org.drools.persistence.info.SessionInfo</class>
<class>org.drools.persistence.info.WorkItemInfo</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.max_fetch_depth" value="3"/>
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.BTMTransactionManagerLookup" />(这里要千万注意。)
</properties>
</persistence-unit>
</persistence>
jndi.properties 文件内容:
java.naming.factory.initial=bitronix.tm.jndi.BitronixInitialContextFactory
log4j.properties 文件:
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### direct messages to file hibernate.log ###
#log4j.appender.file=org.apache.log4j.FileAppender
#log4j.appender.file.File=hibernate.log
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### set log levels - for more verbose logging change 'info' to 'debug' ###
log4j.rootLogger=warn, stdout
#log4j.logger.org.hibernate=info
#log4j.logger.org.hibernate=debug
### log HQL query parser activity
#log4j.logger.org.hibernate.hql.ast.AST=debug
### log just the SQL
#log4j.logger.org.hibernate.SQL=debug
### log JDBC bind parameters ###
#log4j.logger.org.hibernate.type=info
#log4j.logger.org.hibernate.type=debug
### log schema export/update ###
#log4j.logger.org.hibernate.tool.hbm2ddl=debug
### log HQL parse trees
#log4j.logger.org.hibernate.hql=debug
### log cache activity ###
#log4j.logger.org.hibernate.cache=debug
### log transaction activity
#log4j.logger.org.hibernate.transaction=debug
### log JDBC resource acquisition
#log4j.logger.org.hibernate.jdbc=debug
### enable the following line if you want to track down connection ###
### leakages when using DriverManagerConnectionProvider ###
#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace
放置目录:
jndi.properties
log4j.properties
放置:src/main/resources
persistence.xml
放置:src/main/resources/META-INF(没有则自行创建)
www.haida360.com
jbpm5.入门。。相关推荐
- activity(流程引擎)从零入门到实战学习
activity(流程引擎)从零入门到实战学习 1.什么是流程引擎? 2.为什么需要学习流程引擎? 3.为什么选择activiti? 本编文章将详细介绍什么是流程引擎,为什么学习,以及为什么选择act ...
- 用Construct 2制作入门小游戏~
今天在软导课上了解到了Construct 2这个神器,本零基础菜鸟决定尝试做一个简单的小游戏(实际上是入门的教程啊= = 首先呢,肯定是到官网下载软件啊,点击我下载~ 等安装完毕后我便按照新手教程开始 ...
- Docker入门六部曲——Swarm
原文链接:http://www.dubby.cn/detail.html?id=8738 准备工作 安装Docker(版本最低1.13). 安装好Docker Compose,上一篇文章介绍过的. 安 ...
- Docker入门六部曲——Stack
原文链接:http://www.dubby.cn/detail.html?id=8739 准备知识 安装Docker(版本最低1.13). 阅读完Docker入门六部曲--Swarm,并且完成其中介绍 ...
- Docker入门六部曲——服务
原文链接:http://www.dubby.cn/detail.html?id=8735 准备 已经安装好Docker 1.13或者以上的版本. 安装好Docker Compose.如果你是用的是Do ...
- 【springboot】入门
简介: springBoot是spring团队为了整合spring全家桶中的系列框架做研究出来的一个轻量级框架.随着spring4.0推出而推出,springBoot可以説是J2SEE的一站式解决方案 ...
- SpringBoot (一) :入门篇 Hello World
什么是SpringBoot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不 ...
- 入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集-深度学习问题
入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集 GT_Zhang关注 0.1012019.08.01 18:43:34字数 1,874阅读 795 Hi,欢迎各位来自Paddl ...
- 5 分钟入门 Google 最强NLP模型:BERT
BERT (Bidirectional Encoder Representations from Transformers) 10月11日,Google AI Language 发布了论文 BERT: ...
最新文章
- 小明种苹果python_Python实现201909-2(小明种苹果(续))满分代码,带注释
- 使Chrome接受自签名的本地主机证书
- 彻底理解Spring AOP
- python3 gzip 压缩/解压
- eLua学习第一课:和Lua的第一次亲密接触
- 如何将多个Android Wear手表与单个手机配对
- 微信小程序 环形进度条_微信小程序:实时圆形进度条实现
- 微信开发 MySQL 存储 Emoji 表情
- java前端开发自动生成器_一个简单实用的java代码生成器
- 一些关于java网站开发的相关 文档/工具
- GDB调试 ORBSLAM3
- 苹果电脑上几款不错的cad绘图软件
- 第十届山东理工大学ACM网络编程擂台赛 重现
- java8时间转换函数学习,教你脱离jdf转换的痛苦
- Google与百度、搜狗合作,共同推进移动网络发展
- 0204隐函数及由参数方程所确定的函数的导数相关变化率-导数与微分
- 使用室内地图提升体育场体验的4种方式
- 智能指针以及rall
- FileReader的编码问题
- Linux内核在线源码
热门文章
- JavaScript基本的的语法规则
- 机械专业与python的联系_使用python进行机械设计计算
- 2021黎川一中高考成绩查询,2019年抚州各大高中高考喜报合集;猜猜哪个高中最厉害...
- 【java】poi-tl 1.9.1 word模板插入文本及动态复杂表格
- python捕获信号退出_[python]如何处理python程序的主动退出问题
- 暴雪曾要求网易支付 5 亿美元才能续约;暂停 GPT-5 研发呼吁引激战;Midjourney 停止免费试用|极客头条...
- redis入门(一):redis基本操作
- 【计算机组成原理】-- 原码,反码,补码,移码整数小数计算
- mysql常用注释符_为MYSQL加注释mysql注释符
- 2.14丨区块链情人节