尊敬

今天在黑海岸做任务,把声望升到尊敬了。据说40级以后就可以骑豹子咯~~~ 不过我现在才18。

今天去杀 Murkdeep,那家伙看起来长的很酷,其实是个菜。

倒是在杀”Blackwood Pathfinders”的时候被那个标为稀有的Blackwood Pathfinders 砍死4次,最终放弃。我hp只有400。而它打我一下要60-80

Comments (2)

2008-06-26

今天早上看了下cglib和bcel。

本来是这样的,我有很多个普通的类,它们有一些public的成员变量。但是没有对应的getter/setter。所以如果用jdk的bean工具去查properties,就找不到这些变量。而我需要在axis2中把这些类型认做pojo作为 web service的Method中的参数。我首先的想法是,可否通过cglib这样的库动态的给原来的类添加几个get/set函数。发现用cglib或者bcel创建一个新的java bean class是很容易的。然而,我的要求,是不可能被满足的。因为据说java不允许动态的给一个类添加方法。So,我彻底的放弃了这个念头。只好根据现有的类生成新的类,然后尝试来回转换。

晚上回来想给新博客添加rss的功能。由于整个web的表现是在struts2上构建的。所以本来首先想用struts2的一个rss plugin(Rome RSS-Atom Plugin)来生成rss.但是发现对方网站实在是简陋的可以,而且找不到任何文档。想想算了,还是自己做吧。

首先有两个考虑

1、用log4j从头开始生xml,然后输出到一个stream。然后把struts的result type设置成stream,这样输出到浏览器。

2、用freemaker写一个模板。然后就像写普通网页一样,挨个填空。

3、把对象从数据库中取出后就交给xstream输出,然后写一个xslt转成rss格式的xml.

后来采用了第2条,因为觉得比较简单。折腾了一会儿,总算把rss2弄完了。明个儿有空了再给atom写一个ftl模板就行了。

struts2的url标签比较让我郁闷的是,它生成的仅仅是一个路径。不包含主机名、端口号等信息。而rss中要求写的是一个以协议名开头的完全的url。于是我只好去HttpServletRequest对象中找主机名、端口号然后拼起来。有谁知道什么好的办法吗?

嗯,下面最想做的就是给google提供sitemap。不过目前还没有具体的想法,不知道该怎么做。

还有一个比较急的是添加评论的页面还没有做。

Comments

flashget也搞偷偷上传

话说,可不可以去告它啊?

偷偷的把我硬盘上的文件传到不知名的地方?如果我这是公司的电脑,那么它算不算是窃取商业机密罪?

Comments

JDK 7中ProcessBuilder新添了重定向IO的功能

JDK 7中ProcessBuilder新添了IO重定向功能

例如:


ProcessBuilder redirectError(File file)

真好~~ 啥时候发布啊

Comments

wow

最近为了科普下网游知识,于是遵上级指示开始玩wow。选的是德莱尼种族的萨满。昨天开始玩的,到今天刚升到5级。

感觉。。。好难啊!地图上找怪、找NPC找死了。麻烦

Comments

Hibernate的Cascade怎么用?数组成员删不掉



/**

 *  地图信息

 *

 */

@SuppressWarnings(”serial”)

@Entity

public class MapInfo {

 int id;

 String name;

 NpcInfo[] activities;

 @Id

 public int getId() {

  return id;

 }

 public void setId(int id) {

  this.id = id;

 }

 @CollectionOfElements

 @IndexColumn(name = “aid”, base = 1) 

 @Cascade({ org.hibernate.annotations.CascadeType.DELETE_ORPHAN})

 public NpcInfo[] getActivities() {

  return activities;

 }

 public void setActivities(NpcInfo[] activities) {

  this.activities = activities;

 }

}

/**

 *  NPC信息

 *

 */

@Embeddable

public class NpcInfo{

 int id;

 String name;

 public int getId() {

  return id;

 }

 public void setId(int id) {

  this.id = id;

 }

 public String getName() {

  return name;

 }

 public void setName(String name) {

  this.name = name;

 }  

}



于是,事实上,数据里有两张表,一张Mapinfo,一张MapInfo_activities.第二张表会引用第一张表。

然后我这么删除

s.createQuery(”delete from MapInfo”).executeUpdate();

结果呢,它直接就在MapInfo这张表执行delete,而没有先去MapInfo_activities中执行delete。

我用的数据库是Mysql InnoDB。它报告说“foreign key constraint fails”。

郁闷~~ 不知道为什么。我明明已经设置了@Cascade({ org.hibernate.annotations.CascadeType.DELETE_ORPHAN})

啊,hibernate好神奇

Comments

接收函

今天亲眼看见了北京人事局的接收函,红头文件,下面大大的红章。它是如此的刺眼。这张接收函,是别人的。我没有。而且也不会再有。

你问我为什么离开新浪。我想说,我在新浪尽心尽力的工作,为什么到申报工作都快结束的时候才突然给我说,我是双外生,不能给申报?真的是不能吗? 不要说三方,当时你连个劳动合同都不肯跟我签!为什么我在新浪尽心尽力的工作,你却以我的户口不在北京为由拒收我的档案,进而以档案不在北京为由拒绝给我上住房公积金?这个理由,不是太可笑了吗?但是当时我只是一个学生,我信了。我真的以为只有档案在北京才能给上住房公积金。

新闻是新浪最核心的业务,您肯把这么重要的东西交给我,我感谢你。我知道周围很多同事把代码和文档泄露给了公司外的人,您放心。我没有给。就像我曾经努力工作一样,我以后也会依然信守职业道德信守保密合同上的承诺。

但是,你拿什么来解除我的愤恨?

Comments

生鱼片

昨天下午在屋里呆得实在无聊,于是决定去五道口玩。wa…wu…好喜欢这个地方。去吃什么呢?找来找去,嗯,还是去了桃屋。桃屋是一家日本料理,我刚来北京的第一天有人带我去过一次。我皱着鼻子吃下一份套餐,心里不停的想,这,这,这味噌汤,究竟有啥好喝的,简直就是味精汤嘛。

嗯,昨天被好奇心害死,又去了一次。这次没有点盖饭、套餐。而是点了很多稀奇古怪的东西,寿司、墨鱼生鱼片、烤秋刀鱼、荞麦凉面、etc,嗯,还有,味噌汤。最后发现,最好吃的还是那盘水果沙拉,耶!水果沙拉真的就是普通的水果沙拉,白白的,一口咬下去,像抽奖一样,也许是梨,也许是香蕉,也许是什么其它的东西。

烤秋刀鱼真好吃!

墨鱼生鱼片好腻啊,肥肥的一块块白乎乎的肉,好腻。

荞麦凉面。。。味道怪怪的,说不上好吃,也说不上难吃。

嗯,鳗鱼手卷上的鳗鱼非常好吃,下面的米团嘛,嗯,就是米,没啥味道。

为了满足自己的好奇心要了两个饭团,但是发现,啊,饭团真的就是饭团。米饭揉成一团,没啥好吃的。

最后,味噌汤,我觉得我可以接受它了。

p.s.五道口那家生活几何去哪里了?我昨天没有找到……

Comments

一段文字

一段文字,豆瓣上看见的:

“给你的爱一直很安静

  来交换你偶尔给的关心

  明明是三个人的电影

  我却始终不能有姓名 ”

Comments (1)

plan9 && rio

今天在sun xVM virtualbox中装了一个plan 9。

rio

嗯,sun又在搞virturalbox又在搞xen,不晓得究竟要干嘛。

Comments

« Previous entries