- 博客(48)
- 资源 (16)
- 收藏
- 关注
原创 StartUML 5.1.0文本框中文自动换行和排版问题解决
StarUML文本自动换行存在的问题- 中日韩字符之间无空格,导致无法自动换行- 显示时,多个空格会被压缩为一个,自动去除独立的空行通过修改graphics.js和pdf-graphics.js,实现效果如下:- 解决了中日韩文本的自动换行问题- 解决了文本的排版问题,保留原始文本中的空格数量,不把多个空格压缩为一个- 规避显示时空行被删除:在空行中加入一个空格,避免空行被删除,这样可保持原始的排版格式
2023-09-17 10:20:03
751
原创 Java线程池的管理和控制
1、ExecutorService线程池的接口为java.util.concurrent.ExecutorService,里面的方法行为约定如下:void shutdown()发起一个有序的停止,先前已经提交的任务会被执行,并拒绝提交新的任务。重复调用shutdown不会有副作用,遵从幂等性原则。该方法立即返回,不会等待先前提交的任务执行完成,应该使用awaitTermination方法去等待已提交任务执行完成。List<Runnable> shutdownNow()试图
2021-07-30 16:24:42
746
原创 Disruptor(三)运行控制
1、线程池管理Disruptor的带有Executor的构造方法都被声明为过期的,只保留了传入ThreadFactory的构造方法:两个传入ThreadFactory的构造方法,内部使用了固定的com.lmax.disruptor.dsl.BasicExecutor:BasicExecutor只是简单的创建一个运行的线程,并放入一个线程队列中,没有任务队列的管理,应该是Disruptor推荐用这种简单的形式,线程池中不需要任务队列,使用RingBuffer做为任务队列缓存处理任务..
2021-07-29 09:37:07
1555
原创 Disruptor(二)基础开发
1、获取DisruptorMaven仓库https://search.maven.org/search?q=g:com.lmax%20AND%20a:disruptor源码https://github.com/LMAX-Exchange/disruptor2、一个简单的事件生产者和消费者示例首先创建一个事件数据类型:创建一个事件工厂,使Disruptor可以用来生成RingBuffer的预分配条目:创建一个事件消费者:在本例中,我们假设这个..
2021-07-29 09:32:03
270
原创 Disruptor(一)简介
Disruptor类似于Java中的BlockingQueue,用于线程之间移动数据(事件 Event),但是Disruptor有自己的特点:把事件多播给多个消费者,并且可以建立消费者之间的依赖关系; 为事件预分配内存,避免垃圾回收; 可以选择无锁模式(lock-free)。在Disruptor的底层结构,可以把Disruptor看成是一个队列的多播图,生产者把数据放到队列中,然后通过下游的分离队列发送给所有的消费者并行消费。这个逻辑上的队列图是由一个简单的数据结构RingBuffer实现的。
2021-07-28 21:50:59
980
原创 Java Socket输入流如何检测到EOF
服务端Socket输入流读取public int read(byte[] b, int off, int len) throws IOExceptionIf len is zero, then no bytes are read and 0 is returned; otherwise, there is an attempt to read at least one byte. If n
2014-08-26 18:48:14
8033
原创 远程调试Eclipse插件的设置
1. 修改debugEclipse.cmd: eclipse.exe -nl zh_CN -vmargs -XX:+HeapDumpOnOutOfMemoryError -Xmx512M -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y编译好的插件运行在该环境中
2014-04-26 13:04:14
905
原创 从Eclipse插件中读取资源
可以通过Eclipse里的OSGi的Bundle类,获取插件目录下的某个文件的输入流:1. Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID); 2. URL url = bundle.getResource("/icon/xx.txt"); 3. InputStream is = FileLocator.toFile
2014-04-26 12:56:45
1226
原创 DB2数据库代码页和实例代码页的区别(解决DB2乱码问题)
DB2CODEPAGE: DB2 实例级别的代码页设置,它会影响DB2相关应用程序对代码页转换时做出代码页判定。 可以通过 db2set DB2CODEPAEG= 命令将 DB2CODEPAGE 设置为你需要的字符集。DATABASE CODEPAGE: DB2 数据库级别的代码页设置;必须在建库时进行设置。 在创建数据库时必须指定需要的代码页:
2014-04-26 12:50:06
6535
翻译 DB2 911错误的解释
SQL0911N 因为死锁或超时,所以当前事务已回滚。原因码为 ""。说明:当前工作单元参与了未解决的对象争用,因此必须回滚。原因码如下所示:2 由于死锁而导致事务已回滚。68 由于锁定超时而导致事务已回滚。72 因为存在与事务中所涉及的 DB2 Data Links Manager 有关的错误,所
2014-04-26 12:44:38
30766
转载 用DB2命令行执行SQL脚本
一、准备工作运行db2cmd或者db2cw打开DB2命令行处理器进入SQL脚本存放目录用db2 connect to user using 命令连接数据库用db2 set current schema 设置当前的SCHEMA,这个SCHEMA可以是未创建的,DB2会自动创建。二、执行不同类型的SQL1、在命令行执行简单SQL命令db2
2014-04-26 12:42:58
22145
1
原创 WebSphere集群中调用EJB的方法
在WebSphere集群环境中,为了更好地提供负载均衡和容错功能,调用EJB时把集群中的机器IP全部列进去:Hashtable env = new Hashtable();env.put(Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory");env.put(Conte
2011-06-29 11:49:00
1539
原创 工作流长事务的实现原理
流程引擎执行业务流程,在概念上通常是将流程划分为一些小片段,流程的执行是通过一系列短事务来执行流程片段,片段执行的推进过程就是流程的执行过程,下面具体描述短事务模拟长事务的原理。 事务的属性就是ACID – Atomicity, Consistency, Isolation, Durability,无论短事务还是长事务都应该有这四种属性,短事务的ACID属性由数据库或应用服务器实
2009-03-10 23:00:00
4001
1
原创 WebSphere 6.1概要管理的常用命令
1. manageprofiles.bat -listProfiles //列出概要文件[AppSrv01] 2. manageprofiles.bat -delete -help //查看删除概要"-delete"命令的帮助信息以下命令行参数对于此方式是必需的。命令行参数是区分大小写的。-delete: 删除概要文件。-profileName: 概要文件的名称。 例子: m
2009-03-09 16:46:00
1826
原创 生成登录页面随机数图片的代码范例
登录页面经常要求输入随机数,以避免用网页机器人恶意注册登录。虽然有开源包来实现这些随机图片,但是也可以自己写一个简短的代码来达到目的。randomImage.jsp //在内存中创建图象 int iWidth=50,iHeight=18; BufferedImage image=new BufferedImage(iWidth,iHeight,BufferedImage.TYPE
2008-11-14 10:59:00
2138
1
原创 JProfiler 5.1.4的使用方法
1. JProfiler运行环境配置安装目录结构如下,子目录中显示了支持的操作系统:在服务器和客户端都要安装JProfiler,并且要安装License,在分析工具客户端中进行安装。Windows环境中运行客户端程序: jprofiler5.1.4/bin/jprofiler.exe在UNIX系统中运行客户端程序,执行shell脚本: jprofiler5.1.
2008-11-10 14:31:00
9285
6
原创 Velocity读取模板文件的方法
在J2EE应用开发中,经常将Velocity模板文件打包在JAR文件中一起部署,但是Velocity的缺省行为是从OS的文件系统中读取模板文件,使用FileResourceLoader来读取模板文件。如果要改为从classpath中获取模板文件,那么要对Velocity的初始化参数进行调整:VelocityEngine ve=new VelocityEngine();//可选值:"class"--
2008-02-29 15:03:00
6275
原创 软件开发平台的设计目标
本人最近在规划软件开发平台的课题 ,先思考了一些原则性的东西,提出来和同行们探讨。 Ø 标准化应用开发将应用软件的开发过程和软件结构标准化,这是实现快速应用开发的基础,使任何应用项目除了业务逻辑代码不同之外,其他部分看起来都是相似的,就像同构体一样。当开发人员熟悉这套标准之后,可以快速开发和维护应用系统。 Ø 快速应用开发在开发标准的基础上,提供一整套契合普遍开发思维的开发工具,用于辅
2008-01-04 13:50:00
3719
原创 解决SQL Server的TEXT、IMAGE类型字段的长度限制
SQL Server缺省安装时,TEXT、NTEXT、 IMAGE类型字段是有长度限制,如果写入的数据超过限制就会抛出异常,缺省的长度限制是65536,需要修改数据库的全局配置参数:exec sp_configure max text repl size (B), 655360 --调整长度限制为655360,增加了10倍reconfigure --使配置生效
2008-01-04 13:33:00
10247
1
原创 工作流任务分派策略现状研究
任务分派策略是工作流管理中实现流程任务在组织结构中分派的关键技术,任务分派策略主要涉及三个方面的:(1)任务分派策略的描述方式(2)组织模型(3)流程模型,任务分派策略就是通过某种规范化的描述方式在组织模型和流程模型中导航,基于一些判定,最终得出把任务交给某个或某些参与者来做。通过考察当前市场上的工作流管理系统以及相关的研究成果,归纳出常见的几种任务分派描述方式,下表总结了它们的特点:
2007-08-29 23:06:00
3018
原创 BPM与SOA:BPM是实施SOA的必由之路
面向服务的架构(SOA – Service Oriented Architecture)已经逐渐从概念演变成了实实在在的企业架构,并将成为未来企业主流的IT架构。在SOA企业架构中,需要IT技术支撑的业务活动被抽象成为服务组件,而整个企业的自动化运营管理就是利用电子化业务流程将这些服务组件有机地集成在一起,利用业务流程的自动调度来驱动企业的运营管理。因此,可以说面向SOA的架构的实施是从业务
2007-08-29 22:56:00
2041
原创 SOA架构不适用的场合
SOA作为面向业务集成的企业基础架构越来越受到各方的追捧,但是每种技术都有它的适用范围,同样地,SOA也不是哪儿都可以用的万灵药,下面总结了5种SOA不适用的场合:(1)同构系统之间互联(2)实时、高性能的关键业务处理(3)系统架构不需要灵活性(4)紧耦合比松耦合的好处更多(5)领导层未准备好上SOA架构的心理准备
2007-08-08 12:46:00
2251
原创 intelliFlow工作流系统中的异常处理
intelliFlow提供了应用中可能出现的各种异常的处理机制。在intelliFlow中主要有三类异常:(1)客户端调用工作流系统服务出现异常,例如调用数据不合法、事务超时、业务逻辑操作出错(2)工作流系统后端运行出现异常,例如由于组织调整造成任务分派出错、引擎调用的业务适配器操作异常等(3)业务流程进入异常处理分支。对于第一类异常,在应用层可以直接截获,并且事务自动回滚。对于第二类异常,工作流
2007-01-03 14:57:00
3032
原创 intelliFlow工作流系统可以支持复杂组织机构中的任务分派要求
intelliFlow可以支持从总行到各级分行的复杂组织机构中的任务分派要求。intelliFlow具有一套可以描述银行复杂组织机构的面向业务的组织模型,基于该组织模型自主研发了一套面向任务分派的分派策略语言,任务分派策略语言具有描述能力强、使用灵活的特点,运行时组织和分派策略都可动态可配置。主要特色有:* 支持基于组织架构的分派 可以分派到部门、项目组、角色、群组、职位、个人* 基于
2006-12-29 18:07:00
2519
原创 兰亭序全文(含图)
永和九年,岁在癸丑,暮春之初,会于会稽山阴之兰亭,修禊事也。群贤毕至,少长咸集。此地有崇山峻岭,茂林修竹。又有清流激湍,映带左右,引以为流觞曲水,列坐其次。虽无丝竹管弦之盛,一觞一咏,亦足以畅叙幽情。是日也,天朗气清,惠风和畅;仰观宇宙之大,俯察品类之盛,所以游目骋怀,足以极视听之娱,信可乐也。夫人之相与,俯仰一世,或取诸怀抱,晤言一室之内,或因寄所托,放浪形骸之外,虽取舍万殊,静躁不同,当其
2006-12-17 23:28:00
20499
7
原创 “intelliFlow工作流管理系统”荣获厦门市科技进步二等奖
厦门市政府颁发了2006年厦门市科学技术奖,本人主持研发的“intelliFlow工作流管理系统”荣获二等奖。
2006-12-17 20:06:00
2784
原创 Sybase中计算SQL语句的执行时间
declare @date1 datetimedeclare @date2 datetimeselect @date1=getdate()--测试语句select @date2=getdate()select datediff(millisecond, @date1, @date2) --结果是毫秒数
2006-12-17 19:35:00
4890
原创 intelliFlow工作流系统和开源工作流有什么不一样?
首先intelliFlow和开源工作流都实现了工作流系统的基本功能,除此之外,intelliFlow与开源工作流系统的最大区别在于:开源工作流一般只实现了工作流系统的基本功能,欠缺对于中国特色管理需求的柔性管理功能。开源工作流一般注重功能实现,在性能、稳定性、安全性等方面考虑较少,只能在小规模业务量的系统使用,不适用于向银行领域中大规模、高可靠、高安全性的业务处理。
2006-12-17 11:32:00
2725
原创 有人说工作流系统分为高端工作流和低端工作流,intelliFlow属于哪类工作流?
工作流系统的分类有不同的分法,没有哪种分法一定是对的,只是分类的角度不一样,另外和不同人的观念也是有关系的,例如,有些人习惯性地把IBM、BEA等国外大公司的产品定位为高端的。拿intelliFlow和IBM或BEA的工作流产品相比,我们认为只是适用面不太一样,IBM和BEA的工作流产品是基于BPEL的,主要实现利用BPEL来编排后台的Web Services,因此它们的强项是偏底层的、技术层面的
2006-12-17 11:26:00
2388
原创 Oracle CLOB字段处理方法
以下方法为 自己编写的OracleDAOUtil中的方法。1. 插入记录 private static void insert(String id, Connection connection) { Connection conn = null; PreparedStatement stmt = null; String sql = "";
2006-12-05 00:00:00
3327
原创 提高intelliFlow工作流系统性能的数据库部署方式
从工作流性能测试的经验来看,在一定的并发量下,数据库所需的计算资源要大于应用服务器的计算资源,因此,在应用服务器做集群的情况下,要考虑数据库系统也要做集群。下面是在工作流性能测试中总结出来的几点经验:] 增加硬盘数量,以提高并行I/O,如果是非磁盘阵列,要把数据库的设备建立在不同的硬盘上] 仔细分析每张表的数据操作情况,把增删改操作频繁的表和相对稳定的表分开,建立在不同
2006-12-04 23:42:00
2213
原创 规范化查询模式并建立与之匹配的索引
当数据库表中数据量很大,查询时如果约束条件不足会造成计算量太大。首先要规范查询模式,如果查询模式不规范,会造成难以建立合适的索引。以工作流系统的业务功能“查询我申请的任务”和“查询我审批的任务”为例,如果提供用户一种自定义的查询条件的界面(模糊查询),用户可以任意组合输入查询条件,甚至也可以不输入查询条件,这就造成查询条件模式的不确定性,这也给建立合适的索引带了困难。为了规范化查询模式,在
2006-12-04 23:27:00
1834
原创 SQL查询语句优化指南
改进查询的目标是提高查询效率,改进查询要综合考虑多方面的因素,其基本点就是如何有效使用索引,没有有效利用索引的查询会造成全表扫描,当数据量很大时,查询效率十分低下,甚至是不可接受的。下面列出了常用的查询设计原则。] 总体原则查询优化器查看查询的每个字段,并决定对于限制需要扫描的数据量是否有用。如果一个字段可以被用作一个扫描参数(SARG),那么就称之为可优化的,并且可以利用索引快速
2006-12-04 23:21:00
2965
1
原创 聚集索引和非聚集索引
聚集索引:犹如字典的正文,正文部分本身就是一个目录,您不需要再去查其他目录来找到您需要找的内容。我们把这种正文内容本身就是一种按照一定规则排列的目录称为“聚集索引”。每个表只能有一个聚集索引,因为正文只能按照一种方法进行排序。非聚集索引:犹如字典中的拼音查字目录和部首查字目录,需要两个过程,先找到目录中的结果,然后再翻到您所需要的页码。我们把这种纯粹的目录称为“非聚集索引”。 建立聚集索引要求的:
2006-12-04 23:07:00
1469
转载 常用DOS批处理命令
接收键盘输入字符串的程序:: Get user input - includes error check@echo offecho e102set %%1=> %temp%./t1.datfor %%? in (w q) do echo %%?>> %temp%./t1.dat:inputecho.echo Type input:FC con nul /lb1 /n |FIND "1:"
2006-04-30 16:50:00
3729
原创 工作流中的会签模式
工作流中常用的有两种模式的会签:有主持人的会签和无主持人的会签。下图是有主持人的会签:“主持会签”步骤的任务执行人(主持人)可以为“会签”步骤动态指派参与会签的人员,同时主持人也评审会签结果。通过该会签模式可以人工控制需要会签的次数,以及每次参与会签的人员。该会签模式比较简洁,是推荐的常用模式。下图是无主持人的会签模式:无主持人的会签模式,实际上是把会签人员确定和会签评审分
2006-04-18 17:28:00
8447
转载 Sybase SQL Server索引的使用和优化
在应用系统中,尤其在联机事务处理系统中,对数据查询及处理速度已成为衡 量应用系统成败的标准。而采用索引来加快数据处理速度也成为广大数据库用户所 接受的优化方法。 在良好的数据库设计基础上,能有效地使用索引是SQL Server取得高性能的基础,SQL Server采用基于代价的优化模型,它对每一个提交的有关表的查询,决定是否使用索引或用哪一个索引。因为查询执行的大部分开销是磁盘I/O,使用索引
2006-04-14 13:42:00
3005
原创 DreamMail无法打开邮件数据库问题的解决办法
DreamMail无法打开邮件数据库问题的解决办法 (http://blog.youkuaiyun.com/kingspider/)DreamMail(http://www.dreammail.org/)是一个很好用的国产Email客户端,使用方便,界面漂亮,而且更新的速度也很快。目前在使用中遇到无法打开数据库的问题,就是无法打开“DreamMail4/User/DefaultUser/DmData.
2006-04-10 13:33:00
16987
原创 工作流管理产生的历史必然性
工作流管理产生的历史必然性(http://blog.youkuaiyun.com/kingspider/)(http://blog.sina.com.cn/u/1163490885) 工作流技术的历史可以追溯到70年代末的办公自动化和任务批处理,操作系统中的JCL语言(Job Control Language)就带有原始的工作流思想。第一次使用工作流术语可追溯到80年代初,但是那个时候还没有
2006-03-14 12:08:00
1794
StartUML 5.1.0的app.asar,解决了中日韩文本的自动换行问题
2023-09-21
Project 2010 Bible
2018-09-24
导出JVM KeyStore中私钥的Java程序
2016-01-27
已配置使用MySQL的Apache James
2015-07-28
经过改造可以修改Apache James邮件账户密码的WebMail Claros Intouch2
2015-07-28
替换文本文件中Ant表达式的Ant扩展任务
2014-06-14
Pragmatic.Programming.Clojure.2nd.edition的配套示例代码
2013-05-08
Pragmatic.Programming.Clojure.2nd.edition.Apr.2012
2013-05-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人