`
sean_gao
  • 浏览: 231377 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

[Tips] 使用Groovy处理邮件通知

阅读更多

通过Groovy实现邮件通知(其实是转发到ANT)十分容易,先上代码:

<!----> 1 ant = new AntBuilder()
 2 
 3 def mail(subject, body, attachment = [dir:".",files:[]]) {
 4     ant.mail(mailhost:"mail.com", mailport:"1025", user:"mailer", password:"123", subject:"${subject}") {
 5         from(address:"nobody@mail.com")
 6         to(address:"nobody@mail.com")
 7         message("${body}")
 8         attachments() {
 9             if (attachment.files) {
10                 fileset(dir:"${attachment.dir}") {
11                     attachment.files.each {
12                         include(name:it)
13                     }
14                 }
15             }
16         }
17     }
18 }
19 
20 attachment = [dir:"/tmp", files:["some.properties","some.sql"]]
21 mail("Test mail message at ${new Date()}""This is a test message.", attachment)
22 

这个简单的例子很好的展示了如下Groovy特性:
1- Groovy脚本可以不需要定义任何class,方法定义和实际调用也可以混在一起,十分顺手。
2- 定义变量不需要指定类型,只要赋值即可,不过运行期依然是强类型。
3- 方法参数可以有默认值。
4- List和Map的构建直接在语义层面提供支持,如[a:1,b:2]和[1,2]。
5- GString使得我们可以方便的在String中引用变量甚至是表达式,如"${a.b.c}"或"${new Date()}"。
6- 逻辑判断在true/false基础上有所扩展,[](0个元素的List)和null均做false处理。
7- Closure支持,方便我们在外围代码处“当场”指定处理逻辑,省去了大多数在Java中需要匿名内部类来处理的麻烦,如attachment.files.each { .... },只有一个传入参数时,可直接用it指代。
8- 与ANT的无缝集成,以及对Builder模式的良好支持,使得我们可以写出上述初看上去有些不可思议的代码。

P.S. 虽然Groovy自己已经bundle了ANT,可以直接使用其中的绝大多数功能,不过为了调用ANT的mail task,还需要将ANT发行版中带有的ant-javamail.jar以及JavaMail API对应的jar包(可以从Sun网站下载)加到classpath。如果你的JDK版本低于6.0,还需要activation.jar。


分享到:
评论

相关推荐

    Java中使用Groovy的三种方式

    本文将深入探讨在Java项目中使用Groovy的三种主要方式,并阐述它们各自的优势和应用场景。 一、作为嵌入式脚本 Java 6引入了JSR 223(Scripting for the Java Platform),允许在Java程序中直接执行脚本语言。...

    groovy入门经典,groovyeclipse 插件

    无论是新手还是经验丰富的开发者,都能通过学习Groovy和使用GroovyEclipse插件提升工作效率。通过阅读《Groovy经典入门》这本书和实践其中的示例,你可以快速掌握Groovy语言并开始利用其强大的功能。

    Groovy在Spring中的简单使用

    Groovy 在 Spring 中的简单使用 Groovy 是一种敏捷的动态语言,用于 Java 虚拟机,可以与 Java 代码无缝集成。它的类 Java 语法对于 Java 开发人员来说很自然,且可以作为纯粹的脚本语言使用。在 Spring 中动态使用...

    groovy和Java相互调用1

    Java编译器会自动处理Groovy类的编译,并将其转换为Java字节码,以便Java代码可以正常运行。在这个例子中,创建了一个`GroovyDemo`对象并调用了它的`sayHello`方法。 2. **方法2:反射动态调用** - 使用Java的反射...

    Groovy安装以及简单使用

    这篇博客“Groovy安装以及简单使用”将引导我们了解如何安装Groovy,并展示其基本用法。 首先,安装Groovy涉及几个步骤。用户需要下载最新版本的Groovy发行版,可以从Groovy官方网站...

    groovy

    Groovy是一种基于Java平台的、动态的、强大的编程...无论是编写脚本、开发Web应用还是进行数据处理,Groovy都是值得学习和使用的强大工具。通过深入理解和实践,开发者可以充分利用Groovy提高工作效率,提升项目质量。

    rexsee文档和api使用groovy爬下来分享给大家

    标题 "rexsee文档和api使用groovy爬下来分享给大家" 提到的是使用Groovy语言来爬取 RexSee 文档和 API 的过程。RexSee 是一个企业级的应用开发平台,它提供了一种可视化编程的方式,使得开发者可以通过拖拽组件来...

    eclipse安装groovy插件的步骤

    ### Eclipse 安装 Groovy 插件的详细步骤与使用指南 #### 一、Groovy 插件的安装 为了能够在 Eclipse 中使用 Groovy 进行开发,首先需要安装 Groovy 插件。以下是详细的安装步骤: 1. **下载 GroovyEclipse.zip ...

    groovy in action 中文版 2017.11

    文档还提供了一些基本的运行和编辑Groovy代码的方法,并且提到了Groovy的IDE和编辑器支持情况,以及一些Groovy的基础知识,如类和对象的声明、使用脚本、处理文本、数字、列表、映射和范围,以及如何在Java环境中...

    Java调用Groovy,实时动态加载数据库groovy脚本

    Java作为一种广泛使用的静态类型编程语言,有时候可能无法满足所有需求,特别是在处理动态代码执行和热部署时。此时,Groovy这种基于JVM的动态语言就发挥了重要作用。本文将详细讲解如何在Java应用程序中调用Groovy...

    groovy速查手册

    这样做的好处在于,你可以像使用Java代码一样使用Groovy代码,无需担心兼容性问题。 - **从Groovy调用Java**:Groovy完全支持调用任何Java代码,就像在Java中一样直接使用。 - **从Java调用Groovy**:在Java中调用...

    microservices-spring-boot-groovy:使用 Spring Boot 和 Groovy 构建微服务

    微服务-spring-boot-groovy 使用 Spring Boot 和 Groovy 构建微服务创建这些项目是为了在当地的达拉斯 Groovy Grails 用户组会议上展示微服务架构这些服务使用您需要安装才能开始使用的各种外部服务。 您将需要安装 ...

    groovy-sdk-4.0.3

    3. **标准库**:Groovy SDK附带了一套丰富的标准库,包含各种实用的类和函数,如文件操作、网络通信、日期和时间处理等。 4. **GroovyShell**和**GroovyConsole**:这两个工具分别用于交互式地运行Groovy脚本和提供...

    groovy-2.3.6-installer

    安装Groovy后,开发者可以使用Groovy Shell(groovysh)进行交互式编程,或者编写Groovy脚本执行任务。Groovy的语法简洁明了,支持闭包和动态类型,使得开发效率大大提高。此外,Groovy还可以用于构建脚本、Web开发...

    Groovy Script 入门

    Groovy不仅支持传统的面向对象编程特性,还融合了函数式编程和元编程的特性,这使得Groovy脚本成为处理日常开发任务的强大工具。 #### 二、Groovy脚本的特点 1. **与Java的高度兼容性**:Groovy可以无缝地与Java...

    apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本

    apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望...

    Groovy 动态修改XML

    此外,可能还会提到如何在大型项目中使用Groovy来提高XML处理的效率和可维护性。 总而言之,Groovy提供了一种高效且灵活的方式来处理XML,使得动态修改XML文档变得轻而易举。通过学习和掌握这些知识,开发者可以在...

Global site tag (gtag.js) - Google Analytics