隔叶黄莺 The Blog of Unmi

〖隔叶黄莺三四声,挂壁飞瀑千万尘。若是人间无净土,此处为何妙语真! 隔叶黄莺四字,本非取自此句,而有寄寓他意,因见妙语,亦与予心合!〗

BlogJava 首页 新随笔 联系 聚合 管理
  209 Posts :: 84 Stories :: 392 Comments :: 0 Trackbacks

12 2007 档案

     摘要: 5. 易失性、持久性和可恢复性

这三个属性有些类似的,由于它们影响的都是 Job 的运行时行为。我们下面依次讨论它们。

·Job 的易失性

一个易失性的 Job 是在程序关闭之后不会被持久化。一个 Job 是通过调用 JobDetail 的 setVolatility(true) 被设置为易失性的。

当你需要持久化 Job 时不应使用 RamJobStore

RamJobStore 使用的是非永久性存储器,所有关于 Job 和 Trigger 的信息会在程序关闭之后丢失。保存 Job 到 RamJobStore 有效的使得它们是易失性的。假如你需要让你的 Job 信息在程序重启之后仍能保留下来,你就该考虑另一种 JobStore 类型,比如 JobStoreTX 或者 JobStoreCMT。它们会在第六章“作业存储与持久化”中讲到。

Job 易失性的默认值是 false.  阅读全文
posted @ 2007-12-31 10:50 隔叶黄莺 阅读(1201) | 评论 (4)  编辑

     摘要: 3. 管理 Scheduler

除了启动 Scheduler, 在应用的生命周期中你也许还要执行 Scheduler 的别的一些操作。这些 Scheduler 操作包括查询、设置 Scheduler 为 standby 模式、继续、停止。很多情况下,当一个 Scheduler 启动后,除让它运行之外你不需要对它做任何事情的。在某些情形下,你也可能会要临时的终止 Scheduler 而转入到 standby 模式。

·启动 Scheduler

启动一个 Scheduler 也不总是一目了然的。当你有了 Scheduler 的实例,并得到正确的初始化,你的 Job 和 Triiger 也已注册上去了,你只需要简单的调用 start() 方法:  阅读全文
posted @ 2007-12-27 21:56 隔叶黄莺 阅读(990) | 评论 (0)  编辑

     摘要: 第四章. 部署 Job

在上一章中,你首次尝试使用了 Quartz 来部署 Job。无可否认地,那些 Job 都不是很复杂,但这个不是重点。你应该轻松的对如何构造并部署 Job 有了相当的了解,更重要的是,由此热情的希望学得更多的东西。在本章中将会继续给你讲述。

第四章将带领你深入到 Quart 框架的核心部分。可证明的是,这一章对于阅读和理解本书是非常之重要的。调度器(Scheduler) 是此框架的心脏。本章关注于如何使用 Scheduler 来管理你的 Job;如何创建并关联触发器以使 Job 能被触发执行;以及如可选择 calendar 为给定的时程安排提供更多的灵活性。  阅读全文
posted @ 2007-12-25 23:24 隔叶黄莺 阅读(1023) | 评论 (3)  编辑

     摘要: WebSphere Application Server (WAS) 确实给我们提供了一个很方便的管理控制台,可以手工很轻松的部署应用程序,管理服务器;有得亦有失,因为它不能像其他很多应用服务器那般拷贝文件的方式进行部署,所以给像 DailyBuild 那样全自动化的过程制造了一些障碍。

其实 WAS 也提供了接口(SOAP 和 RMI)可通过脚本来完成对服务器及应用程序的管理,只是使用起来稍显麻烦,还得钻研一番。你可以采用三种途径来使用 WAS 的接口:

1. WASADMIN 命令行。最灵活,可以编制自己的 Jacl 脚本文件
2. WAS 提供的 ANT TASK,对常用功能进行了封装,WAS_HOME/bin/ 下有这个 ws_ant.bat
3. 自行编程调用,曾有浅尝  阅读全文
posted @ 2007-12-19 14:49 隔叶黄莺 阅读(1143) | 评论 (4)  编辑

     摘要: 说明:以为转贴,原文 http://tb.blog.csdn.net/TrackBack.aspx?PostId=1930730, 因见此文对目前项目帮助甚大,故直接转载文章内容,而不只是收藏,并保留原文格式,感谢作者分享的宝贵经验。
调优 Linux
您可能需要定制 Linux 系统,以提高服务器的性能。 下面,将向您介绍调整配置的技巧。 请牢记,这些系统可能会变化,从而导致这些建议过时,并导致您的结果有所不同。

在您为改善性能而进行任何更改之前,请确保已经对当前性能进行了度量。不管您是否关心事务执行速度、响应时间、最大并发用户数或其他一些性能条件,都需要在更改前后,进行足够准确地度量,以了解更改调优参数是否有效。

timeout_timewait 参数
timeout_timewait 值确定了在 TCP/IP 可释放已关闭的连接并复用其资源之前,必须等待的时间。 关闭和释放之间的时间间隔称为 TIME_WAIT 状态或最长分段生命周期的两倍(2MSL)状态。  阅读全文
posted @ 2007-12-12 22:56 隔叶黄莺 阅读(844) | 评论 (1)  编辑

     摘要: ·在 J2EE 应用服务器中运行 Quart

作为 J2EE 客户端运行 Quartz 比运行为外部 J2SE 应用程序稍显繁琐。这主要是因为部署一个应用到容器中有点了儿复杂,J2EE 规范对容器中的组件会有些约束。其中最大的原则之一就是涉及到该由谁来创建线程。因为 J2EE 容器有责任去管理所有资源,所以它并非允许谁想谁就能创建线程的。假如是这样的话,容器就会要更艰难的去管理环境和保证一切稳定性。Quartz 会创建自己的工作者线程,所以你必须依照一些步骤来保证它能正常的运转。

