2008-03-26

jBPM-JPDL v3.2环境部署——发布到Tomcat + MySQL

关键字: jbpm jpdl 部署 tomcat mysql 工作流

相关资料:

 

jBPM学习笔记(流程设计与控制)

jBPM学习笔记(框架设计简介)

 

系统平台:

 

系统环境:

Windows 2003 | SUN JDK1.6U4 | Tomcat6.0.14 | jbpm-starters-kit-3.1.4 | MySQL 6.0

主机完整名称:

       zsy-aten

浏览器

       Internet Explorer 6.0

 

安装包及相关软件:

 

1、  安装JDKMySQL

JDK的安装这里就不多说了,学过Java的人都知道,本实验安装的是jdk-6u4版本。安装完后记得添加JAVA_HOME的环境变量。

MySQL的安装不属于本文的介绍范围,请参阅相关文档。本实验安装的是MySQL 6.0版本,安装完后建立的数据库名为jbpm,创建的用户名为jbpmuser,密码为shine

2、  安装Tomcat

下载安装Tomcat-6.0.16是目前最新版本:http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.16/bin/apache-tomcat-6.0.16.exe ;要在JDK安装之后安装Tomcat,安装过程中会自动搜索JRE的目录,当然也可以选择其它的JRE,其它默认设置即可。

3、  安装Ant

Ant 是一个编译工具,使用 jBPM 时必须用它来编译文件, jBPM 中的很多操作都要用到 Ant ,安装方法如下:

1 先下载:http://apache.mirror.phpchina.com/ant/binaries/apache-ant-1.7.0-bin.zip

2 解压到 E:\Java\tools\apache-ant-1.7.0 (当然其他目录也可以);

3 设置环境变量:ANT_HOME= E:\Java\tools\apache-ant-1.7.0

4)把 %ANT_HOME%\bin 加入到环境变量 PATH 中。

4、  安装jBPM

下载jBPM-JPDL本为3.2.2http://labs.jboss.com/jbossjbpm/jbpm_downloads/下载jPDL Suite版,这个版本是包含所有的一整套工具,下载后是个压缩包解压到 E:\Java\tools :、\jbpm-jpdl-3.2.2 ,目录下主要包含以下几个子目录:

l  src —— jBPM 的源代码

l  config —— jBPMHibernatelog4j的配置文件

l  db —— 各种数据库的建表SQL语句

l  lib —— 依赖的第三方依赖类库

l  doc —— API文档及用户使用向导

l  designer —— 辅助开发 jBPM Eclipse 插件,具体在 eclipse子目录中

l  server —— 一个已经配置好了的基于 JBoss jBPM 控制台及示例

5、  安装EclipsejBPM开发插件

Eclipse不是开发 jBPM 必须的工具,但它是对 jBPM 开发很有帮助的工具,特别是 jBPM 提供了一个 Eclipse 插件用来辅助开发 jBPM 。关于 Eclipse 的安装请参阅相关文档。本实验安装的是MyEclipse6.0集成Eclipse3.3

       安装完Eclipse安装jBPM的开发插件,步骤如下:

(1)       打开Eclipse选择菜单“Help->Software Updates->Find and Install”;

(2)       弹出窗口中选择“Search for new features to install”,然后点击“Next >”;如图

jBPM-001

 

(3)       点击按扭“New Local Site…”选择插件目录,位于designer\ eclipse目录下,如:E:\Java\tools\jbpm-jpdl-3.2.2\designer\eclipse。选定后点“OK”,如图

jBPM-002

 

(4)       选中“designer/eclipse”,然后点击“Finish”,如图

jBPM-003 

 

(5)       然后选择同意条款,接提示步骤安装就可以了。

 

        到此为止需要的所有工具都安装好了。接下来先体验一下jBPM工作流。在 JBoss jBPM Starters Kit jbpm-server 目录是一个已经在JBoss中配置好的了 jBPM 示例,双击 jbpm-server 目录下的 start.bat 文件,启动 JBoss 服务。打开网页: http://localhost:8080/ jbpm-console 得到如下页面:

jBPM-004

这是一个流程控制管理平台,用右边的账号与密码就可以登录,这个控制台包括流程管理,可以部署流程、删除流程、查看流程图、管理流程实例等;还有任务管理,工作管理及用户与用户组管理。

 

