在jBPM(八): 也说jBPM + Tomcat + MySQL
里,
介绍了如何配置jBPM自带例子webSale运行在Tomcat中, 也陈述了这样一个实事:
到目前为止,还没发现问题,尽管跟网上介绍的繁琐配置不一样.
jBPM(八)中的配置一个很大的不同点就是没有在Tomcat中配置JNDI,那么我们不意要问:webSale是怎么连的数据库呢?
翻遍了webSale的代码也没找到类似new
org.hibernate.cfg.Configuration().configure()这样的代码,而且更为神奇的是打开Hibernate的
Configuration类源码在关键地方(Configuration()和configure())设置了断点,Tomcat启动时竟然没停!
Tomcat启动后随便点webSale里的login等操作,前面设置的断点也没停!
这就是传说中的闹鬼?!
为了"捉鬼", 我把jBPM(八): 也说jBPM + Tomcat + MySQL
里
第四步拷到Eclipse里的hibernate.cfg.xml改了数据库连接, 心想: 这下看你webSale怎么连?
给你一个错的hibernate.connection.url. 果然没有连上,报"Could not obtain connection
metadata java.sql.SQLException:Access denied for user
'root'@'localhost' (using password: YES)"异常信息了. 呵呵, 看来这个世界上没鬼.
好吧, 既然没鬼了,那就按咱们先辈传来的唯物主义思想来查问题吧. 于是看了, 上面改hibernate.connection.url时的异常栈, 发现这么一条有用的执行语句:
at org.jbpm.persistence.db.DbPersistenceServiceFactory.getSessionFactory(DbPersistenceServiceFactory.java:91)
于是在Eclipse中Ctrl+Shift+T(打开源码的快捷方式)找到DbPersistenceServiceFactory类的第91行,原来有这么一条语句:
sessionFactory = getConfiguration().buildSessionFactory();
这
个buildSessionFactory()倒是自写HibernateUtil中的很常用的方法, 有门了,
于顺藤摸瓜地看getConfiguration()这个方法的定义,再进而找到了HibernateHelper这么个类,呵呵, 发现亲人了!
这不跟自写的HibernateUtil类很像么?
于是在这个HibernateHelper类里看到盼望已久的代码:
Configuration configuration = new Configuration();
.........
log.debug("using default hibernate configuration resource (hibernate.cfg.xml)");
configuration.configure();
到这里, 问题解决了95%了,再剩下的一个问题就是:是谁在调用上面红色代码的? webSale中体现在哪? 于是又一番顺藤摸瓜后, 发现是web.xml中配置的JbpmThreadsServlet类在init方法里以启动新线程的方式做了调用.
至此, "jBPM的webSale在Tomcat下怎么连数据库?"问题算是100%解决了,
不过在这个问题的解决送给我两个意外收获:JbpmThreadsServlet的妙用和HibernateUtil的职业写法,在后续的blog中将陆
续梳理出来,"予人余香,手留玫瑰"地贴在这里, 敬请关注.
分享到:
相关推荐
一个部署好的网上销售jbpm实例,对学习和入门很有帮助
jbpm jbpm4.3.jar DDDDDDDD
JBPM数据库表说明 2 1 流程配置类数据库表: 2 1.1 JBPM_PROCESSDEFINITION:流程模版表 2 1.2 JBPM_NODE:流程节点表 2 1.3 JBPM_TRANSITION:流程迁移表 3 1.4 JBPM_ACTION:流程动作表 4 1.5 JBPM_EVENT:流程...
jbpm 数据库jbpm 数据库jbpm 数据库jbpm 数据库jbpm 数据库
JBPM数据库表说明 2 1 流程配置类数据库表: 2 1.1 JBPM_PROCESSDEFINITION:流程模版表 2 1.2 JBPM_NODE:流程节点表 2 1.3 JBPM_TRANSITION:流程迁移表 3 1.4 JBPM_ACTION:流程动作表 4 1.5 JBPM_EVENT:...
NULL 博文链接:https://rmn190.iteye.com/blog/355261
jbpm创建数据库jbpm创建数据库jbpm创建数据库jbpm创建数据库jbpm创建数据库jbpm创建数据库jbpm创建数据库jbpm创建数据库jbpm创建数据库
jBPM开发:配置EclipseIDE开发环境.pdf
jBPM开发:配置EclipseIDE开发环境参考.pdf
只是一个简单的基于web的jbpm5.2项目,运行在tomcat上,只要正确的安装jbpm5以上版本,正确配置tomcat即可运行,tomcat配置问题可以给我发信息
如何将原有的H2数据库修改为指向mysql或者postgresql数据库。附实例
jbpm数据库表介绍,击杀跑了jbpm4.4所使用的数据库表关系 字段 作用
jBPM4.4 安装在Tomcat+MySql环境
本文件从JBPM的原理、实现方法、实例等方面详细讲解了JBPM的原理,包括以下内容: 1、JBPM特色: 3 2、流程图的组成: 3 2.1流转 (TRANSITION) 3 2.2活动 (ACTIVITY) 3 3、所用到的表: 4 3.1资源库与运行时表结构:...
生成基于Oracle的jBPM数据库脚本 1. 下载最新版本的 JBoss jBPM Starters kit。解压这个文件,假设解压目录为 "${jbpm.starters.kit}",它的下面应该有 jbpm, jbpm-bpel,jbpm-db,jbpm-designer,jbpm-server 五...
这是web-jbpm的开发框架,布署到tomcat里面用,只要生成一个mysql的jbpm数据库执行mysql.create.sql, 实现了上传流程定义文件.可以数据库中查看 里面的架包是jbpm-starters-kit-3.1.4\jbpm.3\lib下面的所有包; 还有...
jbpmweb工程 博文链接:https://lansky07.iteye.com/blog/285847
JBPM采购申请系统——05_构建JBPM数据库.7z JBPM采购申请系统——05_构建JBPM数据库.7z JBPM采购申请系统——05_构建JBPM数据库.7z JBPM采购申请系统——05_构建JBPM数据库.7z JBPM采购申请系统——05_构建JBPM...
jBPM4用mysql数据库安装到tomcat.
网上销售系统,Jbmp的应用例子,有流程开发的例子