摘要:事务管理最佳实践多余的话之二Transaction后缀给声明式事务管理带来的好处前言《事务管理最佳实践全面解析》,两篇文章发表之后,关于事务管理最佳实践,我又想到了一些,就作为《事务管理最佳实践多余的话之二》的内容吧。《事务管理最佳实践多余的话之一“每次请求,一次数据库连接,一次事务”是不是金科玉律?》 Transaction后缀给声明式事务管理带来的好处良好的面向对象的程序,一般都使用接口和实现分离的模式。我在《事务管理最佳实践全面解析》一文中提出,用*Transaction和*Dao后缀这样的形式,区分方法的不同用途。这样,可以提醒接口的实现者和方法的使用者注意到它们对于数据库连接和事务的
阅读全文
11 2006 档案
摘要:事务管理最佳实践多余的话之一 ----“每次请求,一次数据库连接,一次事务”是不是金科玉律?前言《事务管理最佳实践全面解析》一文发表之后,关于事务管理最佳实践,还有一些未尽之言。今天又想到一些,所以就撰写了这篇文章,对该文进行一些补充。不知道会不会还有其他“多余的话”。为了避免以后文章的标题写成《事务管理最佳实践更多余的话》,《更更多余的话》…所以,这篇文章的标题就是 《事务管理最佳实践多余的话之一》,不知道会不会还有之二、之三。“每次请求,一次数据库连接,一次事务”是不是金科玉律?在《事务管理最佳实践全面解析》一文中,我曾经说过,最佳的事务管理模式,是“每次请求,一次数据库连接,一次事...
阅读全文
摘要:事务管理最佳实践全面解析前言写作这篇文章的起因,是前一段时间,我使用Jbpm工作流引擎开发工作流管理系统的过程中,使用编程方式管理事务时遇到的问题。由于之前很长一段时间,我一直都在使用Spring和EJB容器的声明式事务管理,因此,咋一遇到Jbpm这样的编程方式管理事务的情况,一下子搞不定了!经过几天的研究,我重新思考了怎样进行事务管理这个问题,并且发明了一种非常好的编程范式,或者说是事务管理的最佳实践。不敢独享,拿出来与诸君共赏。请大家批评指正。前几个月,我对C++和Java编程方式进行了比较和研究。并且总结了一些C++编程中管理对象的最佳实践。但由于那一段时间工作较忙,没有及时把文章写出.
阅读全文
摘要:卸载JBoss工作流引擎Jbpm的工作流定义上次写了一个部署Jboss的工作流引擎Jbpm的工作流定义的助手类,并写了一篇文章《编程方式部署jBPM工作流》。有部署,就必然要有卸载。今天,我又写了一个卸载Jbpm工作流定义及其相关实例的助手类。下面是源代码:接口:package com.withub.common.util;publicinterface IUninstallProcessDefinition { /** *删除给定业务程序定义名称的所有版本的业务程序定义,以及业务程序实例 *@paramname */ publicabstractvoid uninstallJbpmPro..
阅读全文
摘要:I'm a 偏执狂! 谢谢 yueguangyuan 的鼓励!================================================================================yueguangyuan发表于2006-11-20 17:45:00IP: 222.66.108.*楼主能发这么多原创原创文章,已经说明你得实力,不过我最佩服的就是楼主抵御来自广大网友的诋毁甚至谩骂,楼主的坚定信心是使得国内的IT技术在理论上得以发展的关键。 在读过楼主的两篇文章以后(另一篇《由操作系统的没落和虚拟机的崛起看性能和开发效率之争》),我对楼主持赞同态度,
阅读全文
摘要:由操作系统的没落和虚拟机的崛起看性能和开发效率之争性能和开发效率之争,是编程世界恒久的话题。来自不同开发技术背景的程序员对此有不同的看法。性能和开发效率孰轻孰重,这个问题没有普遍适用的答案。对于某些要求高性能的特定应用,肯定是高性能更重要一些。但是,对于绝大部分的软件开发领域,应该来说,还是开发效率比性能更重要一些。随着CPU的发展,即使不对软件进行性能优化,也能够提升软件的性能。而且根据摩尔定律,这种性能的提升也是非常快的。当然,进入多核、超线程CPU时代,CPU技术的发展,将只能够提升多线程程序的性能。关于这一点,请参考我的文章《多核、超线程CPU时代将成就Java性能之王的地位》。我们.
阅读全文
摘要:多核、超线程CPU时代将成就Java性能之王的地位传统上提升CPU性能的主要手段是提高CPU的主频。但是,经过30多年的发展,CPU的主频速度已经接近物理极限,很难再提高CPU的主频。现在,CPU已经进入了超线程、多核CPU的时代。为了提高CPU的运算性能,现在只有使用具有超线程技术的多核CPU。传统的CPU,只有一个内核,这个内核也只能够同时运行一个线程。采用超线程技术的CPU,可以在一颗内核上同时运行多个线程。而多核CPU更是在一个CPU上嵌入多颗采用超线程技术的内核。这样,多核CPU就可以同时运行更多的线程。多核、超线程CPU已经成为大势所趋。Sun、IBM、AMD、Intel这些主流.
阅读全文
摘要:毫无新意的Vista和.NET3.0 在11月的《程序员》杂志上,看到了微软狂吹的Vista和Vista自带的.NET3.0的介绍。完全是堆砌着华丽词藻的商业宣传。仔细看看微软引以为傲的新技术,都是业内早已出现了N年的技术! .NET3.0整个就是Java几项老技术的翻版! .NET3.0的三部分:显示框架WPF,通讯组件WCF,工作流WF。1,WPF, 就是Java的Swing技术的翻版。 原来.NET使用Windows本地的可视化控件来开发桌面GUI,这类似于Java早期的AWT技术。 现在,WPF完全照搬Swing的思路,从本地操作系统拿到一个窗口,然后再在这个空白窗口上绘制.NET的.
阅读全文
摘要:[预告]将要推出编程方式事务管理祥解! 以前一直都用声明式事务管理:EJB,Spring的。这一次要用Jbpm,需要使用编程方式的事务管理,立刻乱了阵脚。事务管理得那个烂呀!真是惨不忍睹! 经过几天痛苦的研究,兄弟我终于搞定了编程方式的事务管理,研究出了一下小冬冬(得意ing)。相信对大家也会有所帮助! 近期较忙,我打算手头工作告一段落之后,就整理一下资料,推出《编程方式事务管理祥解》这样一篇文章。 先预告一下,也免得以后忘记写。
阅读全文
摘要:编程方式部署jBPM工作流 本文介绍了编程方式部署jBPM工作流定义的方法。并向您提供了源代码。只要您正确配置了Jbpm的数据库和Hibernate,使用本文提供的这个工具类,就可以非常方便的部署您创建的jbpm工作流定义。部署jBPM工作流要使用jBPM的工作流,必须首先部署工作流定义。就是把工作流定义文件载入到jBPM的数据库中。jBPM的工作流有多种部署方式。包括:Ant文件部署,Eclipse图形设计器通过JBoss(JBoss上必需运行jbpm.war)部署,以及本文我要介绍的编程部署的方式。一、Ant文件发布方式编写Ant文件非常复杂。因为jBPM工作流的部署,需要使用Jbpm..
阅读全文