基于TomcatMySQL的部署:

 

       现在要把上面演示的例子部署到Tomcat中,并将数据数配置为MySQL

STEP 1,初始化数据库

jBPM 需要数据库支持, jBPM 会把自己的一个初始化数据存储到数据库,同时工作流的数据也是存储到数据库中的。 jBPM 使用 Hibernate 作为的存储层。在E:\Java\tools\jbpm-jpdl-3.2.2\db\目录下有个jbpm.jpdl.mysql.sql数据库脚本文件。我们不能直接导入该文件, 会提示有错误, 应为该文件格式有问题, 首先打开该文件(推荐UltraEdit), 把前面的 alter table JBPM_XX 语句都删除(因为我们使用的是新的数据库,所以需要这些语句, 这个脚本文件是升级3.2的数据库表结构用的) 然后在每一行前面添加一个分号 不然脚本执行会出错。这样就可以用source命令导入了。 导入后, 表结构创建成功。

 STEP 2,准备发布包

       E:\Java\tools\jbpm-jpdl-3.2.2\deploy 文件夹下 运行ant customize.console.for.tomcat。执行命令后会在 E:\Java\tools\jbpm-jpdl-3.2.2\deploy\customized文件夹下生成一个jbpm-console.war 文件,用WinRaR解压开,并复制到已安装Tomcatwebapps目录下,jbpm还需三个依赖类库,分别是commons-collections.jarehcache-1.2.3.jarjta.jar,当然还有个MySQL驱动mysql-connector-java-5.0.7-bin.jar,添加这些jar文件 \$CATALINA_HOME\webapps\jbpm-console\WEB-INF\lib目录下。

 STEP 3,修改Hibernate数据库配置文件

       修改\$CATALINA_HOME\webapps\jbpm-console\WEB-INF\classeshibernate.cfg.xml文件。这是Hibernate的数据库配置文件,要做一些修改,原来内容如下:

<!--  hibernate dialect -->

  <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>

<!--  JDBC connection properties (begin) ===

  <property name="hibernate.connection.driver_class">

org.hsqldb.jdbcDriver</property>

  <property name="hibernate.connection.url">jdbc:hsqldb:mem:jbpm</property>

  <property name="hibernate.connection.username">sa</property>

  <property name="hibernate.connection.password"></property>

==== JDBC connection properties (end) -->

  <property name="hibernate.cache.provider_class">

org.hibernate.cache.HashtableCacheProvider</property>

<!--  DataSource properties (begin) -->

  <property name="hibernate.connection.datasource">java:/JbpmDS</property>

<!--  DataSource properties (end) -->

修改后如下:

<!-- hibernate dialect -->

<property name="hibernate.dialect">

org.hibernate.dialect.MySQLInnoDBDialect</property>

<property name="hibernate.connection.driver_class">

com.mysql.jdbc.Driver</property>

  <property name="hibernate.connection.url">

jdbc:mysql://localhost:3306/jbpm</property>

  <property name="hibernate.connection.username">jbpmuser</property>

  <property name="hibernate.connection.password">shine</property>

<property name="hibernate.cache.provider_class">

org.hibernate.cache.HashtableCacheProvider</property>
 STEP 4,设置Tomcat安全域

       有两种方法都可以实现,但摧荐第一种方法。

方法一:配置一个JDBC Realm,在\$CATALINA_HOME\webapps\jbpm-console\META-INF目录下新建context.xml文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<Context>

<Realm className="org.apache.catalina.realm.JDBCRealm"

  driverName="com.mysql.jdbc.Driver"

  connectionURL="jdbc:mysql://localhost:3306/jbpm"

  connectionName="jbpmuser"

  connectionPassword="shine"

userTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"

  userNameCol="g.TYPE_ = 'security-role' AND m.GROUP_ = g.ID_ AND m.USER_ = u.ID_ AND u.NAME_"

  userCredCol="DISTINCT u.PASSWORD_"

  userRoleTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"

  roleNameCol="g.NAME_" />

</Context>

