JSR-223 Groovy脚本引擎
在Groovy 1.6之前,如果想通过JSR-223 / javax.script.*将Groovy集成到Java项目中,我们需要从java.net下载Groovy脚本引擎实现并将该JAR放到类路径中。开发者们并不太喜欢这繁琐的步骤,但也没办法,因为Groovy发布包中并没有该JAR。还好1.6版带有一个javax.script.* API的实现。
下面的示例用来计算Groovy表达式(代码是用Groovy编写的,但可以轻松转换为Java代码):
2
3 def manager = new ScriptEngineManager()
4
5 def engine = manager.getEngineByName("groovy")
6
7 assert engine.evaluate("2 + 3") == 5
请注意只有Java 6才有javax.script.* API。
JMX Builder
最初JMX Builder是个位于Google Code上的外部开源项目,现在集成到了Groovy 1.6中以简化与JMX服务的交互及暴露服务。JMX Builder的特性列举如下:
·使用建造者模式(Builder pattern)的针对JMX API的领域特定语言
·简化JMX API编程
·以声明的方式将Java/Groovy对象暴露为JMX受管理的MBeans
·支持嵌入类(class-embedded)及显式描述符(explicit descriptors)
·对JMX事件模型的内在支持
·无缝创建JMX事件广播
·将事件监听器放到内联闭包中
·使用Groovy的动态特性轻松响应JMX事件通知
·为MBean提供灵活的注册策略
·没有特别的接口或类路径限制
·让开发者摆脱JMX API的复杂性
·暴露属性、构造方法、操作、参数及通知
·简化连接器(connector )服务器和客户端的创建
·支持JMX定时器的导出
在这里可以找到关于JMX Builder的更多信息及其对JMX系统的广泛支持,其中的众多示例展示了如何创建JMX连接器服务器及客户端、如何轻松的将POGOs导出为JMX受管理的Beans,如何监听JMX事件等等。