技术开发 频道

Groovy 1.6的新特性

  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代码):  

1 import javax.script.*
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事件等等。

1