方法二:直接修改 /$CATALINA_HOME/conf/tomcat-users.xml文件来设置安全域。为了不和tomcat已有的用户冲突,这里把 tomcat以前的登陆帐号username="admin" 修改为username="tadmin",修改后的文件如下:

<?xml version='1.0' encoding='utf-8'?>

<tomcat-users>

  <role rolename="user"/>

  <role rolename="administrator"/>

  <role rolename="manager"/>

  <role rolename="sales"/>

  <role rolename="hr"/>

  <role rolename="admin"/>

  <role rolename="participant"/>

  <user username="user" password="user" roles="user,sales"/>

  <user username="shipper" password="shipper" roles="user,hr"/>

  <user username="manager" password="manager" roles="admin,hr,manager,user,sales"/>

  <user username="tadmin" password="" roles="admin,manager"/>
  <user username="admin" password="admin" roles="admin,user,hr"/>
</tomcat-users>

 STEP 5,初始化基础的用户数据

MySQL数据库中执行以下SQL语句,进行初始化用户信息,如下:

INSERT INTO JBPM_ID_GROUP VALUES(1,'G','sales','organisation',NULL);

INSERT INTO JBPM_ID_GROUP VALUES(2,'G','admin','security-role',NULL);

INSERT INTO JBPM_ID_GROUP VALUES(3,'G','user','security-role',NULL);

INSERT INTO JBPM_ID_GROUP VALUES(4,'G','hr','organisation',NULL);

INSERT INTO JBPM_ID_GROUP VALUES(5,'G','manager','security-role',NULL);

INSERT INTO JBPM_ID_USER VALUES(1,'U','user','user@sample.domain','user');

INSERT INTO JBPM_ID_USER VALUES(2,'U','manager','manager@sample.domain','manager');

INSERT INTO JBPM_ID_USER VALUES(3,'U','admin','admin@sample.domain','admin');

INSERT INTO JBPM_ID_USER VALUES(4,'U','shipper','shipper@sample.domain','shipper');

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(1,'M',NULL,NULL,2,4);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(2,'M',NULL,NULL,3,4);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(3,'M',NULL,NULL,4,4);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(4,'M',NULL,NULL,4,3);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(5,'M',NULL,NULL,1,3);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(6,'M',NULL,NULL,2,3);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(7,'M',NULL,NULL,3,3);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(8,'M',NULL,NULL,3,2);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(9,'M',NULL,NULL,2,2);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(10,'M',NULL,NULL,2,5);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(11,'M',NULL,'boss',2,1);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(12,'M',NULL,NULL,1,1);
 STEP 6,启动Tomcat服务

启动时查看Tomcat的日志,检查是否正常启动,未添加所有支持库或数据库配置出错,都会引起启动失败。

       注意:到此为止启动TomcatJBPM服务就能正常运行了,已经可以在上面发布流程,接着第五步中部署一个jbpm自带的流程例子。 

 

STEP 7,发布例子流程

       打开网页:http://localhost:8080/jbpm 得到如下页面就说明已经部署成功:

jBPM-004 

用右边的manage账号登录,如下图:

jBPM-005

点击“Deploy”转到部署流程页面,点击“浏览”按扭选择E:\Java\tools\jbpm-jpdl-3.2.2\examples\websale\target\websale.jpdl文件,名后点击“Deploy”按扭部署。

jBPM-005 

 

 

 

 

 

 

 

 

评论
jzx19770812 2008-04-29
hbksunshine 写道
第四步是做什么的?

我的应用能起来,但登陆时:(第四步是用方式1)
Login failed. Invalid user name or password.


使用方式2却是可以的。


java.lang.NoClassDefFoundError: bsh/TargetError
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getDeclaredMethods(Unknown Source)
at org.hibernate.property.BasicPropertyAccessor.getterMethod(BasicPropertyAccessor.java:317)

这又是少了什么?


少了bsh-xxx.jar,网上找找就有了
jzx19770812 2008-04-29
对于第一种方式连接无法登录的情况,只要把mysql驱动,jta.jar和common-collections.jar这三个包复制到tomcat的共享库就没事了。
hbksunshine 2008-04-28
第四步是做什么的?

我的应用能起来,但登陆时:(第四步是用方式1)
Login failed. Invalid user name or password.


使用方式2却是可以的。


