怎样在spring的quartz.JobDetail中获取sevletContext实例?

怎样在org.springframework.scheduling.quartz.JobDetailBean任务调度中获取sevletContext实例。最好能在配置文件中注入。
[b]问题补充:[/b]
怎样在org.springframework.scheduling.quartz.JobDetailBean任务调度中获取sevletContext实例。最好能在配置文件中注入。

回复jones:我是在tomcat启动完成后调用的任务,selectcontext应该已经被实例化了吧。

[b]问题补充:[/b]
怎样在org.springframework.scheduling.quartz.JobDetailBean任务调度中获取sevletContext实例。最好能在配置文件中注入。
[b]问题补充:[/b]
怎样在org.springframework.scheduling.quartz.JobDetailBean任务调度中获取sevletContext实例。最好能在配置文件中注入。

回复jones:我是在tomcat启动完成后调用的任务,selectcontext应该已经被实例化了吧。

十分感谢回复的朋友!
回复jones:http://cse-mjmcl.cse.bris.ac.uk/blog/2007/06.html解决了,谢谢。

注意,你的JobDetailBean是在spring上下文启动的时候实例化的,这个时候获取不到ServletContext,但是可以提供一个方法,让JobDetailBean在真正执行的时候再去获取就可以了,看看这篇文章,完全符合你的情况,
[url]http://cse-mjmcl.cse.bris.ac.uk/blog/2007/06.html[/url]

这么做:
[color=red]applicationContext.xml[/color]






[color=red][/color]


上面的回答有问题,你这个需求基本不能实现原因如下:
ServletContext对象是web容器启动完成后才可以使用的,而Spring上下文是在web容器启动过程中初始化的,你的JobDetailBean也是在spring上下文启动过程中实例化的,这个时候[color=red]因为web容器还没有完全启动,ServletContext对象是不可用的,[/color]所以无论你用什么方法也无法获取到,因为ServletContext根本还没有完全实例化完成。
如果你只是需要通过ServletContext获取某些信息,不要考虑把ServletContext注入进去,想想能不能只传递某些参数呢

sevletContext只能在servlet里获得,要想在你的bean里得到,除非自己作为参数传进去

等着接分呢,嘿嘿