基于 dp.SyntaxHighlighter 写的代码着色工具(增加了对 Groovy 的支持)

本程序是基于 dp.SyntaxHighlighter 写的代码语法着色的工具。支持的语言有
java/xml/sql/jscript/groovy/css/cpp/c#/python/vb/perl/php/ruby/delphi。

可方便用于你的博客中粘贴代码,只要自定相应的样式 (highlight.css 的内容,.Text 支持自定义样式或在模板里加上语法样式),然后复制用这个工具生成的 HTML 代码就能让你的代码着高亮显示。

可以加入更多语种的支持,本程序就是在 dp.SyntaxHighlighter 的基础上扩展了对 Perl 语言的支持,网上可以找到相应语法的 JS 代码和 CSS。语言扩展支持通过在 shCore.js 和 highlight.css 加入相应代码即可。 阅读全文 >>

又是 Oracle JDBC 驱动版本太低引发的错误-rs.getByte() 的差异

前面写过一个因为 Oracle 驱动版太低引起的一在题:Oracle 驱动版本引起的显示字段奇怪编码问题。今天又遇着一个。

本地写好的一段连接数据库的程序,一放到正式服务器上又不能正常工作了,原来的代码中没有打印出异常栈,都看不出什么问题来,后来加上异常栈输出,得到如下信息:

Fail to convert to internal representation
 java.sql.SQLException: Fail to convert to internal representation
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:156)
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:219)
        at oracle.jdbc.driver.OracleStatement.getLongValue(OracleStatement.java:3022) 阅读全文 >>

Quartz Job Scheduling Framework 中文版 V0.9.0.CHM 文件发布

由本人翻译并制作的《Quartz Job Scheduling Framework 中文版》CHM 文件更新为 V0.9.0 版,上一版本是 V0.8.2。

更新的特性有以下三点:

1. 在原来版本的基础上加上了全文检索功能,方便于快速查找某个参考配置和定位到所关心的内容

2. 去除了多余的索引标签,因为它和目录标签的内容就是雷同的

3. 加上了书签页,方便阅读时记录下所关注的主题 阅读全文 >>

XML 的中阶知识巩固之 XML Schema 其一

用过 XML 的人都知道可用 DTD(Document Type Definition) 来验证语法,不过微软主导了新一代验证语法的 XML Schema,并且风头正劲,大有一统江湖之势。看看我们身边的几个变化就明白了。

web.xml 从 web-app_2_3.dtd 到 web-app_2_4.xsd
spring 配置文件从 spring-beans.dtd 到 spring-beans-2.0.dtd 到 spring-beans-2.0.xsd,直至灵活的自定义 Schema
quartz_jobs.xml 配置文件从 job_scheduling_data_1_5.dtd 到 job_scheduling_data_1_5.xsd

XML Schema 简介

XML Schema 是一个比 DTD 具有更细致描述语法功能的验证技术,并且它本身也是一个 XML 文件,不像 DTD 用是是独有的语法。既然 XML Schema 和 DTD 都是用来验证 XML 的,并能大抢风头,固然有它值得称道的地方。所以先说说 DTD 的的不足和 XML Schema 的特点。 阅读全文 >>

Quartz Job Scheduling Framework[翻译]- 中文版 CHM 文件发布

Quartz Job Scheduling Framework_2.jpg Quartz Job Scheduling Framework 中 文 版

Chuck Cavaness 著 Unmi(隔叶黄莺) 译

译者博客:http://unmi.cc/

下载地址:Quartz Job Scheduling Framework 中文版.chm

写在最前面的

以此篇权当译者序。再次翻看一下我的博客,最早的那篇《Quartz Job Scheduling Framwork》翻译是在 2007-10-17 02:17 ,距离今日那是一个造人的时间,足见这个翻译过程有多难产。一方面是源于语言水平,再者其间也发生了许多事情。

