随笔分类 -  技术

待处理数据的两种模型
摘要:在业务处理时,经常会存在待处理的业务数据,在处理这部分数据时,有如下的处理方式。 Worker模型:包含Worker处理类(Processor),调度处理框架,时间规则配置。 Worker处理类,待处理业务数据的处理类。 调度处理框架,根据时间配置的规则,在指定的时间点内,... 阅读全文

posted @ 2014-07-22 20:32 南郭先生kaka 阅读(1411) 评论(0) 推荐(0)

为什么说private方法是有罪的
摘要:具体的这句话从什么地方获得,我已经无从考证了,但是想想我们现在使用private的场景,你慢慢的就会发现,private的方法,大多数都是copy代码,当然我只是说大多数,还有就是大多数private方法实际上是设计的不太合理的遗留物。我先说两个我应用的场景,第一种场景与设计没有关系,只是与维护系统有关系。 第一种场景:维护系统,扩展系统 不知道大家有没有这种场景,需要维护或者扩展一个系统,这个时候,你只能通过继承某个类来做事情,不能通过修改source来达到目的,而这个时候,你会发现,你真正需要修改的,或者言之,替换的只是一个小小的方法,你只要override这个小方法就可以,... 阅读全文

posted @ 2013-09-30 17:28 南郭先生kaka 阅读(2855) 评论(17) 推荐(0)

XML2JSON 的【net.sf.json.JSONException: nu.xom.ParsingException must be followed by either attribute specifications, ">" or "/>"】问题解决办法
摘要:在使用JSon-Lib库进行XML2JSon的转换时,在JUnit测试时没有什么问题,但是在Tomcat里面跑的时候,抛出了下面的异常,查找了google,发现关于这方便的文章比较少,即使有,也需要FQ去查找,于是就自己记录下来,以便后面的人查找翻遍。net.sf.json.JSONException: nu.xom.ParsingException: Element type "鍥句功娴侀" must be followed by either attribute specifications, ">" or "/>". 阅读全文

posted @ 2013-09-29 16:15 南郭先生kaka 阅读(9792) 评论(0) 推荐(0)

继承的第一原则
摘要:当初在学习面向对象的时候,对于【继承】的第一印象就是获得了父的所有方法和属性,所以相对于继承了父的功能和职责。而后面自己的设计也是基于这个原则,就是复用原则,复用父项的方法原则。慢慢的延伸就是有多个子类,就会把几个子类共用的一些方法放到父类里面,而这种设计思想深深的影响了自己很久。 而这种方法却在近年来被自己慢慢的推翻,现在使用继承的第一原则就是模板,Template。通过父类使用Template模式,构造出子类的流程,而自己只是在对应的钩子方法(Hook)里面填充着差异的地方,如果不是这种情况,我会尽量的减少继承的使用。对于原来的把子类的方法推到父类的方法里面,则通过其它的方式进行... 阅读全文

posted @ 2013-09-23 17:36 南郭先生kaka 阅读(886) 评论(1) 推荐(0)

使用XSLT转换XML2XML
摘要:在EDI(电子数据交换)系统中经常会遇到这样的事情,也就是在系统内定义的XML文档是一种格式,而外系统定义的则是另外的一种格式,或者是不同的外系统定义的格式不太一样,例如对于人员有些地方定义为<employee>,而其他的组织则使用<worker> 或者 <associate>.①这个时候就需要一种XML转换成XML的格式了。 XSLT则就脱颖而出了,XSLT是XSL(EXtensibleStylesheetLanguage 扩展样式表语言)的一部分,专门负责XML转换成其他格式的一种语言。具体的学习可以参考网上的XSLT的资料。 如果你使用Java的话,很 阅读全文

posted @ 2013-05-22 10:57 南郭先生kaka 阅读(2651) 评论(0) 推荐(0)