java.lang.NoClassDefFoundError: bsh/TargetError
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getDeclaredMethods(Unknown Source)
at org.hibernate.property.BasicPropertyAccessor.getterMethod(BasicPropertyAccessor.java:317)

这又是少了什么?
hbksunshine 2008-04-28
2008-4-28 14:12:46 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
java.lang.NoClassDefFoundError: edu/emory/mathcs/backport/java/util/Arrays
at com.sun.faces.renderkit.RenderKitUtils.<clinit>(RenderKitUtils.java:155)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:468)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3729)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4187)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:809)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:698)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
2008-4-28 14:12:46 org.apache.catalina.core.StandardContext listenerStop
严重: Exception sending context destroyed event to listener instance of class com.sun.faces.config.ConfigureListener
java.lang.NoClassDefFoundError: edu/emory/mathcs/backport/java/util/concurrent/ConcurrentMap
at com.sun.faces.config.ConfigureListener.contextDestroyed(ConfigureListener.java:498)
at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:3770)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4339)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4217)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:809)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:698)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)


这是什么包呀?
控制台信息:

信息: WARNING: Security role name user used in an <auth-constraint> without being defined in a <security-role>
2008-4-28 14:12:45 com.sun.faces.config.ConfigureListener contextInitialized
信息: Initializing Sun's JavaServer Faces implementation (1.2_03-b09-FCS) for context 'null'


已解决。
uniquejava 2008-04-26
跑起来了,谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!GOD BLESS YOU

step7笔误了
应该是jbpm-console
xuxu0310 2008-04-23
lz有邮箱或者别的什么吗,我现在做毕业设计,已经两个月了,到现在还没有把jbpm环境弄好,着急啊,希望能和LZ多多交流。
我按照LZ的步骤一步一步来的,还有很多 的错误,到现在还没有解决。
xuxu0310 2008-04-23
LZ,我用的数据库是mysql6.0,但是导入jbpm.jpdl.mysql.sql时,出现错误, 说type=innobd的用法有语法错误,为什么啊
linliangyi2007 2008-04-21
shikixin 写道
ehcache-1.2.3.jar、jta.jar,还有MySQL驱动mysql-connector-java-5.0.7-bin.jar这三个文件是在哪的啊,我找不着,自己在网上下的,版本还不一样,这有影响吗?



ehcache-1.2.3.jar、jta.jar,这两个包在hibernate的下载包中,mysql-connector-java-5.0.7-bin.jar可以上mysql的网站下载
shikixin 2008-04-21
ehcache-1.2.3.jar、jta.jar,还有MySQL驱动mysql-connector-java-5.0.7-bin.jar这三个文件是在哪的啊,我找不着,自己在网上下的,版本还不一样,这有影响吗?
linliangyi2007 2008-04-20
shikixin 写道
数据连接配置出错了?我是按照lz的步骤来的啊。
怎样修改数据连接配置啊,是重新部署一遍吗?


兄弟,你如果是按我问章中写的配置,如何会出现jndi的datasource作为数据源呢?我的文章中,数据库是jdbc直连式哒
shikixin 2008-04-19
数据连接配置出错了?我是按照lz的步骤来的啊。
怎样修改数据连接配置啊,是重新部署一遍吗?
linliangyi2007 2008-04-18
shikixin 写道
org.apache.catalina.starup.context config validtesecurityroles
warning:security role name user used in an <auth-constraint>without being defind in a <security-role>

org.hibernate.connection.datasource connectionprovider configure
严重:could not find datasource:java/jbpmds
javax.naming.namenotfoundexception:namejbpmdsis not bound in this context
at org.apache.naming.naming context.lookup(naming context.java:770)
......

org.jbpm.job.executor.job excutorthread run
严重:exception in job executor thread waiting 5000 milliseconds
org.hibernate.hibernateexception:could not find datasource

这是什么地方出错了啊,我找了好久都没有找出来,lz和朋友们帮忙看看



这个很明显是数据连接配置有问题啊,找不到数据源java/jbpmds
shikixin 2008-04-18
还有就是我用mysql6.0老是出错,现在用的是mysl5.0,这对jbpm的部署有什么影响啊
shikixin 2008-04-18
org.apache.catalina.starup.context config validtesecurityroles
warning:security role name user used in an <auth-constraint>without being defind in a <security-role>

