八. 为 JobStroreTX 创建数据源
当使用持久性 JobStore 时,Quartz 需要一个数据源。数据源扮演着产生数据库连接工厂的角色。在 Java 中,所有的数据源要实现 java.sql.Datasource 接口。Quartz 自身并不提供 Datasource 的所有功能;它只代表了那一职责。默认的,Quartz 能使用另一开源的框架,叫做 Commons DBCP,或者可以通过 JNDI 查找应用服务器中定义的 DataSource。
DBCP 是一个 Jakarta Commons 项目,网址是 http://jakarta.apache.org/commons/dbcp。这个框架的二进制版包含在 Quartz 的发行版中,你应该把它加到你的 Quartz 应用中来。你还需要加入 Commons Pool 库,它也包含中 Quartz 发行版中,是 DBCP 要用到的。
使用 JobStoreTX 时,你必须在 quartz.properties 文件中指定 Datasource 属性。这允许 Quartz 为你创建并管理 Datasource。表 6.4 列示了使用 JobStoreTX 时需要的 Datasource 配置属性。 Read More
Struts2 的 struts.xml 中是分 package 配置的,可以为 package 设置 namespace 属性,如
<package namespace="/secure" ....>
......
</package>
如果没有指定 namespace 属性,默认 namespace 是 ""。使用 namespace 可以方便于按不同目的规划对应用的访问规则。比如不同 namespace 下配置了不同的拦截器就可以实现权限的控制,如 "/secure" 下已登陆用户才能访问,"/public" 下可公开访问的。 Read More![Quartz Job Scheduling Framework[翻译]- 中文版目录总汇及内容提要](https://yanbin.blog/images/logos/quartz-logo.jpeg)
- 第一章. 企业应用中的作业调度内容提要:什么是作业调度,作业调度为什么说是重要的,企业应用中的作业调度,非企业应用中的作业调度,作业调度与工作流,关于作业调度其他可选择方案
- 第二章. Quartz 起步内容提要:本章对 Quartz 框架一个快速的入门介绍,同时也大略指导你从哪里下载,构建和安装这个框架
- 第三章. Hello Quartz (第一部分)内容提要:建立 Hello Quartz 工程,并创建一个 Quartz Job 类 ScanDirectoryJob.
- 第三章. Hello Quartz (第二部分)内容提要:创建一个 Quartz Scheduler,关联上一个 Quartz Trigger 以编程方式调度前面编写的 ScanDirectoryJob 运行。
- 第三章. Hello Quartz (第三部分)内容提要:通过配置 quartz.properties、quartz_jobs.xml 以声明的方式调度 ScanDirectoryJob 运行。 Read More
生活中常为一些无伤大体之事优柔寡断,譬如买羽毛球拍是方头的还是圆头的呢?电子产品是这款好还是那款好呢?拿此又放下,举彼又放下,最后靠概率来决定。取其一,少段时间内总有些戚戚然,而后全然无所谓。小事无碍,大事可就会后悔不及,无疑亦会让许多机会径直溜去。
1. 从此开始学习 Struts2 对 Ajax 的支持。这也是 Struts2 新注入的元素。Struts2 的 Ajax 支持是建立在 Dojo 和 DWR 基础之上的。提供了 Ajax 的输入检验,表单提交;pub-sub 事件模型、自动完成以及与 JSON 的使用等功能。
2. 在 Struts2.0.6 和 Struts2.0.11 的 apps/struts-showcase-2.x.x.war 中的 dwr 包都还是 dwr-1.1-beta-3.jar,当前 DWR 最新版是 2.0,前一个稳定版是 1.1.4,所以正式应用可用 1.1.4 版,若用 2.0 DWR 需做充分的测试。Struts2 的 Ajax 支持是建立在 ajax 主题上的,ajax 是扩展了 xhtml 主题。 Read More为什么用 http://unmi.blogjava.net 进不了我的博客,会转向到 cnblogs
原来一直都用 http://unmi.blogjava.net 进我的博客的, 而不需输入 http://www.blogjava.net/Unmi,但是最近不行了, 输入 http://unmi.blogjava.net 会转向到 http://www.cnblogs.com 去。
而在 http://www.cnblogs.com 的博客仍可用 http://unmi.cnblogs.com 的形式进去。
这么久了,好像也没有人觉得有些不方便。
这里的管理员请麻烦及时看看怎么回事了,请尽快调整好,谢谢!
正式应用又好久没有重启过了,所以先停了 IBM Http Server (IHS,Apache 1.3.28),再把所有应用启动妥当后,最后把 Apache 启起来。终端下进到 IBMHttpServer 目录,然后敲入命令:bin/apachectl start,得到的错误是:bin/apachectl start: httpd could not be started。
这下有点慌了神,以前从未碰到过,怀疑是配置文件 httpd.conf 有问题,但一般 httpd.conf 有问题有提示错误的,不管,还是用 bin/apachectl configtest 看下,返回 Syntax OK,没问题。
可能别的程序占用了 80 端口?netstat -na|grep 80 没发现什么。
翻看日志,打开 IBMHttpServer 下的 log.txt,好久以前的信息,打开 logs/error_log 也是很久以前的信息。 Read More
柏杨在形容中国人不团结,喜欢窝里斗用了这样的话:每一个中国人都是一条龙,但是三个中国人加在一起──三条龙加在一起,就成了一条猪、一条虫,甚至连虫都不如--《丑陋的中国人》。可是他老人家走得走,要是能多有半个月的阳寿,不知作有何感想。
1. <s:optiontransferselect.../> 正是考虑到通常使用而新加的用于创建两个下拉框,可以来回移动列表项。有属性设置是否显示 "选定左移"、"全部左移"、"选定右移"、"全部右移" 按钮以及各按钮上的文本,其他的 list/listKey/listValue/doubleList/doubleKey/doubleValue 等属性同 <s:doubleselect.../> 的是一样的。还可设置 allowUpDownOnLeft/allowUpDownOnRight 是否出现相应框的上下移动选择的按钮(true/false)。
2. <s:radio.../> 的用法与 <s:checkboxlist.../> 完全一样,只页面表现不一样,一个多选,一个单选。 Read More
七. 使用 JobStoreTX
我们首先要讨论的持久性 JobStore 是 JobStoreTX。名字中的 "TX" 代表着 "事物"。我们在前面提过,JobStoreTX 是设计用于想要 Quartz 来管理事物的环境中。例如,假如你正构建一个 J2EE 应用,并且不使用到应用服务器,如 WebLogic 或者 JBoss 等,那么 JobStoreTX 会是持久性 JobStore 正确的选择。
在之前章节中,我们看到配置 RAMJobStore 是多么的容易。我们提到 RAMJobStore 的其中一个优点就是易于配置。我们已经讨论过让数据库准备就绪该做的事情;现在我们讲述使 Quartz 应用支持 JDBC JobStore 需要对它配置些什么。 Read More如有 index.jsp 页,当出现后服务器端异异常时要转向到 errorPage.jsp,并在 errorPage.jsp 中把对应错误信息显示出来。我们需要在这两个页面分别加上指令 errorPage="errorPage.jsp" 和 isErrorPage="true"。
index.jsp1<%@page errorPage="errorPage.jsp" %> 2 3<% 4 throw new Exception("exception from jsp"); 5%>
Read More
在使用了 Struts2 框架的系统中,对于处理像下面这种表单上传文件时:1<form action="..." enctype="multipart/form-data"> 2 文件:<input type="file" name="upload"><br> 3 描述:<input type="text" name="desc"></br> 4 <input type="submit" value="提交"> 5</form>
自然而然的想法就是在 Action 中声明变量 File upload 和 String desc,请求提交到这个 Action 后,在 execute() 方法中就能直接使用 upload 和 desc 了,它们已被 Struts2 框架(org.apache.struts2.interceptor.FileUploadInterceptor 监听器) 赋上了相应的值了。 Read More- 第一章. 企业应用中的作业调度