我们在我们的应用程序中使用 Quartz 调度来调度作业以生成和发送自审核电子邮件。
我正在尝试使用 GroovyPagesTemplateEngine 从电子邮件模板生成处理后的 emailBody。当处理不使用 Quartz 调度时,emailTemplate 被正确处理成 EmailBody。但是,当使用 Quartz 运行作业进行电子邮件模板处理时
groovyPagesTemplateEngine is failing in quartz job with error
[12:10:55 AM] Mandar: java.lang.IllegalStateException: TemplateEngine not initialised correctly, no [resourceLoader] specified!
这就是我想要做的
def getInfo(){
MockHttpServletRequest servletRequest = new MockHttpServletRequest()
GrailsWebRequest grailsWebRequest = new GrailsWebRequest(servletRequest, new MockHttpServletResponse(), new MockServletContext())
grailsWebRequest.setAttribute(GrailsApplicationAttributes.WEB_REQUEST, grailsWebRequest, 0)
RequestContextHolder.requestAttributes = grailsWebRequest
GroovyPagesTemplateEngine engine = new GroovyPagesTemplateEngine()
StringWriter sw = new StringWriter()
PrintWriter pw = new PrintWriter(sw)
engine.createTemplate('myteplate').make(model).writeTo(pw)
println sw.toString()
return sw.toString()
}
我知道 Quartz 调度程序没有与之关联的 WebRequest。我认为电子邮件处理因此而失败。如何在计划作业运行时处理电子邮件模板以生成 emailBody 内容,而不是通过从 UI 登录到应用程序。
提前致谢。