SBT
- alias
alias rr=;container:stop;container:start
还没找怎么把它放到sbt的全局文件中
lift
- 想在lift关闭时执行一些操作(如关闭数据库连接池),可以Boot.boot中加入LiftRules.unloadHook.append(…)
- 可使用field(…)代替addField(…)
druid
- druid是阿里的项目,它的特点是性能好,监控功能强(还未试),有sql parser解析检查sql注入、统计等(这个有点变态),官网上说parser是手写的,比用javacc/antlr生成的效率要高很多
- 在lift中使用druid,需要以编程构造一个datasource,传入
SquerylRecord.initWithSquerylSession(Session.create(DruidInitializer.ds.getConnection(), adapter))
- druid会先找依次找log4j及其它logger,如果发现哪个找不到,就会把ClassNotFound异常打印到console,这个做法有点邪门,因为我还以为哪里出错了,找了一圈,最后看到源代码(LogFactory.tryImplementation)才知道。它起码应该加个提示信息才对。
- druid的统计信息,是通过filter扩展进去的,还要注册一个MBean,才能在jconsole中查看到实时信息(需验证)
- 还可以定制druid的logger,比如打印哪些数据(需验证)
scala
- java:
void close()
, scala: append( ()=> unit)
,则可以append(close _)
- XML字面量的类型是NodeSeq