org.hibernate.connection.datasource connectionprovider configure
严重:could not find datasource:java/jbpmds
javax.naming.namenotfoundexception:namejbpmdsis not bound in this context
at org.apache.naming.naming context.lookup(naming context.java:770)
......

org.jbpm.job.executor.job excutorthread run
严重:exception in job executor thread waiting 5000 milliseconds
org.hibernate.hibernateexception:could not find datasource

这是什么地方出错了啊,我找了好久都没有找出来,lz和朋友们帮忙看看
linliangyi2007 2008-04-12
楼上的,要将jsf的两个支持jar文件拷到tomcat的comm\lib目录下才行
yang52081 2008-04-12
楼住你好,我是刚学习jbpm的新手,我把jbpm和web页面连在一起使用。
用的是Eclipse3.3 + Myeclipse + jbpm3.1.4 + Tomcat 6.0 在配置Spring2.0 + Hibernate3.0 + Struts1.2 文件后抛出异常如下:
2008-4-12 13:50:13 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class org.apache.myfaces.webapp.StartupServletContextListener
java.lang.NoClassDefFoundError: org/apache/commons/el/Logger
at org.apache.myfaces.util.ClassUtils.<clinit>(ClassUtils.java:41)
at org.apache.myfaces.config.FacesConfigurator.feedStandardConfig(FacesConfigurator.java:138)
at org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:115)
at org.apache.myfaces.webapp.StartupServletContextListener.initFaces(StartupServletContextListener.java:63)
at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:46)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3830)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4337)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2008-4-12 13:50:15 org.apache.catalina.core.ApplicationContext log

[framework]2008-04-12 13:50:44,110 - org.springframework.web.context.ContextLoader -28719 [main] ERROR org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jbpmConfiguration' defined in ServletContext resource [/WEB-INF/springconfig/applicationContext.xml]: Initialization of bean failed; nested exception is org.jbpm.configuration.ConfigurationException: name 'default.jbpm.context' is not defined in the configuration. configured names: []
org.jbpm.configuration.ConfigurationException: name 'default.jbpm.context' is not defined in the configuration. configured names: []
at org.jbpm.configuration.ObjectFactoryImpl.createObject(ObjectFactoryImpl.java:76)
at org.jbpm.JbpmConfiguration.createJbpmContext(JbpmConfiguration.java:343)
at org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean.afterPropertiesSet(LocalJbpmConfigurationFactoryBean.java:138)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1059)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:363)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:269)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:320)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3830)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4337)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2008-4-12 13:50:44 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jbpmConfiguration' defined in ServletContext resource [/WEB-INF/springconfig/applicationContext.xml]: Initialization of bean failed; nested exception is org.jbpm.configuration.ConfigurationException: name 'default.jbpm.context' is not defined in the configuration. configured names: []
org.jbpm.configuration.ConfigurationException: name 'default.jbpm.context' is not defined in the configuration. configured names: []
at org.jbpm.configuration.ObjectFactoryImpl.createObject(ObjectFactoryImpl.java:76)
at org.jbpm.JbpmConfiguration.createJbpmContext(JbpmConfiguration.java:343)
at org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean.afterPropertiesSet(LocalJbpmConfigurationFactoryBean.java:138)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1059)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:363)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:269)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:320)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3830)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4337)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2008-4-12 13:50:44 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2008-4-12 13:50:44 org.apache.catalina.core.StandardContext start
严重: Context [/j2eetest] startup failed due to previous errors
2008-4-12 13:50:44 org.apache.catalina.core.ApplicationContext log
信息: Closing Spring root WebApplicationContext
2008-4-12 13:50:44 org.apache.catalina.core.ApplicationContext log
信息: Shutting down Log4J

请楼住帮忙看,在这先说声谢谢!
snowolf819 2008-04-09
如果用的是tomcat6以下版本,需要手动在\$CATALINA_HOME\webapps\jbpm-console\WEB-INF\lib下加入el-api.jar和el-ri.jar,否则会在tomacat启动时报
Error listenerStart的错误
firefoxqz 2008-03-31
ok了。
参照spiritfrog的回帖,把mysql的驱动放到tomcat 的lib下,重新启动,登陆没问题了。
firefoxqz 2008-03-31
登陆时提示:Login failed. Invalid user name or password. 数据库换了mysql5.0.51a-community-nt,用跟踪器 show profiles; 发现用输入用户名密码时没有访问数据库。
配置文件hibenate.cfg.xml<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
<session-factory>