Quartz 是什么,大概不需多加说明,简单讲就是一个纯 Java 实现的作业调度工具,相当于数据库中的 Job、Windows 的计划任务、Unix/Linux 下的 Cron,但 Quartz 可以把排程控制的更精细。也许大多数人听说 Quartz 是在学习或使用 Spring 的时候,也就是 Spring 整合了 Quartz。而我也不例外,同样是在春天里得悉了这块石英。 阅读全文 >>

JDOM 使用 XPath 查找带 NameSpace 的节点

对于 XML 文件中不带命名空间(NameSpace) 的节点,如

<blog_Content>

用 JDOM 的 XPath 来搜索这个节点时可用下面之中任一代码:

①   List<Element> elements = XPath.selectNodes(document,"//blog_Content");

②   XPath xpath = XPath.newInstance("//blog_Content");
       List<Element> elements = xpath.selectNodes(document);

但是如果是查找带命名空间的节点,如 阅读全文 >>

Quartz Job Scheduling Framework[翻译]第十四章. 工作流中使用 Quartz (第三部分)

四. Quartz 与 OSWorkflow 的集成

OSWorkflow 与 Quartz 集成的第一步是要改变关于 Job 的思维方式。当把 OSWorkflow 引入到你的 Quartz 应用时你需要以完全不同的方式来思考。那也不是说你当前的想法就是糟糕的或不正确的,只是与 Quartz 一同用工作流强迫你生发一些关于是什么组成 Job 的新的思维。你过去概念中的 Job 现成变成了一个 OSWorkflow 函数。你可以认为是你原有 Job 实质上存在的逻辑作为工作流中的步骤。你仍然需要使用 Quartz 的 Job,但是,当与 Quartz 框架集成工作流时,一个 Quartz Job 将用来初始化工作流。在工作流运行时,这个 Job 将会等待它直至结束。

在本章前面部分,当我们谈到串联 Job 时,每个 Job 代表了一个独立的任务。Jox X 执行后并完成一个任务,接着通知 Job Y 去执行一个有点关联却是独立的任务。在这两个任务间必须有一些依赖关系,否则你不能把它们链接在一起。 阅读全文 >>

Quartz Job Scheduling Framework[翻译]第十四章. 工作流中使用 Quartz (第二部分)

三. OSWorkflow 快速入门

像 Quartz 一样,OSWorkflow 是一个完全由 Java 构建的开源项目,而且也是 OpenSymphony 家族项目的成员。还有许多的工作流项目,商业的或是开源的。OSworkflow 在设计上与 Quartz 有很多相似性,所以把这两个框架进行集成不用太费我们的心思。

OSWorkflow 工作在有限状态机的原则之上。一个工作流由一系列状态组成,包括一个开始状态和一个或多个结束状态。从某一状态迁移到另一状态,需要发生一次转换。实际上从某一特定状态可能会有多种转换,你也可以在同一时间从某一状态发生多种转换。选择什么转换依赖于环境,对状态的输入,和一些我们将在后面讨论的条件信息。 阅读全文 >>

Quartz Job Scheduling Framework[翻译]第十四章. 工作流中使用 Quartz (第一部分)

第十四章. 工作流中使用 Quartz

Quartz 可以执行一个难以置信的 Job,来完成预计的任务。不幸的是,用来运行一个业务的 Job 经常比单一的 Job 或任务要稍稍复杂。每年百万计的美金花费到理解、设计和构建组织的业务流程。Quartz 框架包含一些设施用于把多个 Job 链接起来构建一个简单的业务流程模型 。本章讨论你能如何用 Quartz 连接 Job。为获得实际的工作流可操作性,你还需要一些来自于 Quartz 框架的东西。本章就来看为实现你的 Job 所构成的工作流可以如何扩展 Quartz 框架。

一. 什么是工作流

Web 上聚集了个人或团体关于工作流的定义和实例。有人定义工作流为“自动化的后台管理系统”。另一些人使用“业务流程建模” 一语,并收取许多的咨询费用向你解释这个概念。对于本章的要义,我们使用如下的工作流定义: 阅读全文 >>