2007-03-13
手动发布JBPM默认Demo到Tomcat和MySQL
关键字: jbpmStep 1 下载 jbpm-starters-kit-3.1.4 ,减压: D:\jbpm-starters-kit-3.1.4 。
Step 2 在 Eclipse (已经安装了 jbpm-designer 插件)里导入工程 D:\jbpm-starters-kit-3.1.4\jbpm ,如下图:这时,你可以看到 JBPM 的源代码和 Demo 的代码。
Step 3 下载 mysql, 并且让它启动(参考如何启动 Mysql 的资料),创建一个数据库 jbpmdb 。并且执行脚本: D:\jbpm-starters-kit-3.1.4\jbpm-db\build\mysql\scripts\mysql.create.sql 。
Step 4 添加 Demo 默认的用户数据,执行下面的脚本:
sql 代码
- insert into JBPM_ID_USER (ID_, CLASS_, NAME_, EMAIL_, PASSWORD_)
- values
- ( ' 1 ' , ' U ' , ' cookie monster ' , ' cookie.monster@sesamestreet.tv ' , ' crunchcrunch ' ),
- ( ' 2 ' , ' U ' , ' ernie ' , ' ernie@sesamestreet.tv ' , ' canthereyoubert,theresabananainmyear ' ),
- ( ' 3 ' , ' U ' , ' bert ' , ' bert@sesamestreet.tv ' , ' ernie,theresabananainyourear ' );
- ( ' 4 ' , ' U ' , ' grover ' , ' grover@sesamestreet.tv ' , ' mayday mayday ' );
Step 5 下载 Tomcat5.5.17 ,并让它启动 ( 参考如何启动 Tomcat 的资料 ) 。假设它在 D:\Tools\tomcat-5.5.17 。
Step 6 减压 D:\jbpm-starters-kit-3.1.4\jbpm-server\server\jbpm\deploy\jbpm.war( 可以先修改 war 为 rar 扩展名 ) 。并把它复制到 D:\Tools\tomcat-5.5.17\webapps 目录下:
Step 7 为 Jbpm 这个 context (在 Tomcat 的称呼,其实就是一个应用),添加支持库,一般都在 D:\jbpm-starters-kit-3.1.4 能搜索到,最后 D:\Tools\tomcat-5.5.17\webapps\jbpm\WEB-INF\lib 目录下的文件有:
Step 8 为 Jbpm Demo 提供 3 个配置文件,在 D:\Tools\tomcat-5.5.17\webapps\jbpm\WEB-INF\classes 目录下,添加 3 个文件: jbpm.cfg.xml 、 hibernate.cfg.xml 、 log4j.properties 。他们来自 D:\jbpm-starters-kit-3.1.4\jbpm\src\config.files 目录, hibernate.cfg.xml 开头需要做一些改动,如下代码,显然 mysql 的用户 root 的密码这里是空的:
xml 代码
- <session-factory>
- <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
- <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
- <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpmdb</property>
- <property name="hibernate.connection.username">root</property>
- <property name="hibernate.connection.password"></property>
- <!-- ############################################ -->
- <!-- # mapping files with external dependencies # -->
- <!-- ############################################ -->
Step 9 为这个 Jbpm 的 context 发布默认的 Demo ( mysql 和 tomcat 都已启动的时候)。在 Eclipse 中打开 processdefinition.xml ,如下图所示的设置(这里的 tomcat 端口我改用 8082 ),先后电机 test connection 和 deploy process archive (实际这个过程是往数据库里存放了一些数据)。