<!-- hibernate dialect -->
<!-- <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
-->
<!-- JDBC connection properties (begin) ===
<property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="hibernate.connection.url">jdbc:hsqldb:mem:jbpm</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.connection.password"></property>
==== JDBC connection properties (end) -->

<!-- <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
-->
<!-- DataSource properties (begin) -->
<!-- <property name="hibernate.connection.datasource">java:/JbpmDS</property> -->
<!-- DataSource properties (end) -->

<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>

<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>

<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpm</property>

<property name="hibernate.connection.username">root</property>

<property name="hibernate.connection.password">root</property>

<property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
<!--
<property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property> -->


<!-- JTA transaction properties (begin) ===
<property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
<property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
==== JTA transaction properties (end) -->

<!-- CMT transaction properties (begin) ===
<property name="hibernate.transaction.factory_class">org.hibernate.transaction.CMTTransactionFactory</property>
<property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
==== CMT transaction properties (end) -->

<!-- logging properties (begin) ===
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.use_sql_comments">true</property>
==== logging properties (end) -->

<!-- ############################################ -->
<!-- # mapping files with external dependencies # -->
<!-- ############################################ -->

<!-- following mapping file has a dependendy on -->
<!-- 'bsh-{version}.jar'. -->
<!-- uncomment this if you don't have bsh on your -->
<!-- classpath. you won't be able to use the -->
<!-- script element in process definition files -->
<mapping resource="org/jbpm/graph/action/Script.hbm.xml"/>

<!-- following mapping files have a dependendy on -->
<!-- 'jbpm-identity.jar', mapping files -->
<!-- of the pluggable jbpm identity component. -->
<!-- Uncomment the following 3 lines if you -->
<!-- want to use the jBPM identity mgmgt -->
<!-- component. -->
<!-- identity mappings (begin) -->
<mapping resource="org/jbpm/identity/User.hbm.xml"/>
<mapping resource="org/jbpm/identity/Group.hbm.xml"/>
<mapping resource="org/jbpm/identity/Membership.hbm.xml"/>
<!-- identity mappings (end) -->

<!-- following mapping files have a dependendy on -->
<!-- the JCR API -->
<!-- jcr mappings (begin) ===
<mapping resource="org/jbpm/context/exe/variableinstance/JcrNodeInstance.hbm.xml"/>
==== jcr mappings (end) -->


<!-- ###################### -->
<!-- # jbpm mapping files # -->
<!-- ###################### -->

<!-- hql queries and type defs -->
<mapping resource="org/jbpm/db/hibernate.queries.hbm.xml" />

<!-- graph.action mapping files -->
<mapping resource="org/jbpm/graph/action/MailAction.hbm.xml"/>

<!-- graph.def mapping files -->
<mapping resource="org/jbpm/graph/def/ProcessDefinition.hbm.xml"/>
<mapping resource="org/jbpm/graph/def/Node.hbm.xml"/>
<mapping resource="org/jbpm/graph/def/Transition.hbm.xml"/>
<mapping resource="org/jbpm/graph/def/Event.hbm.xml"/>
<mapping resource="org/jbpm/graph/def/Action.hbm.xml"/>
<mapping resource="org/jbpm/graph/def/SuperState.hbm.xml"/>
<mapping resource="org/jbpm/graph/def/ExceptionHandler.hbm.xml"/>
<mapping resource="org/jbpm/instantiation/Delegation.hbm.xml"/>

<!-- graph.node mapping files -->
<mapping resource="org/jbpm/graph/node/StartState.hbm.xml"/>
<mapping resource="org/jbpm/graph/node/EndState.hbm.xml"/>
<mapping resource="org/jbpm/graph/node/ProcessState.hbm.xml"/>
<mapping resource="org/jbpm/graph/node/Decision.hbm.xml"/>
<mapping resource="org/jbpm/graph/node/Fork.hbm.xml"/>
<mapping resource="org/jbpm/graph/node/Join.hbm.xml"/>
<mapping resource="org/jbpm/graph/node/MailNode.hbm.xml"/>
<mapping resource="org/jbpm/graph/node/State.hbm.xml"/>
<mapping resource="org/jbpm/graph/node/TaskNode.hbm.xml"/>

