javax.naming.NamingException: Cannot create resource instance报错修改
//下面内容为网上获取
avax.naming.NamingException: Cannot create resource instance
at org.apache.naming.factory.ResourceEnvFactory.getObjectInstance(ResourceEnvFactory.java:115)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
at org.apache.naming.NamingContext.lookup(NamingContext.java:842)
at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
at org.apache.naming.NamingContext.lookup(NamingContext.java:830)
at org.apache.naming.NamingContext.lookup(NamingContext.java:167)
at org.apache.catalina.core.DefaultInstanceManager.lookupFieldResource(DefaultInstanceManager.java:582)
at org.apache.catalina.core.DefaultInstanceManager.processAnnotations(DefaultInstanceManager.java:472)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:159)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:140)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4888)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBaseStartChild.call(ContainerBase.java:1559)atorg.apache.catalina.core.ContainerBaseStartChild.call(ContainerBase.java:1559)atorg.apache.catalina.core.ContainerBaseStartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
“`
##原因:
package com.vrv.cems.listeners;
import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;
import org.springframework.web.context.WebApplicationContext;
import com.sys.common.util.DateUtils;
import com.sys.common.util.UUIDUtils;
import com.vrv.cems.log.domain.ManagerLoginLog;
import com.vrv.cems.log.service.ManagerLoginLogService;
import com.vrv.cems.mgr.auth.http.ManagerSessionUtils;
import com.vrv.cems.mgr.auth.session.ManagerSession;
import com.vrv.cems.mgr.domain.Manager;
import com.vrv.cems.mgr.service.ManagerService;
@Component
public class LoginSessionListener implements HttpSessionListener {
//登出
private final int EXIT = 2;
//非正常退出
private final int ABNORMALEXIT = 3;
private ManagerService managerService;
public ManagerService getManagerService() {
return managerService;
}
public void setManagerService(ManagerService managerService) {
this.managerService = managerService;
}
@Override
public void sessionCreated(HttpSessionEvent se) {
// TODO Auto-generated method stub
}
@Override
public void sessionDestroyed(HttpSessionEvent se) {
// TODO Auto-generated method stub
HttpSession session = se.getSession();
ManagerSession managerSession = ManagerSessionUtils.getManagerSession(session);
if(managerSession == null){
//正常退出
}else{
//非正常退出
ApplicationContext context = (ApplicationContext)se.getSession().getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
ManagerLoginLogService managerLoginLogService = context.getBean("managerLoginLogService",ManagerLoginLogService.class);
/*ManagerService managerService=context.getBean("managerService",ManagerService.class);*/
String uuid = UUIDUtils.get32UUID();
Manager manager= managerService.queryByAccount(managerSession.getAccount());
/* Manager manager= managerService.queryByAccount(managerSession.getAccount());*/
managerLoginLogService.save(new ManagerLoginLog(uuid,managerSession.getNiceName(),manager,EXIT,ABNORMALEXIT,DateUtils.getCurrentTimestamp(),managerSession.getLoginIp()));
}
}
1:没有在Spring Scan扫描器中加入该类的包名,就是用注解,相从Spring容器中获取service实例(@Resource注解想从Spring容器中注入实例,不好意思,人家Spring更本没给你分配资源)
2:在Spring中扫描器加入该包,没有在该类体上加(@Component)注解,就想用@Resource取出service实例,不好意思人家Spring根本没找到说的这个类
3:如果你懒得配这些配置文件,我敢说你是一名出色的程序员-懒,解决方法也是有的,像类中这样
ApplicationContext context = (ApplicationContext)se.getSession().getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
ManagerLoginLogService managerLoginLogService = context.getBean(“managerLoginLogService”,ManagerLoginLogService.class);
什么扫描什么装配,都是浮云,我们自己去上下文对象中 ApplicationContext context 去取拥有资源的Spring容器中取就行了 ,取出service了,这个问题也能解决
//下面内容为本人修改问题原因:
在Tomcat配置文件service.xml中
<Resource name="jdbc/mqService"
上述name名称重复,导致以上问题的出现,注释掉不用的,或者删除即可
javax.naming.NamingException: Cannot create resource instance报错修改的更多相关文章
- spring mvc 500错误Allocate exception for servlet AppService javax.naming.NamingException: Cannot create resource instance 竟是@Resource的原因
头几天已经测试的完毕了,换了个目录出现这个问题 严重: Allocate exception for servlet AppService javax.naming.NamingException: ...
- 配置jndi服务,javax.naming.NamingException的四种情况
1.当jndi服务没有启动,或者jndi服务的属性没有设置正确,抛出如下异常: javax.naming.CommunicationException: Can't find SerialContex ...
- Spring中@Resource注解报错
描述:Spring框架中,@Resource注解报错,在书写时没有自动提示 解决方法:因为maven配置文件的pom.xml文件中缺少javax.annotation的依赖,在pom.项目路中加入依赖 ...
- Jmeter录制脚本过程及Could not create script recorder报错、您的连接不是私密连接报错
转载自 https://www.cnblogs.com/wwho/p/7173172.html Jmeter录制脚本过程及Could not create script recorder报错.您 ...
- 二、Jmeter录制脚本过程及Could not create script recorder报错、您的连接不是私密连接报错
两个报错:Could not create script recorder报错和您的连接不是私密连接报错 1.录制过程 * 打开jmeter * 点击Templated,选择Recoding模版 * ...
- pod lib create ObjcName 时候报错error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
众所周知 pod lib create ObjcName 需要从git 上边克隆模版 :https://github.com/CocoaPods/pod-template.git 然后有时候会很慢报错 ...
- ckeditor4.0以上使用行间距插件lineheight报错修改
①从百度上下载一个 ckeditor 行距包,解压放到ckeditor/plugins目录下. ②在config.js 中添加 config.extraPlugins += (config.extra ...
- JS报错修改日记(1):Uncaught ReferenceError: showQRcode is not defined
为了加一个查看二维码的功能,如: //页面内按钮 <a class="manipulate-btn" href="#" onclick="sho ...
- MVC 中dapper的日志功能+程序报错修改
由于之前的项目说最好要有日志功能,正好之前看过几篇这方面的文章就弄了点东西. 这是EF日志受启发很大的一个原文: http://www.cnblogs.com/GuZhenYin/p/5556732. ...
随机推荐
- 用 python 修改文件中指定的行数
#! /bin/python filename='setup.ini' lines=[] with open(filename,'r') as f: lines=f.readlines() lines ...
- 构建RequestDelegate管道
1. 创建 Context.cs using System; using System.Threading.Tasks; namespace MyPipeline { public class Con ...
- Alamofire源码导读一:框架
源码架构  Alamofire 的源码包括 Core.Extensions.Features.Supporting Files.其中主要逻辑在 Core里. 包括构造请求,发起请求,处理回调等. C ...
- 切割数组 - 将一个数组拆分成多个长度为n的数组
有时候接口返回的数据很长,而前端显示需要分组显示这些数据,这个时候就需要将数组拆分: datas = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]; var arrLen ...
- 安装SQL Server 2016出错提示:需要安装oracle JRE7 更新 51(64位)或更高版本完美解决办法
错误提示原因:安装时检测出电脑没有安装JDK,而且是版本7(其他版本不行) 解决方法:先进下面这个网站安装JDK,安装好后配置环境变量,然后重新安装SQL Server 2016即可 http://w ...
- 2018春招-美团后台开发方向编程题 (python实现)
第一题:字符串距离 题目: 给出两个相同长度的由字符 a 和 b 构成的字符串,定义它们的距离为对应位置不同的字符的数量.如串”aab”与串”aba”的距离为 2:串”ba”与串”aa”的距离为 1: ...
- Android 开发服务类 01_ServletForXML
Servlet implementation class NewsListServlet package com.wangjialin.server.xml; import java.io.IOExc ...
- MyEclipse *的下载
找到MyEclipse的各种历史版本下载页面 : MyEclipse官方中文网 欢迎大家,加入我的微信公众号:大数据躺过的坑 人工智能躺过的坑 同时,大家可以关注我的个人博客 ...
- 微服务Kong(九)——认证参考
客户端访问上游API服务,通常由Kong的认证插件及其配置参数来控制. 通用认证 一般情况下,上游API服务都需要客户端有身份认证,且不允许错误的认证或无认证的请求通过.认证插件可以实现这一需求.这些 ...
- 数据库报错com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'ua' at row 1
记一次报错记录,成长路上的点滴 明明使用浏览器或者微信开发工具调试接口没有问题,但是在真机测试时候就出问题了.(((¬_¬)) 500服务器内部错误,要死的节奏啊 登陆tomcat服务器 使用命令ta ...