`
eworkflow
  • 浏览: 221159 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

web工作流管理系统开发之十 数据库连接及事务设定

阅读更多

为了方便设置数据库连接和事务的一致,将所有数据库连接信息统一设置在fcconfig.xml文件中;

 

fcconfig.xml的内容:


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

<root>
 <datasources>
  <ds name="fhjtest" dbType="sqlserver"
   type="jdbc" jdbcDriver="com.newatlanta.jturbo.driver.Driver" jdbcUrl="jdbc:JTurbo://localhost/eformtest/charset=GBK" user="sa" password="" />
  <ds name="ebsql" dbType="sqlserver"
   type="jdbc" jdbcDriver="com.newatlanta.jturbo.driver.Driver" jdbcUrl="jdbc:JTurbo://localhost/ebtest/charset=GBK" user="sa" password="" />
  <ds name="eformsql" dbType="sqlserver"
   type="jdbc" jdbcDriver="com.newatlanta.jturbo.driver.Driver" jdbcUrl="jdbc:JTurbo://localhost/eformtest/charset=GBK" user="sa" password="" />
  <ds name="eboracle" dbType="oracle"
   type="jdbc" jdbcDriver="oracle.jdbc.driver.OracleDriver" jdbcUrl="jdbc:oracle:thin:@localhost:1521:sys" user="eboracle" password="eboracle" />
  <ds name="eformoracle" dbType="oracle"
   type="jdbc" jdbcDriver="oracle.jdbc.driver.OracleDriver" jdbcUrl="jdbc:oracle:thin:@localhost:1521:sys" user="eformtest" password="eformtest" />
   

  <ds name="ewjndi" dbType="oracle"
   type="jndi" jndiName="jdbc/eworkflow" jndiPrefix="java:comp/env" /> 

 

 </datasources>
 <fileroot>/ebsys</fileroot>
 <pubparam>用户.ID,用户.名称,部门.ID,部门.名称,系统.单位名称</pubparam>
</root>

 

其中<datasources></datasources>节点中可以设置多个数据源连接

e表、eform或工作流系统默认均是取第一个<ds>的连接串信息。

 

 

这样设置的好处有两方面:


1、通过修改这个文件可以将开发库,测试库,运行的正式库分开;比如,开发用一套库,测试用一套库,正式运行的时候设置jndi的数据库连接;
2、可以在同一套系统中同时使用多数据源:比如,操作请求中指定数据源的name,就可以使用指定的数据源,不指定的使用默认的数据源,达到一套系统使用多数据源。

 


代码实现过程:
一次性读出fcconfig.xml文件的配置信息;
      可以用单例模式一次读出;
      也可以通过servlet的init()一次读出(工作流中采用的是这种方法);
 
在需要建立数据库连接的时候,根据传入的datasourcename ,建立数据库连接;不传入datasourcename则取第一个;

 

 


数据库事务的一致性设定:

 

      工作流系统eworkflow中业务系统自定义模块用eform自定义表单来实现,流程的递进有单独的工作流引擎;
当流程实例运行时,必须要求业务数据的保存和流程的递进 保持在一个事务中,即当一个提交的环节失败后,业务数据和流程都回滚;

 

     这就必须要求,eform表单的提交和工作流实例的递进保持在同一个事务中:

 

实现过程:
 

      单独设置一个Environment.java类:
      此类负责调用ConnectionConfig.java,创建数据库连接,每获得一个conn后,开启事务。并提供提交关闭方法和事务回滚方法;
 
       在流程实例的递进提交前,建立Environment的实例,将Environment 的实例传递到eform引擎和工作流eworkflow引擎中,在需要数据库连接的时候,从Environment实例中获得一个,开启事务;如果有异常抛出则调用Environment实例的回滚;

 

 


        当业务数据保存和流程的保存都完成后,再调用Environment实例的提交关闭;提交数据和将数据库连接关闭。

       

   这样就达到了流程数据与业务数据保持一致。

 

 

 

 

 

 

 

相关连接

web工作流管理系统开发之一 工作流概念

web工作流管理系统开发之二 工作流引擎
web工作流管理系统开发之三 可视化流程设计器
web工作流管理系统开发之四 集成工作流与自定义表单
web工作流管理系统开发之五 开源osworkflow之用户系统改造

web工作流管理系统开发之六 表单权限与流程的权限控制

web工作流管理系统开发之七 最新修改的版本下载 

web工作流管理系统开发之八 开源osworkflow之任务管理 

2
0
分享到:
评论

相关推荐

    工作流管理系统

    工作流管理系统是一种基于软件技术实现业务流程自动化和管理的系统,它可以帮助企业或组织更高效地执行各种工作流程。在本项目中,开发者使用了Visual Studio 2005(VS2005)作为开发工具,以及SQL Server 2005作为...

    基于web的员工工资管理系统

    【基于Web的员工工资管理系统】是一种利用Web技术实现的用于企业管理员工薪资的信息化解决方案。它融合了现代软件开发中的多种核心技术,如HIBERNATE对象关系映射框架和STRUTS1 MVC(Model-View-Controller)设计...

    用JSP在SQL Server数据库做管理系统开发毕业论文.doc

    本文档是一篇关于使用JSP技术和SQL Server数据库开发管理系统的毕业论文。JSP(JavaServer Pages)是一种动态网页技术,常用于构建企业级Web应用程序,而SQL Server是微软公司提供的一个功能强大的关系型数据库管理...

    企业日常事务管理系统

    企业日常事务管理系统是一款基于SSH(Struts、Spring、Hibernate)框架和MySql数据库的企业级应用。SSH框架是Java开发Web应用程序的主流选择,它由三个强大的开源组件组成,分别是Struts处理MVC(模型-视图-控制器)...

    Web_OA管理系统需求规格说明书

    总的来说,Web OA管理系统需求规格说明书是项目开发的基础,它涵盖了系统的所有预期功能,明确了开发的方向和标准,是开发团队和项目干系人之间沟通的重要桥梁。通过详尽的需求分析,可以确保最终产品满足用户期望并...

    课程设计 物资管理系统

    【物资管理系统概述】 ...总的来说,这个物资管理系统集成了ASP.NET的Web开发优势和SQLServer的数据管理能力,为企业的物资管理提供了有效的工具,同时也为学生提供了将理论知识转化为实践的宝贵机会。

    Java jsp 企业事务管理系统源码,可用于OA

    总的来说,"Java jsp 企业事务管理系统源码"是一个涵盖了后端开发、前端展示、数据库设计、业务流程管理等多个方面的综合项目,对于学习和实践Java Web开发有着很高的参考价值。通过深入研究和理解这个源码,开发者...

    基于ssm+mysql的网络安全与信息管理学院班级管理系统源码数据库.zip

    这是一个基于Java的SSM(Spring、SpringMVC、MyBatis)框架和MySQL数据库的毕业设计项目,主要目的是实现一个网络安全与信息管理学院的班级管理系统。这个系统可能涵盖了学生信息管理、课程安排、成绩记录、教师信息...

    基于SSM+vue的个人事务管理系统.zip

    系统功能上,该个人事务管理系统可能包括任务创建、编辑、删除、查询等功能,用户可以通过输入任务详情、设定优先级、截止日期等属性来管理自己的事务。此外,可能还包含日程安排、提醒服务、统计分析等模块,以满足...

    基于springboot的健身房管理系统源码数据库.doc

    ### 基于Spring Boot的健身房管理系统开发与应用 #### 一、项目背景与意义 随着信息技术在各行各业的广泛应用,管理信息系统(MIS)已成为提升工作效率和服务质量的重要工具。健身房作为现代人们追求健康生活方式...

    基于ssm+mysql多平台大学生创新团队管理系统源码数据库.zip

    9. **源码数据库**:提供的源码数据库包含了完整的系统代码和数据库结构,可供学习者研究和二次开发,理解SSM框架的实际应用以及大学生创新团队管理系统的实现细节。 综上所述,这个项目不仅是一个实用的团队管理...

    毕业设计简单酒店信息管理系统,使用Django框架、MySql数据库。.zip

    【标题】:基于Django框架和MySql数据库的简单酒店...通过以上知识点的运用,这个基于Django和MySql的酒店信息管理系统能够帮助简化酒店的日常运营工作,提高工作效率,同时也为毕业生提供了实践Web开发技能的机会。

    基于ssm+mysql软件缺陷管理系统源码数据库.doc

    ### 基于SSM+MySQL的软件缺陷管理系统知识点总结 ...通过对上述知识点的总结,我们可以清晰地了解到该系统的开发背景、关键技术、主要功能以及其实现过程,这对于理解和学习软件缺陷管理系统的开发具有重要意义。

    北风网 S2SH+JQeury+JBPM 人力资源管理系统(代码完整版附带数据库和作用说明)

    JBPM,全称为Java Business Process Management,是一个开源的工作流和业务流程管理系统,用于设计、执行和监控业务流程。在人力资源管理系统中,JBPM可以用于实现复杂的流程控制,如招聘流程、员工绩效评估流程等,...

    搜索引擎-基于XML和关系结构的轻量级工作流引擎.pdf

    工作流管理系统可以根据业务过程的类型、底层技术和任务传递机制进行分类,如管理型工作流、设定型工作流等,满足不同场景的应用需求。 总的来说,基于XML和关系结构的轻量级工作流引擎是一种适应现代企业关键业务...

    ssm9545基于web的个人时间管理系统+vue.zip

    随着信息技术的发展,个人...ssm9545项目是一个完整、高效、易用的个人时间管理系统,它结合了现代Web开发的最佳实践,为用户提供了一个强大的时间管理工具,帮助用户在繁忙的生活中找到平衡,提高工作和学习的效率。

    基于ssm+mysql的实习支教中小学学校信息管理系统源码数据库.zip

    总结来说,这个实习支教中小学学校信息管理系统是一个综合运用Java后端开发技术、数据库管理和前端设计的项目,通过SSM框架和MySQL数据库,实现了对学校各项信息的有效管理和便捷查询,为实习支教工作提供了有力的...

    基于ssm+mysql小型企业人事管理系统源码数据库论文.doc

    【SSM框架详解】 ...综上所述,基于SSM+MySQL的小型企业人事管理系统利用现代化的开发技术和工具,为企业提供了高效、准确的人事管理方案,极大地提升了人事管理的效率和准确性,减轻了管理者的工作负担。

    ssm教务管理系统.rar

    "SSM教务管理系统"是一个基于Java技术栈的教育机构管理平台,主要用于高效地处理教育机构的日常教学事务。这个系统通常包括学生管理、教师管理、课程管理、成绩管理、考勤管理等多个模块,旨在提升教务工作的效率和...

    数据库SQLserver+java课程设计

    在“数据库SQLserver+java课程设计”中,我们主要探讨的是如何使用SQL Server数据库与Java编程语言协同工作,构建一个学生信息管理系统。这个系统能够帮助管理和处理学生的基本信息,包括添加、删除、修改和查询等...

Global site tag (gtag.js) - Google Analytics