<!-- context.def mapping files -->
<mapping resource="org/jbpm/context/def/ContextDefinition.hbm.xml"/>
<mapping resource="org/jbpm/context/def/VariableAccess.hbm.xml"/>

<!-- taskmgmt.def mapping files -->
<mapping resource="org/jbpm/taskmgmt/def/TaskMgmtDefinition.hbm.xml"/>
<mapping resource="org/jbpm/taskmgmt/def/Swimlane.hbm.xml"/>
<mapping resource="org/jbpm/taskmgmt/def/Task.hbm.xml"/>
<mapping resource="org/jbpm/taskmgmt/def/TaskController.hbm.xml"/>

<!-- module.def mapping files -->
<mapping resource="org/jbpm/module/def/ModuleDefinition.hbm.xml"/>

<!-- bytes mapping files -->
<mapping resource="org/jbpm/bytes/ByteArray.hbm.xml"/>

<!-- file.def mapping files -->
<mapping resource="org/jbpm/file/def/FileDefinition.hbm.xml"/>

<!-- scheduler.def mapping files -->
<mapping resource="org/jbpm/scheduler/def/CreateTimerAction.hbm.xml"/>
<mapping resource="org/jbpm/scheduler/def/CancelTimerAction.hbm.xml"/>

<!-- graph.exe mapping files -->
<mapping resource="org/jbpm/graph/exe/Comment.hbm.xml"/>
<mapping resource="org/jbpm/graph/exe/ProcessInstance.hbm.xml"/>
<mapping resource="org/jbpm/graph/exe/Token.hbm.xml"/>
<mapping resource="org/jbpm/graph/exe/RuntimeAction.hbm.xml"/>

<!-- module.exe mapping files -->
<mapping resource="org/jbpm/module/exe/ModuleInstance.hbm.xml"/>

<!-- context.exe mapping files -->
<mapping resource="org/jbpm/context/exe/ContextInstance.hbm.xml"/>
<mapping resource="org/jbpm/context/exe/TokenVariableMap.hbm.xml"/>
<mapping resource="org/jbpm/context/exe/VariableInstance.hbm.xml"/>
<mapping resource="org/jbpm/context/exe/variableinstance/ByteArrayInstance.hbm.xml"/>
<mapping resource="org/jbpm/context/exe/variableinstance/DateInstance.hbm.xml"/>
<mapping resource="org/jbpm/context/exe/variableinstance/DoubleInstance.hbm.xml"/>
<mapping resource="org/jbpm/context/exe/variableinstance/HibernateLongInstance.hbm.xml"/>
<mapping resource="org/jbpm/context/exe/variableinstance/HibernateStringInstance.hbm.xml"/>
<mapping resource="org/jbpm/context/exe/variableinstance/LongInstance.hbm.xml"/>
<mapping resource="org/jbpm/context/exe/variableinstance/NullInstance.hbm.xml"/>
<mapping resource="org/jbpm/context/exe/variableinstance/StringInstance.hbm.xml"/>

<!-- job mapping files -->
<mapping resource="org/jbpm/job/Job.hbm.xml"/>
<mapping resource="org/jbpm/job/Timer.hbm.xml"/>
<mapping resource="org/jbpm/job/ExecuteNodeJob.hbm.xml"/>
<mapping resource="org/jbpm/job/ExecuteActionJob.hbm.xml"/>

<!-- taskmgmt.exe mapping files -->
<mapping resource="org/jbpm/taskmgmt/exe/TaskMgmtInstance.hbm.xml"/>
<mapping resource="org/jbpm/taskmgmt/exe/TaskInstance.hbm.xml"/>
<mapping resource="org/jbpm/taskmgmt/exe/PooledActor.hbm.xml"/>
<mapping resource="org/jbpm/taskmgmt/exe/SwimlaneInstance.hbm.xml"/>