确保代像代码 10.1 那样的一个无状态会话 Bean 已部署到容器中。最简单的部署 Quartz 到容器中的方式是构建一个包含所必须文件的 WAR 包,然后使用管理工具或 Eclipse 部署这个 Web 应用到容器中。  阅读全文
posted @ 2007-12-09 21:55 隔叶黄莺 阅读(1025) | 评论 (3)  编辑

     摘要: ZeroTurnaround 宣布 JavaRebel 1.0 最终正式版发布。JavaRebel 通过即时重加载有改变的类,从而避免了应用服务器的重新部署。

我们在用 Tomcat 进行调试的时候,一般都是改了方法体之后,Tomcat 无需重启立即就能看到效果;然而在有些时候却是必须重启 Tomcat 才行的,比如增减了类属性,改变了所继承的父类等。Sun JVM HotSwap 可以支持一定程度类的热加载,如果借助于 JavaRebel 则在开发当中几乎能完全不重启应用,并能在控制台下观察到重加载了什么类。关于 Sun JVM HotSwap 与 JavaRebel 支持何种情况类的热加载比较请见 http://www.zeroturnaround.com/javarebel/features/.当然你改了配置文件是不得不再重启一把的。  阅读全文
posted @ 2007-12-08 15:11 隔叶黄莺 阅读(1087) | 评论 (3)  编辑

     摘要: Java 2 平台企业版定义了基于组件的企业应用开发标准。不管你是否倾向于使用一种开源的 J2EE 服务器,比如 JBoss 或 Geronimo,或者你更希望得到可靠安全的商业服务支持,比如 WebSphere 和 WebLogic,你都能在那些应用服务器中使用几种不同的部署方式使用 Quartz。本章给你示范了在 J2EE 应用服务器中以不同策略部署 Quartz,你也会看到 Quartz 框架更加丰富了 J2EE。

一:假如我有 J2EE,为什么还需要 Quartz?

自从 20 世纪 90 年代末期 J2EE 首次登上舞台以来,开发人员就被某些规格决议和一些表面看来明显缺失的特征所困惑。这没必要去批判规格的制定者,更多的是说明了当有不同意见和议程的独立团体,在尝试达成统一的优先级时,就像联合国进行决议时那样,并不如所想像的那样好。许多必须的特征获得认可,但是一些关键的特征被略去留待以后加入。其中一个让早期规范遗漏的关键特征就是定时器服务。  阅读全文
posted @ 2007-12-08 01:19 隔叶黄莺 阅读(1129) | 评论 (2)  编辑

     摘要: 我们在尝鲜 JDK1.5 的时候,相信不少人遇到过 Unsupported major.minor version 49.0 错误,当时定会茫然不知所措。因为刚开始那会儿,网上与此相关的中文资料还不多,现在好了,网上一找就知道是如何解决,大多会告诉你要使用 JDK 1.4 重新编译。那么至于为什么,那个 major.minor 究竟为何物呢?这就是本篇来讲的内容,以使未错而先知。

我觉得我是比较幸运的,因为在遇到那个错误之前已研读过《深入 Java 虚拟机》第二版,英文原书名为《Inside the Java Virtual Machine》( Second Edition),看时已知晓 major.minor 藏匿于何处,但没有切身体会,待到与 Unsupported major.minor version 49.0 真正会面试,正好是给我验证了一个事实。

首先我们要对 Unsupported major.minor version 49.0 建立的直接感觉是:JDK1.5 编译出来的类不能在 JVM 1.4 下运行,必须编译成 JVM 1.4 下  阅读全文
posted @ 2007-12-04 03:03 隔叶黄莺 阅读(3340) | 评论 (18)  编辑

     摘要: 在上篇 VC 中用 IPicture 在窗口中显示图片文件 讲到的是 VC 窗口(或控件)中显示本地图片文件,本文延伸这一话题,来演示如何显示网上的图片,即提供图片的 HTTP URL 地址,把它显示到 VC 的界面中来。

本文参考我原来写的一篇日志 VC中使用CInternetSession抓取网页内容 来修改上篇代码中用来显示图片的函数:HRESULT ShowPic(char *lpstrFile,HWND hWnd)。把研究过的东西整理记下来总是好处多多,瞧,至少现在展开其他话题,可参考时便能信手拈来。

重新实现的函数 HRESULT ShowPic(char *lpstrFile,HWND hWnd) 代码如下:  阅读全文
posted @ 2007-12-02 11:04 隔叶黄莺 阅读(247) | 评论 (0)  编辑

     摘要: 想做个东西,用VC,希望是在程序界面上能把指定 URL 的图片显示出来,还没找到如何显示 HTTP 资源的图片,先还是让本地图片能在 VC 的窗口(包括各种控件)中显示出来吧。在网上搜索了一番,大家代码都如出一辙,我也不能生搬硬载,不由又亲手实践了一下,并连同原来学过的 Window SDK 做窗口程序也复习了一遍,没有使用到 MFC,只需存成单个源文件,甚至用 CL 命令来编译都无须打开 VC 的,在 VC6 中测试通过。

函数 HRESULT ShowPic(char *lpstrFile,HWND hWnd) 是本日志要义之所在,传入文件名和窗口句柄(比如按或者静态文本框的句柄亦可),然后会在指定窗口中按图片实际尺寸显示出来。  阅读全文
posted @ 2007-12-01 02:51 隔叶黄莺 阅读(554) | 评论 (1)  编辑