附录 1 ,如何用 hsqldb 的 manager 查看 jbpm 的数据表?
默认数据库的位置在: D:\jbpm-starters-kit-3.1.4\jbpm-server\server\jbpm\data\hypersonic\localDB.script.
Hsqldb Manager 的连接配置如图:
- 20:14
- 浏览 (12369)
- 论坛浏览 (14155)
- 评论 (16)
- 发布在 JBPM @net 圈子
- 相关推荐
评论
wangyi878750
2007-09-17
回复
我部署好了
但是走流程的时候老初问题,尚在研究
但是走流程的时候老初问题,尚在研究
我按以上java.io.FileNotFoundException: http://localhost:8808/jbpm/upload
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at org.jbpm.ui.util.ProcessDeployer.deployProcessWithServlet(Unknown Source)
at org.jbpm.ui.util.ProcessDeployer.access$3(Unknown Source)
at org.jbpm.ui.util.ProcessDeployer$1.run(Unknown Source)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:369)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:313)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:479)
at org.jbpm.ui.util.ProcessDeployer.showProgressMonitorDialog(Unknown Source)
at org.jbpm.ui.util.ProcessDeployer.deploy(Unknown Source)
at org.jbpm.ui.editor.form.deployment.DeploymentForm$1.widgetSelected(Unknown Source)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)
进行,可是到test connection时,出错
我也出了同样的错,和pillip的错误一样,即使是例子也不能发布到test connection时总是出错,能问下为什么吗?有解决的给个建议,eclipse tomcat 都重新设置了N次还是不行
有没有在eclipse可以通过的例子,想用test connection测试下,
我用junit测试可以通过,就是到test connection时出错
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at org.jbpm.ui.util.ProcessDeployer.deployProcessWithServlet(Unknown Source)
at org.jbpm.ui.util.ProcessDeployer.access$3(Unknown Source)
at org.jbpm.ui.util.ProcessDeployer$1.run(Unknown Source)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:369)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:313)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:479)
at org.jbpm.ui.util.ProcessDeployer.showProgressMonitorDialog(Unknown Source)
at org.jbpm.ui.util.ProcessDeployer.deploy(Unknown Source)
at org.jbpm.ui.editor.form.deployment.DeploymentForm$1.widgetSelected(Unknown Source)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)
进行,可是到test connection时,出错
我也出了同样的错,和pillip的错误一样,即使是例子也不能发布到test connection时总是出错,能问下为什么吗?有解决的给个建议,eclipse tomcat 都重新设置了N次还是不行
有没有在eclipse可以通过的例子,想用test connection测试下,
我用junit测试可以通过,就是到test connection时出错
我使用是sqlserver数据库,在点击deploy时报如下错误(点击test connection时提示连接好的)
[http-8080-1] WARN JpdlXmlReader : process xml warning: swimlane 'buyer' does not have an assignment
[http-8080-1] ERROR StandardWrapperValve : Servlet.service() for servlet UploadServlet threw exception
org.hibernate.MappingException: Resource: org/jbpm/identity/User.hbm.xml not found
但是上面的User.hbm.xml我明明能找到的呀
[http-8080-1] WARN JpdlXmlReader : process xml warning: swimlane 'buyer' does not have an assignment
[http-8080-1] ERROR StandardWrapperValve : Servlet.service() for servlet UploadServlet threw exception
org.hibernate.MappingException: Resource: org/jbpm/identity/User.hbm.xml not found
但是上面的User.hbm.xml我明明能找到的呀
我配置好了,但是有问题,创建create new web sale order后保存,tasklist应该列举出来我刚才新增的order,但是啥都没有,后来调试发现
jbpm_taskinstance表中issuspended字段应该为false才能显示出来tasklist,但是里边字段值为true。
jbpm自带的jbpm-starters-kit-3.1.4\jbpm-server\倒是跑的很好,整个流程都能走完。
还有楼主的这个例子有个很明显的错误,就是数据没有准备好,添加 Demo 默认的用户数据,但是没有添加群组关系,不知道我新增不了是否和这个有关系。期待解决。。。。
jbpm_taskinstance表中issuspended字段应该为false才能显示出来tasklist,但是里边字段值为true。
jbpm自带的jbpm-starters-kit-3.1.4\jbpm-server\倒是跑的很好,整个流程都能走完。
还有楼主的这个例子有个很明显的错误,就是数据没有准备好,添加 Demo 默认的用户数据,但是没有添加群组关系,不知道我新增不了是否和这个有关系。期待解决。。。。
amsun_moon
2007-06-04
回复
请问“Step 2 在 Eclipse (已经安装了 jbpm-designer 插件)”已经安装了的jbpm-designer插件,是http://www.jboss.com/products/jbpm/downloads上下载的JBOSS JBPM PROCESS DESINGER PLUGIN吗?
想问一下,把jbpm.war复制到tomcat-5.5.17\webapps 目录下之后再启动tomcat就已经报错了~~~~大家没有这个问题吗?就是因为这里就报错了后面在eclipse里面deploy的时候自然不能成功吧。我加了一个commons-el.jar之后之前的问题没有了,但是有新的错误java.lang.ClassNotFoundException: org.jbpm.web.JbpmContextFilter,有人知道这是缺少哪个jar吗?
我是全部按照你的步骤配置的.但是在发布流程的时候却报错了..
Server Name:localhost
Server Port:8080
Server Deployer:/jbpm/upload
Server Name:localhost
Server Port:8080
Server Deployer:/jbpm/upload
LeanderSaka
2007-03-15
回复
说的很详细诶,的确受益非浅,谢谢LZ了
发表评论
该博客是同时发布到论坛的,无法评论在论坛已被锁定的帖子
- 浏览: 37141 次
- 性别:

- 来自: Shang Hai

- 详细资料
搜索本博客
最近加入圈子
链接
最新评论
-
手动发布JBPM默认Demo到To ...
我部署好了但是走流程的时候老初问题,尚在研究
-- by wangyi878750 -
手动发布JBPM默认Demo到To ...
我按以上java.io.FileNotFoundException: http: ...
-- by z-z-q -
手动发布JBPM默认Demo到To ...
我使用是sqlserver数据库,在点击deploy时报如下错误(点击test ...
-- by wjddjsm -
手动发布JBPM默认Demo到To ...
我配置好了,但是有问题,创建create new web sale order后 ...
-- by 侯霸天 -
手动发布JBPM默认Demo到To ...
请问“Step 2 在 Eclipse (已经安装了 jbpm-designer ...
-- by amsun_moon






评论排行榜