<!-- logging mapping files -->
<mapping resource="org/jbpm/logging/log/ProcessLog.hbm.xml"/>
<mapping resource="org/jbpm/logging/log/MessageLog.hbm.xml"/>
<mapping resource="org/jbpm/logging/log/CompositeLog.hbm.xml"/>
<mapping resource="org/jbpm/graph/log/ActionLog.hbm.xml"/>
<mapping resource="org/jbpm/graph/log/NodeLog.hbm.xml"/>
<mapping resource="org/jbpm/graph/log/ProcessInstanceCreateLog.hbm.xml"/>
<mapping resource="org/jbpm/graph/log/ProcessInstanceEndLog.hbm.xml"/>
<mapping resource="org/jbpm/graph/log/ProcessStateLog.hbm.xml"/>
<mapping resource="org/jbpm/graph/log/SignalLog.hbm.xml"/>
<mapping resource="org/jbpm/graph/log/TokenCreateLog.hbm.xml"/>
<mapping resource="org/jbpm/graph/log/TokenEndLog.hbm.xml"/>
<mapping resource="org/jbpm/graph/log/TransitionLog.hbm.xml"/>
<mapping resource="org/jbpm/context/log/VariableLog.hbm.xml"/>
<mapping resource="org/jbpm/context/log/VariableCreateLog.hbm.xml"/>
<mapping resource="org/jbpm/context/log/VariableDeleteLog.hbm.xml"/>
<mapping resource="org/jbpm/context/log/VariableUpdateLog.hbm.xml"/>
<mapping resource="org/jbpm/context/log/variableinstance/ByteArrayUpdateLog.hbm.xml"/>
<mapping resource="org/jbpm/context/log/variableinstance/DateUpdateLog.hbm.xml"/>
<mapping resource="org/jbpm/context/log/variableinstance/DoubleUpdateLog.hbm.xml"/>
<mapping resource="org/jbpm/context/log/variableinstance/HibernateLongUpdateLog.hbm.xml"/>
<mapping resource="org/jbpm/context/log/variableinstance/HibernateStringUpdateLog.hbm.xml"/>
<mapping resource="org/jbpm/context/log/variableinstance/LongUpdateLog.hbm.xml"/>
<mapping resource="org/jbpm/context/log/variableinstance/StringUpdateLog.hbm.xml"/>
<mapping resource="org/jbpm/taskmgmt/log/TaskLog.hbm.xml"/>
<mapping resource="org/jbpm/taskmgmt/log/TaskCreateLog.hbm.xml"/>
<mapping resource="org/jbpm/taskmgmt/log/TaskAssignLog.hbm.xml"/>
<mapping resource="org/jbpm/taskmgmt/log/TaskEndLog.hbm.xml"/>
<mapping resource="org/jbpm/taskmgmt/log/SwimlaneLog.hbm.xml"/>
<mapping resource="org/jbpm/taskmgmt/log/SwimlaneCreateLog.hbm.xml"/>
<mapping resource="org/jbpm/taskmgmt/log/SwimlaneAssignLog.hbm.xml"/>

</session-factory>
</hibernate-configuration>

context.xml
<?xml version="1.0" encoding="UTF-8"?>

<Context path="/jbpm-console" docBase="D:/develop/Tomcat 6.0/webapps/jbpm-console"
debug="5" reloadable="true" crossContext="true">


<Realm className="org.apache.catalina.realm.JDBCRealm"

driverName="com.mysql.jdbc.Driver"

connectionURL="jdbc:mysql://localhost:3306/jbpm"

connectionName="root"

connectionPassword="root"

userTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"

userNameCol="g.TYPE_ = 'security-role' AND m.GROUP_ = g.ID_ AND m.USER_ = u.ID_ AND u.NAME_"

userCredCol="DISTINCT u.PASSWORD_"

userRoleTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"

roleNameCol="g.NAME_" />

</Context>
spiritfrog 2008-03-31
搞定了,换一个tomcat6就可以了,没有仔细看lz的环境,才弄了半天。
发表评论

提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则

您还没有登录,请登录后发表评论

linliangyi2007
搜索本博客
我的相册
A63b2e65-bc0e-30f0-9003-1a6debded161-thumb
2008五一南江滨 050S
共 117 张
存档
最新评论