Arganzheng's Blog

stay hungry, stay foolish

Quartz与Spring的整合-使用Spring的FactoryBean实现动态Properties

问题 每个Quartz调度器实例都需要有一个标识,这是在配置org.springframework.scheduling.quartz.SchedulerFactoryBean的时候配置进去的。例如: <?xml version="1.0" encoding="GBK"?> <beans xmlns="http://www.springframework.org/sch...

Quartz与Spring的整合-Quartz中的job如何自动注入spring容器托管的对象

问题 Quartz中的job是由Quartz框架动态创建的(配置该job的classname,通过反射创建),而job一般会依赖到配置在spring中的bean,怎样获取或者更好的自动注入这些依赖bean呢? 预期效果 我们希望达到这样的效果: /** * * 取消超时未支付订单的任务。 * * @author arganzheng */ public class Ca...

解决Ant编译乱码问题

今天在用ant编译一个老的java工程,发现第一个遇到的问题就是编码问题。首先是报“警告: 编码 GBK 的不可映射字符” 一看就是典型的采用GBK去解码utf-8文件了。在javac中增加命令行参数-encoding UTF-8就可以解决了。 <target name="compile" description="编译Java文件"> <mkdir d...

Linux下如何备份旧文件

将30天前的文件打包压缩备份,然后删除原文件 今天王岩发了一个shell脚本让大家review一下: mmddnew=`date "+%Y%m%d"` basedir="/data/tomcatlog/api/reconciliationFiles/" echo ${mddnew} cd ${basedir} echo "压缩" find ./ -maxdepth 1 -type f -...

使用Java程序打jar/war包

JDK自带的jar util库。于是可以这么简单封装一下: java.util.jar.JarOutputStream; java.util.zip.ZipOutputStream; package me.arganzheng.study.archive.util; import java.io.BufferedInputStream; import java.io.File; im...

使用java web start网络启动应用程序

昨天刚把swing应用打包成一个可以执行的jar包。liuhe说可以更进一步搞个java web start网络启动。于是谷歌一下,发现挺简单的: 主要两个步骤: 1) 使用keytool生成一个keystore文件。然后使用该keystore用jarsigner对你的jar包进行签名。 2) 写个jnlp文件 <?xml version="1.0" encoding="UT...

maven的resources插件

maven的resources插件职责是将项目的资源文件拷贝到目标目录。maven将资源划分为两类:main resources 和 test resources。因此有如下三个相应的goal: 1. resources:resources command: mvn resources:resources bound by default to the process-reso...

Spring事务配置

原理 Spring是基于proxy方式的事务实现机制。如果你的target实现了某个接口,那么Spring可以根据这个接口动态生成一个proxy,在你的service方法前后进行如下事务管理: tx.begin(); try{ target.service(); }catch(Exception e){ tx.rollback(); } tx.commit(); ...

velocity的foreach

背景:在velocity模版文件中为一个java类生成toString()方法。 原来的做法: @Override public String toString(){ StringBuilder sb = new StringBuilder(); #foreach( $field in ${response.fields} ) sb.appe...

如何不刷新页面上传文件

场景: 一个表单页面:有很多字段,其中有一个是上传图片字段,如何提交这个表单页面。 解决方案 方案1. iframe + hidden field 为了不刷新页面,一般来说要不就是对文件标签使用iframe和单独的form来提交。提交到iframe指定的action处理完成后,将文件上传路径回写到父页面的某个字段。需要在iframe中区分是否已经上传了文件。 如:http://api...