Freewind @ Thoughtworks scala java javascript dart 工具 编程实践 月结 math python english [comments admin] [feed]

(2013-05-09) Lift项目零散笔记

广告: 云梯:翻墙vpn (省10元) 土行孙:科研用户翻墙http proxy (有优惠)

SBT

  1. alias

alias rr=;container:stop;container:start

还没找怎么把它放到sbt的全局文件中

lift

  1. 想在lift关闭时执行一些操作(如关闭数据库连接池),可以Boot.boot中加入LiftRules.unloadHook.append(…)
  2. 可使用field(…)代替addField(…)

druid

  1. druid是阿里的项目,它的特点是性能好,监控功能强(还未试),有sql parser解析检查sql注入、统计等(这个有点变态),官网上说parser是手写的,比用javacc/antlr生成的效率要高很多
  2. 在lift中使用druid,需要以编程构造一个datasource,传入SquerylRecord.initWithSquerylSession(Session.create(DruidInitializer.ds.getConnection(), adapter))
  3. druid会先找依次找log4j及其它logger,如果发现哪个找不到,就会把ClassNotFound异常打印到console,这个做法有点邪门,因为我还以为哪里出错了,找了一圈,最后看到源代码(LogFactory.tryImplementation)才知道。它起码应该加个提示信息才对。
  4. druid的统计信息,是通过filter扩展进去的,还要注册一个MBean,才能在jconsole中查看到实时信息(需验证)
  5. 还可以定制druid的logger,比如打印哪些数据(需验证)

scala

  1. java: void close(), scala: append( ()=> unit),则可以append(close _)
  2. XML字面量的类型是NodeSeq
comments powered by Disqus