Java 模拟 Http Post
摘要:因为某些原因,需要模拟Http post,向服务器进行提交数据。自己琢磨了很多种方法,什么ajax模拟,什么注入啊,想想都太高级了,自己也不太懂,于是想了想,咱也是java程序员,还是找个java的,这样应用起来也是得心应手了。于是施展了baidu和google大法,直接找到了一个开箱即用的模拟方法。我进行了简单的修改。具体代码如下: 1 public class HttpPostSimulator { 2 public static void post() throws IOException { 3 4 URL url = new URL("http://a.... 阅读全文

posted @ 2013-05-15 11:10 南郭先生kaka 阅读(547) 评论(3) 推荐(0)

java.lang.NoClassDefFoundError错误
摘要:应用程序跑的时候,突然报出来Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.xxx.xxx.XXX错误,当时第一反应就是.NoClassDefFoundError,肯定是类找不到了。于是赶紧看看代码,发现使用类的调用处没有任何的编译错误,这样的话就很迷惑了,为什么会NoClassDefFoundError错误呢。重新编译检查了一遍之后,还是报出来同样的错误,于是后面的错误信息引起了注意【Could not initialize】。 不能初始化,也就是类在new的时候出现了问题,于... 阅读全文

posted @ 2013-04-03 10:12 南郭先生kaka 阅读(6724) 评论(0) 推荐(2)

Spring 中Quartz配置数据库化
摘要:因为项目要求根据数据库的配置信息启动Spring中的Quartz的任务,这样就要求CronTriggerBean是动态多样的。搜索了很多文档也没有得其所以然,于是从Spring的配置信息进行入手了。 网上介绍的各种例子中,默认都是以SchedulerFactoryBean进行开始的,也看到,里面就一个参数就是triggers,那么这样就好说了,只要把trigger根据数据库中的配置信息进行生成就好了。 <bean id="startQuertz" lazy-init="false" autowire="no" class=&qu 阅读全文

posted @ 2013-04-01 17:06 南郭先生kaka 阅读(4022) 评论(0) 推荐(0)

FactoryBean在XML中的依赖注入方法
摘要:最近在探索Quartz的定时任务以数据库方式进行存储获取,其中用到了Spring的MethodInvokingJobDetailFactoryBean。在注入MethodInvokingJobDetailFactoryBean的时候,发现总是出现异常参数的错误。 Caused by: java.lang.IllegalArgumentException: Cannot convert value of type [org.quartz.JobDetail] to required type [org.springframework.scheduling.quartz.MethodInvo... 阅读全文

posted @ 2013-04-01 15:02 南郭先生kaka 阅读(1465) 评论(0) 推荐(0)

Camel FTP中文目录解决办法
摘要:在Camel中使用FTP只需要简单的DSL配置就可以了,把对应的jar放到classpath即可,但是在使用中遇到了FTP服务器上中文目录的问题,如果FTP服务器上的目录是中文的,那么FTP执行什么信息都没有,也没有错误,也没有下载下来。搞得我有些莫名其妙,不知道到底是怎么回事。 后来开始跟踪Camel源代码进行debug,终于发现在org.apache.camel.component.file.remote.FtpOperations类的doChangeDirectory方法中,无法进入到对应的中文目录。 1 private void doChangeDirectory(S... 阅读全文

posted @ 2013-03-18 17:39 南郭先生kaka 阅读(5228) 评论(1) 推荐(1)

配置CentOS6.3 NFS
摘要:说明:本文是基于CentOS 6.3版本,5系列版本请另行参照其他文档一、安装NFS对应的服务1.安装NFS 套件 首先安装NFS套件,命令如下:yuminstallnfs-utils.x86_64(64位系统)yuminstallnfs-utils(32位系统)2.安装RPC服务(注①)yuminstallrpcbind(centos6)二、启动NFS1.启动RPC服务Service rpcbind start2.启动NFS服务Service nfs start三、配置NFS服务器端1.设置共享目录 建立共享目录或者使用已有的目录,本文创建/data/nfsshare作为共享目录。 返回到根 阅读全文

posted @ 2013-03-08 16:50 南郭先生kaka 阅读(3562) 评论(0) 推荐(0)

Bean复制的几种框架性能比较(Apache BeanUtils、PropertyUtils,Spring BeanUtils,Cglib BeanCopier)
摘要:作为一个新员工,一个首要的工作就是阅读别人的代码,阅读代码的诸多好处就不说了,我就直奔主题,通过预读代码,发现了几种实现两个不同类型的Bean之间实现值复制的几种方式,上网查询后发现性能上会有差异,于是就萌生自己深入了解几种实现的想法。第一步就是先本着实事求是的原则去探求一下大家总结出来的性能差异是否正确。 比较的是四种复制的方式,分别为Apache的BeanUtils和PropertyUtils,Spring的BeanUtils,Cglib的BeanCopier。做法是在Eclipse新建了一个Project,专门用于专门测试几种代码的性能。具体的代码如下: 一个FromBe... 阅读全文

posted @ 2013-03-06 10:06 南郭先生kaka 阅读(40800) 评论(6) 推荐(11)

ActiveMQ 启动异常
摘要:在按照 《ActiveMQ in Action》的操作步骤进行操作的时候,ActiveMQ异常终止后,总是不能启动,总是在报错误。2012-03-1414:45:13,552|ERROR|FailedtostartActiveMQJMSMessageBroker.Reason:java.io.EOFException:Chunkstreamdoesnotexistatpage:0|org.apache.activemq.broker.BrokerService|mainjava.io.EOFException:Chunkstreamdoesnotexistatpage:0atorg.apac. 阅读全文

posted @ 2012-03-15 15:53 南郭先生kaka 阅读(6437) 评论(0) 推荐(0)

CheckStyle报告过滤无错文件
摘要:部门一直使用CheckStyle,Findbugs进行代码质量控制,每次都是自动发邮件报告代码问题。Findbugs的报告格式还算不错,看起来比较舒服。CheckStyle的报告就比较难看,难看就难看吧,关键就是每次报告的时候,都会把一些没有错误的文件也都列举出来。我们使用的是[checkstyle-noframes.xsl] 显示效果如下: 忍受了半年了,实在不能忍受了,一个是因为源代码文件原来越多,导致报告的文件很大。另外一个就是看着看着文件的大小,不知道问题是否已经改完了,每次都需要打开。就像findbugs每次文件大小如果为2.7~2.8K的话,基本上就是没... 阅读全文

posted @ 2012-03-01 16:01 南郭先生kaka 阅读(1025) 评论(0) 推荐(0)

导航