2006 Sun Techdays Shanghai 的第2天下午有一个名为《
Java Scripting: One VM, Many Languages》的Session。
Rags为大家展示了Mustang的一个新特性,Scripting in Java——脚本语言支持。
通过加入脚本引擎的支持,就能够在Java中解释Javascript,python,ruby等诸多脚本语言。
对于这个特性,想到的一个可能的应用就是在annotation中写脚本语言,然后在代码中用相应的脚本语言引擎解释执行。
保留到运行时的annotation可以用实现aop的功能,使用非inline的脚本就可以更灵活地控制aspect的行为。
比如:
//inline scripting
@ScriptBefore(script="",language="javascript" )
public void foo() {
}
//non-inline scripting
@ScriptBefore(file="scripts/logging.js",language="javascript")
public void bar() {
}