2007-09-24

慎用System.exit()

写个程序, 给邮件列表里每个人都发封邮件.

用main启动spring, 然后main就一直等, 一直等...spring就嘿咻嘿咻地启动线程, 发邮件, 启动线程, 发邮件.....

然后就完成任务了~~~ :).

后来, 又给了我一个邮件列表, 这次要带附件发送...

问题来了, 程序还没等邮件发完, 就终止了....

然后发现, 在读邮件列表时, 是一行一行地读的, 每读一个, 就发送给spring, 让spring去嘿咻嘿咻, 如果读到最后一行, 就执行
System.exit(0);
问题就是这段代码了, 把它修改成
return;
OK了, 阳光明媚 :D

虽然读到了最后一行, 但是, 后台的发送程序还没结束.

2007-09-06

发现spring写的代码跟我的一样, 偷乐.....

我写了个StringArrayEditor, 后来发现spring有一个StringArrayPropertyEditor, 名字差不多, 看内容, 完全一样的, 呵呵.

不过, 最后还是把我的代码删除掉了.....

这是一个bug么?Spring.BeanWrapper

spring的BeanWrapper会存放属性值.

class A{
BeanWrapper bw = new BeanWrapper(this);
private String[] sa;
//setter/getter....
}

给sa属性加了个属性编辑器StringArrayPropertyEditor
我觉得, 这么调用, 应该不会出问题:

A a = new A();
a.setSa(new String[]{"a", "b", "c"});
//我期望它的结果应该是 "a,b,c"
a.bw.findCustomEditor(String[].class, "sa").getAsText();

结果, 却是空, 不是找不到属性编辑器, 当你通过属性编辑器去获取属性值时, spring不会真正地去a这个类里面实时查找.只有当执行这句,
上面的代码才能得到预期的结果:
a.bw.setPropertyValue("sa", new String[]{"a", "b", "c"});

令人失望....咋就不去inspect一下'a'这个类捏?

2007-09-05

老婆, 今天我又迟到鸟

车好堵啊, 一动也不动的, 我走到加工区那边, 还等了老半天才座上车的, 其实司机是往石化那边开的, 近一个小时一动也不动, 受不了了, 就掉头去莲花了, 哈哈.