ESK的个人空间

鞋服行业、系统架构、ERP性能分析、Java技术、工作流、商业智能

  博客园 :: :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  Java

摘要:一、概述作业调度的目的在于在对与系统资源进行交互的用户造成最低影响的同时,确保批处理流程的成功执行.作业调度的主要活动包括批处理运行方式的监控、分析、调优和实现. 作业调度定义的内容如下: 作业对象:注册作业对象.作业调度:根据业务需求,按照时间周期(每日、每周、每月、每年) 对作业对象进行调度,作业优先级:根据工作计划、运行优先级和作业之间的相互依赖关系来执行作业.涉及到的业务范围包括:√自动备份数据√自动数据库与数据库之间的数据传输√自动与淘宝网进行数据传输√自动与拍拍网进行数据传输.二、注册作业对象进入[作业调度]-[作业对象注册]点增加按纽出现界面注意:业务对象名必须事先中定义好.目前 阅读全文
posted @ 2011-11-08 19:40 ESK 阅读(2040) 评论(1) 推荐(0) 编辑

摘要:一、概述在很多论坛上都会谈论Java序列化,到底哪个很好呢?各有各的观点。这几天晚上正好在研究淘宝的dubbo的源代码,看到它写的一个测试用例,工程下载见:http://code.alibabatech.com/svn/dubbo/trunk/dubbo-common二、测试分析对同一个对象进行序列化:对象为long[] data = new long[] { -1l, 2l, 3l, 4l, 5l };java:aced0005757200025b4a782004b512b17593020000787000000005ffffffffffffffff000000000000000200000 阅读全文
posted @ 2011-11-01 22:42 ESK 阅读(7845) 评论(1) 推荐(2) 编辑

摘要:要实现多语言,大多数人是使用properties文件来的,比如struts,每种语言建一属性文件,命名一般是message.zh_cn.properties,message.en_us.properties,但这有三个我讨厌的点在:1):如果语言很多,我查找key很麻烦2):如果语言修改了,需要重启服务。3):不能在软件界面上修改 当然,上面三点还是可以通过编程来实现的,但做起来没有用数据库来的熟悉和方便,改用数据库来实现多语言,首先要设计数据库表,我建议是采用主明细,主表langs字段为:编号(code)|名称(name)明细表langsdtl字段为:编号(code)|关键字(messag. 阅读全文
posted @ 2011-06-21 17:25 ESK 阅读(2365) 评论(2) 推荐(0) 编辑

摘要:一个朋友问我,为什么我写这个简单的html文件,点增加老是出错呢?Html文件如下<html><body><script. language="javascript">function add(){ var form=document.forms[0]; form.method.value='add'; alert(1);}function update(vl){ var form=document.forms[0]; form.method.value='update'; form.sysid.value 阅读全文
posted @ 2011-06-15 23:16 ESK 阅读(393) 评论(0) 推荐(0) 编辑

摘要:这是09年写的一个笔计,放在这里,供自已以后参考. 今天将在Jetty下开发的WEB程序用Tomcat发布,系统出现了乱码,百思不得期解,因为以前做过多套的系统,从没出现过乱码. 晚饭过后,静下心来仔细的思考,还是找不到哪儿出错,没办法只有采用老方法,从头开始测: 1):写一个极其简单的jsp自已调用自已,看看会不会出现乱码,结果是会. 2):拿这个jsp放到其它正确的系统下,结果不会出现,由此可以确定系统的servlet的环境有问题. 3):删掉web.xml中所有内容,再启动,这个jsp能够正确,不会出现乱码. 4):依次增加web.xml中的内容,结果发现是自已写的listen出问题了. 阅读全文
posted @ 2011-06-15 23:11 ESK 阅读(1295) 评论(0) 推荐(2) 编辑

摘要: 最近在做erp电子沙盘项目,想要查看一局部变量的值,但又不想装firebug.ie8自带有一个功能:开发人员工具,可以很方便地进行javascript调试. 1:打开调试的页面 2:从工具里面,打开开发人员工具,转到脚本Tab,设置好断点,点开始调试。 3:刷新页面进行操作,当断点触发后:接下来你就可以进行调试了。 阅读全文
posted @ 2011-06-09 07:55 ESK 阅读(4412) 评论(0) 推荐(2) 编辑

