在grails job中碰到的问题的解决
程序员文章站
2022-03-14 12:41:14
...
想在job中直接调用velocity,于是把velocity-1.4.jar放在projectName/lib下面,写好job的源代码,然后启动,却出现classloader问题,提示class找不到.很郁闷的,但是不要紧,grails的job支持注入,于是在spring的配置文件中加入bean定义:
由于是byName,那么job的代码便是:
启动,可以看到velocityHelper已经被注入job,并且可以流畅的执行了.在job中也可以注入service,只不过我们都不用在applicationContext.xml中自己定义了,grails很体贴的把这部分xml在启动的时候动态的加载到SpringConfig中了.同样,controller中也可以类似的调用.
<bean id="velocityHelper" class="com.rw.framework.util.velocity.VelocityHelper" singleton="true" init-method="init" autowire="byName"> </bean>
由于是byName,那么job的代码便是:
import com.rw.framework.util.velocity.VelocityHelper class TestJob { def VelocityHelper velocityHelper; def startDelay = "1000" def timeout = "10000" def name = "TestJob" def group = "rwGroup" def execute() { def context = velocityHelper.getContext() context.put("userName", "rw") System.out.println(velocityHelper.merge(context, modifyPath("test.vm"))); } }
启动,可以看到velocityHelper已经被注入job,并且可以流畅的执行了.在job中也可以注入service,只不过我们都不用在applicationContext.xml中自己定义了,grails很体贴的把这部分xml在启动的时候动态的加载到SpringConfig中了.同样,controller中也可以类似的调用.
下一篇: Nacos支持的配置方案
推荐阅读
-
Chrome中模态对话框showModalDialog返回值问题的解决方法_javascript技巧
-
MySQL5.7在Windows8.1下忘记密码的问题解决(图文)
-
js中for循环内的匿名函数使用i的问题及解决方案
-
在iOS10系统中微信后退无法发起ajax请求的问题解决办法
-
完美转换MySQL的字符集 解决查看utf8源文件中的乱码问题
-
解决用Aspose.Words,在word文档中创建表格的实现方法
-
iOS中lebel特殊字符的自动换行问题解决
-
解决Android从相册中获取图片出错图片却无法裁剪问题的方法
-
CSS Div 最小高度在IE 6 和IE 7中的兼容性问题
-
iOS中WKWebView白屏问题的分析与解决