﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-OpenHandX 2数据服务为中心的企业架构(java)-最新评论</title><link>http://www.blogjava.net/pengminghua/CommentsRSS.aspx</link><description /><language>zh-cn</language><pubDate>Thu, 05 Jun 2014 07:12:32 GMT</pubDate><lastBuildDate>Thu, 05 Jun 2014 07:12:32 GMT</lastBuildDate><generator>cnblogs</generator><item><title>re: OpenHandX-River 1.0[未登录]</title><link>http://www.blogjava.net/pengminghua/archive/2014/04/17/391231.html#412579</link><dc:creator>dong</dc:creator><author>dong</author><pubDate>Thu, 17 Apr 2014 03:17:00 GMT</pubDate><guid>http://www.blogjava.net/pengminghua/archive/2014/04/17/391231.html#412579</guid><description><![CDATA[写的太专业了，难得能总结的这么好，可以到杂志发表一下<img src ="http://www.blogjava.net/pengminghua/aggbug/412579.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pengminghua/" target="_blank">dong</a> 2014-04-17 11:17 <a href="http://www.blogjava.net/pengminghua/archive/2014/04/17/391231.html#412579#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: OpenHandX-River 1.0</title><link>http://www.blogjava.net/pengminghua/archive/2013/01/21/391231.html#394509</link><dc:creator>qiu768</dc:creator><author>qiu768</author><pubDate>Mon, 21 Jan 2013 07:41:00 GMT</pubDate><guid>http://www.blogjava.net/pengminghua/archive/2013/01/21/391231.html#394509</guid><description><![CDATA[时隔一年终于有更新了，不知道传说中的工作流产品弄得怎么样了。<img src ="http://www.blogjava.net/pengminghua/aggbug/394509.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pengminghua/" target="_blank">qiu768</a> 2013-01-21 15:41 <a href="http://www.blogjava.net/pengminghua/archive/2013/01/21/391231.html#394509#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: OpenHandX-Batch 1.02 企业级批量应用架构</title><link>http://www.blogjava.net/pengminghua/archive/2012/12/03/293600.html#392378</link><dc:creator>彭明华</dc:creator><author>彭明华</author><pubDate>Mon, 03 Dec 2012 09:18:00 GMT</pubDate><guid>http://www.blogjava.net/pengminghua/archive/2012/12/03/293600.html#392378</guid><description><![CDATA[图型方式（使用VML技术）在IE6下可以使用，是我表述不准确。IE9下不正常是EXT2的问题，可以使用IE9兼容方式解决（IE9地址输入框内后部的一个按钮）<img src ="http://www.blogjava.net/pengminghua/aggbug/392378.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pengminghua/" target="_blank">彭明华</a> 2012-12-03 17:18 <a href="http://www.blogjava.net/pengminghua/archive/2012/12/03/293600.html#392378#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: OpenHandX-Batch 1.02 企业级批量应用架构</title><link>http://www.blogjava.net/pengminghua/archive/2012/11/26/293600.html#391947</link><dc:creator>wmj2003</dc:creator><author>wmj2003</author><pubDate>Mon, 26 Nov 2012 02:20:00 GMT</pubDate><guid>http://www.blogjava.net/pengminghua/archive/2012/11/26/293600.html#391947</guid><description><![CDATA[@彭明华  <br>“batchcosole的预览分为两部分，一个是编辑节点运行图，另一个日志分析图时提供。这两个预览又分提供列表和图型方式提供展示，但是图型方式（使用VML技术）必须在IE6以上版本才能看”（注：引用）<br><br>异步任务监控调度代码中确实没有图形监控的代码，我看jsp和js代码了。另外在IE浏览器9下面无法打开。可能是extjs3的问题，在firefox下面可以打开。<img src ="http://www.blogjava.net/pengminghua/aggbug/391947.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pengminghua/" target="_blank">wmj2003</a> 2012-11-26 10:20 <a href="http://www.blogjava.net/pengminghua/archive/2012/11/26/293600.html#391947#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: OpenHandX-Batch 1.02 企业级批量应用架构</title><link>http://www.blogjava.net/pengminghua/archive/2012/11/23/293600.html#391821</link><dc:creator>彭明华</dc:creator><author>彭明华</author><pubDate>Fri, 23 Nov 2012 03:11:00 GMT</pubDate><guid>http://www.blogjava.net/pengminghua/archive/2012/11/23/293600.html#391821</guid><description><![CDATA[@wmj2003<br>好的,很感谢您的细心回复,我会在近期修改一版上传<img src ="http://www.blogjava.net/pengminghua/aggbug/391821.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pengminghua/" target="_blank">彭明华</a> 2012-11-23 11:11 <a href="http://www.blogjava.net/pengminghua/archive/2012/11/23/293600.html#391821#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: OpenHandX-Batch 1.02 企业级批量应用架构</title><link>http://www.blogjava.net/pengminghua/archive/2012/11/22/293600.html#391738</link><dc:creator>wmj2003</dc:creator><author>wmj2003</author><pubDate>Thu, 22 Nov 2012 02:58:00 GMT</pubDate><guid>http://www.blogjava.net/pengminghua/archive/2012/11/22/293600.html#391738</guid><description><![CDATA[@彭明华  （有理解不对的地方请指正。qq 229849534     王明杰-聚灵-济南）<br><br>数据库初始化的脚本有问题。记不清楚了，有个时间列默认值给弄错了，本应该在STARTTIME 上面设置默认值，结果设置在COMPLETETIME 上面了。导致整体程序执行错误（通过数据库发送信息的时候）。<br><br><br>事件中心建议修改整体设计规划，采用JcronTab框架实现，可以大大简化事件发送器。<br>事件发送器：CycleEvent 类<br>	public EventDefine createEvent(Context context,<br>			Map&lt;String, String&gt; configParams, Event event) throws EventCenterException{<br>		Map&lt;String,String&gt; params = ParamParse.getParams(event.getConfigs());<br><br>		if(params==null){<br>			throw new EventCenterException(&quot;the configs can not be null&quot;);<br>		}<br>//		System.out.println(&quot;type=&quot;+params.get(&quot;type&quot;));<br>//		System.out.println(&quot;timeNum=&quot;+params.get(&quot;timeNum&quot;));<br>//		System.out.println(&quot;startTime=&quot;+params.get(&quot;startTime&quot;));<br>//		System.out.println(&quot;endTime=&quot;+params.get(&quot;endTime&quot;));		<br>		if(params.get(&quot;type&quot;)==null || params.get(&quot;type&quot;).trim().equals(&quot;&quot;)){<br>			throw new EventCenterException(&quot;the type parameter can not be null,interpose configs please&quot;);<br>		}<br>		if(params.get(&quot;timeNum&quot;)==null || params.get(&quot;timeNum&quot;).trim().equals(&quot;&quot;)){<br>			throw new EventCenterException(&quot;the timeNum parameter can not be null,interpose configs please&quot;);<br>		}<br>		Timestamp ts = null;<br>		if(params!=null &amp;&amp; params.get(&quot;startTime&quot;)!=null &amp;&amp; !params.get(&quot;startTime&quot;).trim().equals(&quot;&quot;)){<br>			ts = Timestamp.valueOf(params.get(&quot;startTime&quot;));<br>		}<br>		Timestamp ets = null;<br>		if(params!=null &amp;&amp; params.get(&quot;endTime&quot;)!=null &amp;&amp; !params.get(&quot;endTime&quot;).trim().equals(&quot;&quot;)){<br>			ets = Timestamp.valueOf(params.get(&quot;endTime&quot;));<br>		}<br>		EventDefine eventDefine = null;<br>		if(ets!=null){//如果定义了结束时间，那么就判断什么时间结束<br>			//TODO 这段逻辑有bug<br>//			if(ts==null || new Timestamp(System.currentTimeMillis()).compareTo(ts)&gt;=0){<br>//				eventDefine = getEvent(event.getId().replaceAll(&quot;#time#&quot;,String.valueOf(System.currentTimeMillis())),event);<br>//				if(new Timestamp(System.currentTimeMillis()).compareTo(ets)&gt;=0){<br>//					complete = true;<br>//				}<br>//			}<br>			//如果结束时间到了，那么就终止任务。<br>			if(new Timestamp(System.currentTimeMillis()).compareTo(ets)&gt;=0){<br>				complete = true;<br>			}<br>			<br>		}else{<br>			<br>			List&lt;String&gt; ids = ParamParse.getValues(event.getId());//有多少个ID就创建多少个事件<br>			if(ids!=null &amp;&amp; !ids.isEmpty() &amp;&amp; (ts==null || new Timestamp(System.currentTimeMillis()).compareTo(ts)&gt;=0)){<br>				if(checkIsCreate(params)){//检查周期性时间是否匹配，匹配就创建任务<br>					String tempId = ids.get(loop).replaceAll(&quot;#time#&quot;,String.valueOf(System.currentTimeMillis()));<br>					eventDefine = getEvent(tempId,event);<br>					System.out.println(&quot;CycleEvent----------开始创建事件请求----eventDefine=&quot;+eventDefine.getId());<br>					loop++;<br>					if(loop&gt;=ids.size()){<br>						complete = true;<br>					}<br>				}	<br>			}else{<br>				complete = true;<br>			}<br>		}<br>		return eventDefine;<br>	}<br><br>控制器中：open.batch.controller.impl.application. LayerNodeMap 有bug。<br>方法private List&lt;INode&gt; getNodes(String mapId,String params) throws SQLException  中，把标记写错了。<br><br>if(rs.getString(&quot;RERUN&quot;)!=null)<br>				node.setReRunMode(rs.getInt(&quot;RERUN&quot;));   //TODO  重跑模式在这里写错了吧,果然写错了.2012-09-20 又是一个bug已经修正<br><br>open.batch.taskserver.message.TaskSenderManager<br>这个类应做错误处理，将发送失败的任务重新进入队列中。同时需要修改他送任务的接口，让其只返回发送失败的任务。 否则一旦发送失败，这个任务就丢失了。<br>（注：其他发送任务的地方也有类似的问题。）<br>	/**<br>	 * @see Runnable#run()<br>	 */<br>	public void run() {<br>		while(!stopFlag){<br>			synchronized(Lock){<br>				if(tasks!=null &amp;&amp; !tasks.isEmpty()){<br>//					taskSender.sender(context,tasks,configParams);<br>//					tasks.clear();<br>					//将发送失败的任务重新加入到任务队列<br>					List&lt;Task&gt; taskfailures = taskSender.sendernew(context,tasks,configParams); //初步只是实现了DB的方式<br>					tasks.clear();<br>					this.setTasks(taskfailures); //将发送失败的任务重新放入发送队列。					<br>				}<br>			}<br>			try {<br>				Thread.sleep(1);<br>			} catch (InterruptedException e) {<br>				log4j.error(null,e);<br>			}<br>		}<br>		complete = true;<br>	}<br><br><br><img src ="http://www.blogjava.net/pengminghua/aggbug/391738.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pengminghua/" target="_blank">wmj2003</a> 2012-11-22 10:58 <a href="http://www.blogjava.net/pengminghua/archive/2012/11/22/293600.html#391738#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: OpenHandX-Batch1.0 快速部署手册</title><link>http://www.blogjava.net/pengminghua/archive/2012/11/22/317728.html#391736</link><dc:creator>wmj2003</dc:creator><author>wmj2003</author><pubDate>Thu, 22 Nov 2012 02:29:00 GMT</pubDate><guid>http://www.blogjava.net/pengminghua/archive/2012/11/22/317728.html#391736</guid><description><![CDATA[@彭明华<br>看明白了，呵呵，我也忘记早给你回复。以前都是通过查询锁表实现的。这也是一种好方法，多交流。<img src ="http://www.blogjava.net/pengminghua/aggbug/391736.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pengminghua/" target="_blank">wmj2003</a> 2012-11-22 10:29 <a href="http://www.blogjava.net/pengminghua/archive/2012/11/22/317728.html#391736#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: OpenHandX-Batch 1.02 企业级批量应用架构</title><link>http://www.blogjava.net/pengminghua/archive/2012/10/31/293600.html#390494</link><dc:creator>彭明华</dc:creator><author>彭明华</author><pubDate>Wed, 31 Oct 2012 01:26:00 GMT</pubDate><guid>http://www.blogjava.net/pengminghua/archive/2012/10/31/293600.html#390494</guid><description><![CDATA[@wmj2003<br>batch核心可能有Bug，能说一下具体的吗，我好解决，谢谢！<br>batchcosole的预览分为两部分，一个是编辑节点运行图，另一个日志分析图时提供。这两个预览又分提供列表和图型方式提供展示，但是图型方式（使用VML技术）必须在IE6以上版本才能看<img src ="http://www.blogjava.net/pengminghua/aggbug/390494.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pengminghua/" target="_blank">彭明华</a> 2012-10-31 09:26 <a href="http://www.blogjava.net/pengminghua/archive/2012/10/31/293600.html#390494#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: OpenHandX-Batch1.0 快速部署手册</title><link>http://www.blogjava.net/pengminghua/archive/2012/10/31/317728.html#390493</link><dc:creator>彭明华</dc:creator><author>彭明华</author><pubDate>Wed, 31 Oct 2012 01:19:00 GMT</pubDate><guid>http://www.blogjava.net/pengminghua/archive/2012/10/31/317728.html#390493</guid><description><![CDATA[@wmj2003<br>最近再忙另外一个项目,很少上blog,抱歉.<br>upst = cnn.prepareStatement(&quot;update &quot; + configParams.get(&quot;table&quot;) + &quot; set TASKID=TASKID where ID=&quot; + id);<br>就是一个锁表记录操作,锁完后再查询状态RECTIME,就能保证多台服务器获并发时任务不会重复被执行<img src ="http://www.blogjava.net/pengminghua/aggbug/390493.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pengminghua/" target="_blank">彭明华</a> 2012-10-31 09:19 <a href="http://www.blogjava.net/pengminghua/archive/2012/10/31/317728.html#390493#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: OpenHandX-Batch 1.02 企业级批量应用架构</title><link>http://www.blogjava.net/pengminghua/archive/2012/09/19/293600.html#388056</link><dc:creator>wmj2003</dc:creator><author>wmj2003</author><pubDate>Wed, 19 Sep 2012 03:49:00 GMT</pubDate><guid>http://www.blogjava.net/pengminghua/archive/2012/09/19/293600.html#388056</guid><description><![CDATA[batchcosole 缺少预览功能。 另外 batch核心代码有bug。google上应该不是最终版本。呵呵<img src ="http://www.blogjava.net/pengminghua/aggbug/388056.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pengminghua/" target="_blank">wmj2003</a> 2012-09-19 11:49 <a href="http://www.blogjava.net/pengminghua/archive/2012/09/19/293600.html#388056#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>