摘要:要了解拒收,看懂源代码,至少要先看几次作者的原文档说明,他对拒收的定义以及约束在哪里。 拒收的含义是:当前操作者因为某种原因拒绝接收工作项,将已经发生的流转退回到前驱环节。 可以实现拒收的场景是:/** *拒收工单 */ public void rejectWorkItem(IWorkItem workItem, String comments) throws EngineException, KernelException { //取到工单对应的Activity Activity thisActivity = workItem.getTaskInstance().getActivity(). 阅读全文
posted @ 2011-06-08 19:23 ESK 阅读(1702) 评论(0) 推荐(0) 编辑

摘要:ActivityInstance.java /* Activity触发事件 * @see org.fireflow.kernel.INodeInstance#fire(org.fireflow.kernel.IToken) */ public void fire(IToken tk) throws KernelException { //打印权重. log.debug("The weight of the Entering TransitionInstance is " + tk.getValue()); IToken token = tk; //设置当前的节点实例ID t 阅读全文
posted @ 2011-06-06 20:10 ESK 阅读(1084) 评论(0) 推荐(0) 编辑

摘要:TranstionInstance.java /* 触发弧线 * @see org.fireflow.kernel.IEdgeInstance#take(org.fireflow.kernel.IToken) */ public boolean take(IToken token) throws KernelException { //触发弧线taking事件 EdgeInstanceEvent e = new EdgeInstanceEvent(this); e.setToken(token); e.setEventType(EdgeInstanceEvent.ON_TAKING_THE_T 阅读全文
posted @ 2011-06-05 07:54 ESK 阅读(921) 评论(0) 推荐(0) 编辑

摘要:Netinstance.java/* 运行流程 * @see org.fireflow.kernel.INetInstance#run(org.fireflow.engine.IProcessInstance) */ public void run(IProcessInstance processInstance) throws KernelException { if (startNodeInstance == null) { KernelException exception = new KernelException(processInstance, this.getWorkflowPr 阅读全文
posted @ 2011-06-04 21:58 ESK 阅读(674) 评论(0) 推荐(0) 编辑

摘要:KernelManager.java /** * 在获取工作流网实例的时候,调用createNetInstance方法,创建实例 * @param processId 流程定义ID * @param version 流程版本号 * @return * @throws KernelException */ public INetInstance getNetInstance(String processId, Integer version) throws KernelException { INetInstance netInstance = this.netInstanceMap.get( 阅读全文
posted @ 2011-06-04 21:26 ESK 阅读(745) 评论(0) 推荐(0) 编辑

摘要://这里使用了回调函数,这里手工处理事务的一种方法 currentProcessInstance = (IProcessInstance) transactionTemplate.execute(new TransactionCallback() { public Object doInTransaction(TransactionStatus arg0) { try { //IWorkflowSession是流程操作的入口,需要从runtimeContext获得。 IWorkflowSession workflowSession = runtimeContext.getWorkflowSes 阅读全文
posted @ 2011-06-04 21:22 ESK 阅读(1580) 评论(0) 推荐(0) 编辑

摘要:Java要解析xml并不困难,fireflow的作者是采用dom4j来解析.具体解析的类为:Dom4JPDLParser,另外还有一个类Dom4JFPDLSerializer,它的作用是将工作流模型写成Xml. 1):如何配置xml解析器的,作者提供了两个模式,一个是开发阶段用的definitionService4FileSystem,一个是实施阶段的definitionService4DBMS <bean id="definitionService4FileSystem" class="org.fireflow.engine.definition.Defi 阅读全文
posted @ 2011-06-04 15:29 ESK 阅读(3219) 评论(0) 推荐(0) 编辑

摘要:事件驱动在fireflow用的频率很高.比如:StartNodeInstance,TransitionInstance,ActivityInstance,LoopInstance,EndNodeInstance 1):定义事件监听器接口模型package org.fireflow.kernel.event;import org.fireflow.kernel.KernelException;/** *定义事件监听器模型 * */public interface INodeInstanceEventListener { /** * 节点实例监听器 * @param e * @throws Ke. 阅读全文
posted @ 2011-06-04 11:14 ESK 阅读(1597) 评论(0) 推荐(1) 编辑

摘要:一直以来,B/S下架构下的打印问题都是B/S系统开发中的难题,现有的WEB打印技术概括起来主要有如下三种:1):使用Html模板,直接使用WEB浏览器的打印2):转换成word,excel,pdf等格式后进行打印3):利用ActiveX控件实现打印对于以上三种,我个人一直倾向于使用PDF等格式后进行打印,原因如下:第一种方案,很难精确定位,对于我所处的行业,分销零售,小票打印很难满足业务需求.对于第二种方案,为什么不采用word,excel,word好象java操纵api不多(注,我一直就没去关注这些),excel的api,无论用jxl,还是POI,也是很难精确定位的。第三种方案,还要使用其 阅读全文
posted @ 2011-06-02 09:58 ESK 阅读(10202) 评论(1) 推荐(1) 编辑