<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>木瓜Blog &#187; JAVA开发</title>
	<atom:link href="http://www.ardy.cn/category/java/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ardy.cn</link>
	<description>把简单的事做好</description>
	<lastBuildDate>Mon, 08 Aug 2011 06:46:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>根据SVN信息自动生成升级补丁包</title>
		<link>http://www.ardy.cn/java/svn_updatepackage.html</link>
		<comments>http://www.ardy.cn/java/svn_updatepackage.html#comments</comments>
		<pubDate>Fri, 03 Dec 2010 02:04:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JAVA开发]]></category>

		<guid isPermaLink="false">http://www.ardy.cn/?p=590</guid>
		<description><![CDATA[在JAVAEYE上面看到有朋友写了这文章，引用学习一下。
原地址http://zhangzhenting.javaeye.com/blog/671043]]></description>
		<wfw:commentRss>http://www.ardy.cn/java/svn_updatepackage.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux下载、上传命令</title>
		<link>http://www.ardy.cn/java/linux-upload-download.html</link>
		<comments>http://www.ardy.cn/java/linux-upload-download.html#comments</comments>
		<pubDate>Mon, 04 May 2009 08:14:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JAVA开发]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.ardy.cn/?p=512</guid>
		<description><![CDATA[linux系统下可以直接从客户端上传文件到服务器端，命令格式： scp files user@server:filepath 解释： files 待上传的文件，可以有多个，多个文件之间用空格隔开。也可以用*.filetype上传某个类型的全部文件 user 服务端登录用户名 server 服务器名（IP或域名） filepath 上传到服务器的目标路径（这里注意此用户一定要有这个路径的读写权限）   如果从其它linux系统下载文件到本地可以用： scp user@server:files client_file_path 解释： user 服务端登录用户名 server 服务器名（IP或域名） files 待下载的文件 client_file_path 下载到本地的存放路径   linux系统下也可以直接用命令形式从网上下载文件，命令格式： lftp -c &#8220;pget -n 5 http://downpath&#8221; 解释： lftp 文件下载命令，通过ftp通道传输 pget -n 5 O也不清楚这里的意义 －＿－ http://downpath 待下载文件的连接地址   这二个方法的传输速度都比较快，所以记录下来以供参考。]]></description>
		<wfw:commentRss>http://www.ardy.cn/java/linux-upload-download.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>jBPM4中文文档</title>
		<link>http://www.ardy.cn/java/jbpm4-chinese-doc.html</link>
		<comments>http://www.ardy.cn/java/jbpm4-chinese-doc.html#comments</comments>
		<pubDate>Fri, 13 Mar 2009 02:15:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JAVA开发]]></category>
		<category><![CDATA[Jbpm]]></category>

		<guid isPermaLink="false">http://www.ardy.cn/?p=450</guid>
		<description><![CDATA[前段时jBPM4的测试版发布了，大致看了一下，因为时间比较紧没有怎么细看，4版本变化挺大，引入了流程虚拟机的概念。   看网上朋友翻译了一下用户手册，http://family168.com/tutorial/jbpm4.0/html/index.html，希望对大家有帮助。]]></description>
		<wfw:commentRss>http://www.ardy.cn/java/jbpm4-chinese-doc.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Java调用Win exe程序</title>
		<link>http://www.ardy.cn/java/java-call-exe.html</link>
		<comments>http://www.ardy.cn/java/java-call-exe.html#comments</comments>
		<pubDate>Thu, 22 Jan 2009 06:03:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JAVA开发]]></category>

		<guid isPermaLink="false">http://www.ardy.cn/?p=432</guid>
		<description><![CDATA[// 用Java调用windows系统的exe文件，比如notepad，calc之类
Runtime rn = Runtime.getRuntime();
Process p = null;
try {
String command = "notepad";
p = rn.exec(command);
]]></description>
		<wfw:commentRss>http://www.ardy.cn/java/java-call-exe.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jBPM 4 Alpha1发布</title>
		<link>http://www.ardy.cn/java/jbpm-4-alpha1-release.html</link>
		<comments>http://www.ardy.cn/java/jbpm-4-alpha1-release.html#comments</comments>
		<pubDate>Tue, 13 Jan 2009 07:30:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JAVA开发]]></category>
		<category><![CDATA[Jbpm]]></category>

		<guid isPermaLink="false">http://www.ardy.cn/?p=428</guid>
		<description><![CDATA[jBPM 4 首个版本Alpha 1发布。BPM业务流程管理和workflow工作流以各种形式存在，jBPM 4向提供一个单一BPM解决方案迈进了一大步，它能够在不同的Java环境中，被不同形式的BPM和workflow使用。jBPM 4能够作为单独的服务器使用或者嵌入任何Java应用。jBPM 4.0.0 Alpha 1是jBPM 4 的首个发布版本，它带来了新的流程虚拟机，支持多个流程语言。jBPM 4最值得注意的改进有： * 大量改进的文档，包括分开用户使用手册和开发者使用手册 * 基于Eclipse的图形化设计的BPMN * 基于命令行的服务作为主要的客户端API * 解耦的行为实现API * 多种运行模式 * 改进的多语言支持 * 容易添加客户行为 * DB进化改良和DB通过每流程语言划分 BPM and workflow comes in many shapes and forms. jBPM 4 is a major step towards providing a single BPM solution that can be used for these [...]]]></description>
		<wfw:commentRss>http://www.ardy.cn/java/jbpm-4-alpha1-release.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jbpm的调度应用</title>
		<link>http://www.ardy.cn/java/about-jbpm-job.html</link>
		<comments>http://www.ardy.cn/java/about-jbpm-job.html#comments</comments>
		<pubDate>Fri, 05 Dec 2008 16:25:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JAVA开发]]></category>
		<category><![CDATA[Jbpm]]></category>

		<guid isPermaLink="false">http://localhost:88/wpdemo/?p=25</guid>
		<description><![CDATA[以前开始接触jbpm的时候，也曾经发表了一篇关于调度的文章http://blog.csdn.net/，其中有很多不甚了解的东东，这几天又研究了一下，共享给各位学友。 本系列仅从应用的角度出发进行介绍： jbpm的调度部分只要分为2块，timer主要是流程设计人员的工作，将timer放置到流程中；scheduler是jbpm自己维护的，我们只需要在后台进行调用即可。 根据吃甘蔗的方法，我们先说相对容易一点的scheduler。我们可以认为scheduler就是一个后台线程在不停的监听着timer(jbpm_timer表)，如果有需要触发的timer生成了，就按照timer的属性定时或者循环触发它。 jbpm提供了2种调用scheduler的方法： 一种是用在web应用的，采用org.jbpm.scheduler.impl.SchedulerServlet，具体的方法这个类的javadoc有很好的示例，我们只需在web.xml中加载它就行了； 另一种是针对的c-s程序，jbpm提供了一个很好的示例org.jbpm.scheduler.impl.SchedulerMain，我们可以参照它编写我们自己的Scheduler。 下面我就编写一个cs程序来实现Scheduler，并调用一个最简单的timer。 这个timer从第5秒开始每隔3秒执行script中的内容。 xml 代码 ?View Code XML1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 &#60;xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34; ?&#62; &#60;process-definition xmlns=&#34;&#34; name=&#34;yytest&#34;&#62; &#60;start-state name=&#34;start&#34;&#62; &#60;transition name=&#34;&#34; to=&#34;a&#34;&#62;&#60;/transition&#62; &#60;/start-state&#62; &#60;state name=&#34;a&#34;&#62; &#60;timer name='reminder' duedate='5 seconds' repeat='3 seconds' /&#62; &#60;script&#62; System.out.println(new Date()+ [...]]]></description>
		<wfw:commentRss>http://www.ardy.cn/java/about-jbpm-job.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>彻底解决Dom4j编码问题</title>
		<link>http://www.ardy.cn/java/solve-coding-problems-dom4j.html</link>
		<comments>http://www.ardy.cn/java/solve-coding-problems-dom4j.html#comments</comments>
		<pubDate>Tue, 05 Aug 2008 02:27:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JAVA开发]]></category>
		<category><![CDATA[Dom4J]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.ardy.cn/?p=248</guid>
		<description><![CDATA[这几天开始学习dom4j，在网上找了篇文章就开干了，上手非常的快，但是发现了个问题就是无法以UTF-8保存xml文件，保存后再次读出的时候会报“Invalid byte 2 of 2-byte UTF-8 sequence.”这样一个错误，检查发现由dom4j生成的这个文件，在使用可正确处理XML编码的任何的编辑器中中文成乱码，从记事本查看并不会出现乱码会正确显示中文。让我很是头痛。试着使用GBK、gb2312编码来生成的xml文件却可以正常的被解析。因此怀疑的dom4j没有对utf-8编码进行处理。便开始查看dom4j的原代码。终于发现的问题所在，是自己程序的问题。 在dom4j的范例和网上流行的《DOM4J 使用简介》这篇教程中新建一个xml文档的代码都类似如下 ?View Code JAVA1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 public void createXML&#40;String fileName&#41; &#123; Document doc = org.dom4j.DocumentHelper.createDocument&#40;&#41;; Element root = doc.addElement&#40;&#34;book&#34;&#41;; root.addAttribute&#40;&#34;name&#34;, &#34;我的图书&#34;&#41;; Element childTmp; childTmp = root.addElement&#40;&#34;price&#34;&#41;; childTmp.setText&#40;&#34;21.22&#34;&#41;; Element writer = root.addElement&#40;&#34;author&#34;&#41;; [...]]]></description>
		<wfw:commentRss>http://www.ardy.cn/java/solve-coding-problems-dom4j.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>理解JBPM的基本概念</title>
		<link>http://www.ardy.cn/java/understand-concepts-of-jbpm.html</link>
		<comments>http://www.ardy.cn/java/understand-concepts-of-jbpm.html#comments</comments>
		<pubDate>Tue, 15 Jul 2008 05:48:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JAVA开发]]></category>
		<category><![CDATA[Jbpm]]></category>

		<guid isPermaLink="false">http://www.ardy.cn/?p=246</guid>
		<description><![CDATA[理解JBPM(java Business Process Management)的基本概念： jPDL &#8211; JBPM Process Definition Language JBPM简要过程： 1、定义流程（利用JPDL） 2、部署流程（部署到数据库） 3、创建公文并与流程实例绑定 4、可通过JBPM的接口，触发流程向下流动 5、可通过JBPM的接口，获得流动到某个用户那里的文档（即待处理任务列表） 6、可通过JBPM的接口，结束某个用户的任务（这将触发流程继续向下流动） 7、如此，直到结束 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- 测试： 1、安装JBPM - 引入Hibernate依赖包 - 引入JBPM依赖包 * bsh.jar * jcr-1.0.jar * jbpm-identity.jar * jbpm-jpdl.jar - 引入数据库驱动 * mysql-connector-java-3.1.13-bin.jar 2、定义相关配置文件 - Hibernate配置文件 * 提供hibernate配置文件（可以从config/目录下拷贝，并修改其中的数据库连接设置即可） 3、假设现在有一个公文，需要经过：张三、李四、王五的审批之后才能结束 4、我们定义一个Document对象，及其hibernate映射，并将修改hibernate配置文件，将映射添加到其配置中（以便创建相应的数据库表） 5、现在让我们来测试一下： - 创建数据库表: JbpmConfiguration.getInstance().createSchema(); - 定义流程: 参考process.xml - 部署流程: * JbpmConfiguration.getInstance() [...]]]></description>
		<wfw:commentRss>http://www.ardy.cn/java/understand-concepts-of-jbpm.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jbpm任务分配管理</title>
		<link>http://www.ardy.cn/java/jbpm-task-allocation-management.html</link>
		<comments>http://www.ardy.cn/java/jbpm-task-allocation-management.html#comments</comments>
		<pubDate>Tue, 08 Jul 2008 09:41:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JAVA开发]]></category>
		<category><![CDATA[Jbpm]]></category>

		<guid isPermaLink="false">http://www.ardy.cn/?p=245</guid>
		<description><![CDATA[一个Task instance（任务实例）可以被分配给一个actorId (java.lang.String)。所有的Task instance都被保存在数据库中的表jbpm_taskinstance里。当你想得到特定用户的任务清单时，你就可以通过一个与用户关联的 actorId来查询这张表。 一个流程定义有一个TaskMgmtDefinition；一个TaskMgmtDefinition对应多个swimlane,同时对应多个 task;一个swimlane有多个task,可以  TaskMgmtDefinition中通过task的名称直接获取相应的task; swimlane对象有四个属性，分别是name（名字）、assignmentDelegation（分配代理类）、taskMgmtDefinition、tasks（Set 对应多个task),可以增加task task对象主要的属性：taskMgmtDefinition、swimlane、assignmentDelegation、 taskNode，需要注意的是swimlane和assignmentDelegation中间只是可以一个属性有值，因为它们都和任务的分配有关系。 一个流程实例有一个TaskMgmtInstance；一个TaskMgmtInstance对应多个swimlaneInstance,同时对应多个taskInstance;一个swimlaneInstance有多个taskInstance,可以从TaskMgmtInstance中直接获取相应的taskInstance; swimlaneInstance对象主要有五个属性，分别是name、actorId、pooledActors（Set）、swimlane、taskMgmtInstance。 taskInstance对象的主要属性：name、actorId、task、swimlaneInstance、taskMgmtInstance、pooledActors。 当对任务进行分配时，一般需要实现AssignmentHandler这个接口，这个接口的方法只有一个： void assign( Assignable assignable, ExecutionContext executionContext ) throws Exception; 一个典型的实现（把名字是&#8217;change nappy&#8217;的任务交给NappyAssignmentHandler这个类来分配） &#60;task name=&#8217;change nappy&#8217;&#62; &#60;assignment class=&#8217;org.jbpm.tutorial.taskmgmt.NappyAssignmentHandler&#8217; /&#62; &#60;/task&#62; NappyAssignmentHandler类： public void assign(Assignable assignable, ExecutionContext executionContext) { assignable.setActorId(&#8220;papa&#8221;); } 同样，Assignable只是一个接口，它有两个方法：setActorId()和setPooledActors()，Assignable的具体实现类也是两个 swimlaneInstancehe和taskInstance。这样就不不难理解整个任务分配流程了： 1、流程进入TaskNode节点，执行TaskNode类的execute()方法，该方法首先获得TaskMgmtInstance实例，然后通过它来创建TaskInstance。taskMgmtInstance.createTaskInstance(task, executionContext); 2、在上面的createTaskInstance(task, executionContext)里，该方法调用了taskInstance.assign(executionContext)对taskInstance进行分配。 3、在assign(executionContext)方法里，首先会判断task属性里是否存在swimlane，如果有的话，这个 taskInstance就会分配给swimlane指定的ActorId或 PooledActors；如果不存在，再去找task属性里 assignmentDelegation（分配代理类）通过代理类（即我们自己写的实现AssignmentHandler这个接口的类）指定 ActorId或 [...]]]></description>
		<wfw:commentRss>http://www.ardy.cn/java/jbpm-task-allocation-management.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Java动态缓存技术:WEB缓存应用</title>
		<link>http://www.ardy.cn/java/java-web-caching-application.html</link>
		<comments>http://www.ardy.cn/java/java-web-caching-application.html#comments</comments>
		<pubDate>Sun, 18 May 2008 11:56:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JAVA开发]]></category>
		<category><![CDATA[缓存]]></category>

		<guid isPermaLink="false">http://www.ardy.cn/?p=11</guid>
		<description><![CDATA[可以实现不等待，线程自动更新缓存 java动态缓jar包http://dl2.csdn.net/down4/20070918/18203740920.jar 源代码： ?View Code JAVA1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 [...]]]></description>
		<wfw:commentRss>http://www.ardy.cn/java/java-web-caching-application.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

