在定时任务执行的时候,当时间点到了,执行job的时候,有时候需要用到某些bean,但是自动注入是不行的,所以只能想其他办法,我的类

public class CommonJob extends MethodInvokingJob {)private MessageProducer messageProducer = (MessageProducer) SpringContextHolder.getBean("messageProducer");private JRedisClient jRedisClient = (JRedisClient) SpringContextHolder.getBean("jRedisClient");
}

至于SpringContextHolder类.

package com.topband.util;import org.apache.commons.lang3.Validate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;/*** 以静态变量保存Spring ApplicationContext, 可在任何代码任何地方任何时候取出ApplicaitonContext.*/
@Service
@Lazy(false)
public class SpringContextHolder implements ApplicationContextAware, DisposableBean {private static ApplicationContext applicationContext = null;private static Logger logger = LoggerFactory.getLogger(SpringContextHolder.class);/*** 取得存储在静态变量中的ApplicationContext.*/public static ApplicationContext getApplicationContext() {assertContextInjected();return applicationContext;}/*** 从静态变量applicationContext中取得Bean, 自动转型为所赋值对象的类型.*/@SuppressWarnings("unchecked")public static <T> T getBean(String name) {assertContextInjected();return (T) applicationContext.getBean(name);}/*** 从静态变量applicationContext中取得Bean, 自动转型为所赋值对象的类型.*/public static <T> T getBean(Class<T> requiredType) {assertContextInjected();return applicationContext.getBean(requiredType);}/*** 清除SpringContextHolder中的ApplicationContext为Null.*/public static void clearHolder() {if (logger.isDebugEnabled()) {logger.debug("清除SpringContextHolder中的ApplicationContext:" + applicationContext);}applicationContext = null;}/*** 实现ApplicationContextAware接口, 注入Context到静态变量中.*/public void setApplicationContext(ApplicationContext applicationContext) {SpringContextHolder.applicationContext = applicationContext;}/*** 实现DisposableBean接口, 在Context关闭时清理静态变量.*/public void destroy() throws Exception {SpringContextHolder.clearHolder();}/*** 检查ApplicationContext不为空.*/private static void assertContextInjected() {Validate.validState(applicationContext != null,"applicaitonContext属性未注入, 请在applicationContext.xml中定义SpringContextHolder.");}
}

这样子,就能找到你想要的bean文件了.

task定时任务不能自动注入 问题解决办法相关推荐

  1. 13-linux定时任务不起作用到的问题解决办法

    13-linux定时任务不起作用到的问题解决办法 参考文章: (1)13-linux定时任务不起作用到的问题解决办法 (2)https://www.cnblogs.com/zhumengdexiaob ...

  2. xshell1分钟就会自动断_详解xshell远程连接自动断开的问题解决办法

    关于用xshell远程连接系统自动断开问题的解决办法: 1.服务器端的配置 我们都知道,作为服务器,默认一般都是被动的等待客户端的连接到来.但对基于ssh协议的xshell的运用,总是出现自动断开的情 ...

  3. Spring cloud多模块开发下openFeign的使用,自动注入出现bean找不到问题解决

    参考文章: Spring cloud多模块开发下Feign的使用,以及@FeignClient注入bean找不到异常解决 问题现象:提供的某些openFegin服务无法找到 在业务通过@Autowir ...

  4. 远程连接自动断开的问题解决办法 screen

    远程连接自动断开的问题解决办法 文章目录 1. 问题描述 2. 解决办法 2.1. screen解决方案 3. screen详解 3.1 安装screen 3.2 创建一个新的窗口 3.3 常用的命令 ...

  5. jenkins的热部署_Jenkins+tomcat自动发布的热部署/重启及遇到的问题解决办法(推荐)...

    一.背景 公司的项目一直手动maven打包.上传服务器.关闭/开启tomcat,整个流程下来耗时耗力,虽然可以将所有流程通过shell脚本一次性解决,但如果可以通过idea的Jenkins插件一键自动 ...

  6. linux远程连接闪断,详解xshell远程连接自动断开的问题解决办法

    1.服务器端的配置 我们都知道,作为服务器,默认一般都是被动的等待客户端的连接到来.但对基于ssh协议的xshell的运用,总是出现自动断开的情况. vi命令打开/etc/ssh/sshd_confi ...

  7. quartz定时器依赖_JAVA使用quartz添加定时任务,并依赖注入对象操作

    最近在写定时任务,以前没接触过.查了些相关资料说使用quartz定时框架. 需要配置文件:config-quartz.xml 相关配置如下(红色部分是之后添加的,在后面步骤会说明): xsi:sche ...

  8. Dapper数据库字段(列)与实体属性名不一致,通过Column特性自动注入映射

    一.前言 Dapper是.NET下一个micro的ORM,它和Entity Framework或Nhibnate不同,属于轻量级的,并且是半自动的.Dapper只有一个代码文件,完全开源,你可以放在项 ...

  9. Windows XP系统下添加任务计划常出现问题解决办法

    Windows XP系统下添加任务计划常出现问题解决办法 计划任务就是让电脑在指定的时间内执行指定的动作(计划动作),这些动作可以是一个程序,也可以是一个批处理,但是至少是可以运行的(通俗一些就是双击 ...

最新文章

  1. mysql建立高效索引,如何知道你建立的MySQL索引是高效,合理的
  2. MySql入门使用:登录及简单创建查询表
  3. 【干货】系统管理员必备,服务器监控工具汇总
  4. 今天整理了一些老作品
  5. c语言中table函数,Excel的TABLE函数是什么意思?
  6. Spectral Bounds for Sparse PCA: Exact and Greedy Algorithms[贪婪算法选特征]
  7. 数据倾斜原理及解决方案
  8. Java I/O学习——File
  9. bzoj 1034: [ZJOI2008]泡泡堂BNB(贪心)
  10. Visio中如何绘制斜线箭头
  11. 宇视EZVMS系统通过GB28181协议接入EasyGBS的步骤说明
  12. 台式计算机如何自动开关机,电脑怎么设置自动关机时间 电脑自动开机时间怎么设置...
  13. Linux那些让你虎躯一震的命令
  14. JDK8新特性Stream流使用详解
  15. [肖博数学干货]高考数学二轮复习方法之概率和统计附强化题型解析
  16. linux上jira安装
  17. 华为p40pro怎么没有计算机,数码教程资讯:华为p40pro支持PC模式吗
  18. 飞想图纸加密软件可以有效保护您的设计图纸的知识产权
  19. 云服务器可以换系统不,云服务器可以换系统吗
  20. 【计算机视觉】深度相机(一)--TOF总结

热门文章

  1. StartSonar.bat启动闪退问题
  2. ERP : 投入控制
  3. CF(Div. 1 + Div. 2) E. Carrots for Rabbits(优先队列+贪心)
  4. Altium designer 在原理图及PCB中高亮某一条网络的三种方法
  5. bzoj2844:albus就是要第一个出场(线性基)
  6. 搭档之家| 生活中的“破窗理论”
  7. Android 自定义View合集
  8. 2013年最具技术影响力原创图书TOP10
  9. Eclipse使用c3p0连接池出现A ResourcePool could not acquire a resource from its primary factory or sour错误
  10. Teradata SQL 日期