spring注入是否会被回收

在做jms的时候,调用到其他的接口来进行数据库操作。

如果不进行数据库操作的话,jms信息队列都是正常的。但是用的spring注入的接口进行操作的时候,当信息较多的时候,注入的这个接口会变成null。

实在是不明白为什么会这样。

根据jms的原理,每次有消息到达的时候,监听中就会有消费者来操作数据,就会调用接口。当多个数据几乎是同时到达的时候,第一条消息正常调用接口,而其他消息开始调用的时候,这个时候,注入的接口就变成null了。借口这么快就被回收了吗?

无奈,老大决定从context里面取bean,不使用注入了。于是写了一个静态的工具类,去取bean。之前也试过,由于在消息监听中直接取bean,所以每处理一次,就会初始化上下文一次,很麻烦。

这种静态的,使用的时候,也会初始化一下,不过不会被回收掉,这样还好。

关于上面注入的接口对象好像被回收,不知道大神是否知晓具体原理,希望共同探讨。

spring注入是否会被回收

时间: 2024-10-20 08:21:37

spring注入是否会被回收的相关文章

SSH框架系列:Spring读取配置文件以及获取Spring注入的Bean

分类: [java]2013-12-09 16:29 1020人阅读 评论(0) 收藏 举报 1.简介 在SSH框架下,假设我们将配置文件放在项目的src/datasource.properties路径下,Spring的配置文件也是src/applicationContext.xml路径下,那么我们可以借助Spring的property-placeholder读取配置文件,然后注入Bean中.我们在程序中,可以根据Bean的Id,获取注入的值.这样我们就可以借助Spring来读取配置文件. 2.

JSP 获取Spring 注入对象

<%@ page import="org.springframework.web.context.support.WebApplicationContextUtils"%> <%@ page import="org.springframework.context.ApplicationContext"%> ServletContext sc = this.getServletConfig().getServletContext(); Appl

Spring注入aspectJ切面

1.用关键字aspect即可声明一个切面如:                    切面定义完毕,可以发现,pointcut被当做一个类型,指定切点还是用execution表达式:after()和returning()也被当做一个类型来声明一个通知 2.在JudgeAspect中有一个CriticismEngine类型的成员变量,为了实现对象间的松耦合,我们在aspectJ中使用Spring的依赖注入来为JudgeAspect注入CriticismEngine对象.首先将CriticismEng

spring注入与代理对象两个对象

[INFO ] 2015-05-18 15:44:37:124 [com.yjm.dao.CommonDAO] - CommonDAO...初始化... [INFO ] 2015-05-18 15:44:37:137 [com.yjm.service.FoodService] - FoodService...初始化...18794463 [email protected] [INFO ] 2015-05-18 15:44:37:336 [com.yjm.service.FoodService] 

Spring注入之注解

繁琐的xml配置有时候让人感到烦躁,而Spring支持的注解配置简化了bean的配置. 所以spring可以使用annotation进行主动注入以及自动检测bean. <!--启用注解 --> <context:annotation-config></context:annotation-config> <!-- 自动检测pojo类为spring中的bean+启用注解 ,有了这个就可以不用配置--> <context:component-scan ba

JSP中使用Spring注入的Bean时需要注意的地方

遇到问题 遇到一个问题:在JSP中,使用Spring注入的Bean对象时,未能正确地获取到想要的对象. 郁闷的是,它也没报错. 研究问题 使用DEBUG功能(好久不在JSP里写Java代码了,都忘了JSP也可以打断点调试),跟踪了一下代码,发现确实有了我想使用的类的实例,不过是个代理类. 想到反射.代理相关的知识,貌似知道问题在哪了. 赶紧试了一下,果然…… 解决 在JSP里你要获得的Bean对象的类型,要定义成接口类,而不是实现类. 当然,这也视情况而定,我不确定,在JSP里使用Spring注

Spring注入:配置与注解

之前在某电商公司的时候也接触过一点Spring,不过了解不深,只是大概知道这个东西的存在.现在在一家公司实习的时候,才系统的看了一下Spring,这个框架网上的解释都很多,但主要都会介绍一下关于spring注入这一点,其实spring还有拦截的功能,而spring本身又是可以通过注解来使用,也可以通过配置文件使用,比较复杂,这里粗略介绍spring的注入层面,后面也许会写一篇关于spring MVC的博客.同时本文也会附上本人在自学过程中的一些好资料~~ 注入简介 Spring注入可以理解为是对

Quartz入门实例14-让Quartz的Job使用Spring注入的Bean

<!-- 由spring生成scheduler --> <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <!--<property name="jobFactory"> <bean class="cn.zto.job.JobBeanJobFactory"

spring 注入 和 实例化的差别(别说没区别)

1. 依赖注入(Dependency Injection)和控制反转(Inversion of Control)是同一个概念.具体含义是:当某个角色(可能是一个Java实例,调用者)需要另一个角色(另一个Java实例,被调用者)的协助时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例.但在Spring里,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者实例的工作通常由Spring容器来完成,然后注入调用者,因此也称为依赖注入. 不管是依赖注入,还是控制反转,都说明S