今天尝试把一个SpringBoot项目由jdk11转移为jdk8,在IDEA里运行一切正常。打包,部署到tomcat启动后,在客户端调用WebSocket出现如下异常:

java.lang.IllegalArgumentException: javax.websocket.DeploymentException: Endpoint instance creation failed
at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.init(WsHttpUpgradeHandler.java:139)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:942)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1732)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.websocket.DeploymentException: Endpoint instance creation failed
at org.apache.tomcat.websocket.WsSession.<init>(WsSession.java:278)
at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.init(WsHttpUpgradeHandler.java:127)
... 7 more
Caused by: javax.naming.NameNotFoundException: Name [cn.aa.bb.cc/userService] is not bound in this Context. Unable to find [cn.aa.bb.cc].
        at org.apache.naming.NamingContext.lookup(NamingContext.java:840)
        at org.apache.naming.NamingContext.lookup(NamingContext.java:172)
        at org.apache.catalina.core.DefaultInstanceManager.lookupFieldResource(DefaultInstanceManager.java:577)
        at org.apache.catalina.core.DefaultInstanceManager.processAnnotations(DefaultInstanceManager.java:480)
        at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:173)
        at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:142)
        at org.apache.tomcat.websocket.WsSession.<init>(WsSession.java:275)
        ... 8 more

在网上搜索了一阵也没有找到解决办法。回看异常本身,cn.aa.bb.cc/userService 有点问题,cn.aa.bb.cc是Controller类,userService 是类成员变量。通过 @Resource 初始化userService。从异常来看是由于初始化失败导致的。

    @Resource
private UserService userService;

将Resource改为Autowired后,再部署运行就没问题了。

    @Autowired
private UserService userService;

看来是找不到合适的类来初始化userService啊。

javax.naming.NameNotFoundException: Name [aa.bb.cc/xx] is not bound in this Context. Unable to find [aa.bb.cc]的更多相关文章

  1. javax.naming.NameNotFoundException

    2015-08-27 09:53:16,463 [localhost-startStop-1] DEBUG [org.springframework.jndi.JndiTemplate] - Look ...

  2. javax.naming.NameNotFoundException:Name[ XXX] is not bound in this context.

    在用局部数据源去连数据库的时候,在本地的项目中,都是可以的,可是一部署到服务器上,就报错了. 报的错误是:javax.naming.NameNotFoundException:Name[ XXX] i ...

  3. 菜鸟调错(二)——EJB3.0部署消息驱动Bean抛javax.naming.NameNotFoundException异常

    在部署EJB的消息驱动Bean时遇到了如下的错误: ERROR [org.jboss.resource.adapter.jms.inflow.JmsActivation] (WorkManager(2 ...

  4. 皕杰报表 javax.naming.NameNotFoundException: Name jdbc is not bound in this Context

    今天做报表的时候,跳转到显示报表页面的时候不出来数据,报错说数据集未产生. 后台报错 javax.naming.NameNotFoundException: Name jdbc is not boun ...

  5. javax.naming.NameNotFoundException: Name jdbc is not bound in this Context

    这个错误的原因是没有项目使用到了Tomcat中配置的数据源(但是你本地没有配置),关于什么是JNDI看这篇文章就够了® 今天导入一个项目(比较老的),在本地运行时报错: Cannot resolve ...

  6. EJB JMS javax.naming.NameNotFoundException: XXX not bound

    练习EJB MessageDrivenBean时部署不成功,一直报错 09:57:29,017 WARN [JmsActivation] Failure in jms activation org.j ...

  7. JBOSS javax.naming.NameNotFoundException: xxx not bound

    当出现JOBSS部署EJB  xxx not bound 请查看ejb.jar 是否打包完全正常,是不是缺配置文件,一般是缺少配置文件或者打包不正确.

  8. springmv日志debug异常,javax.naming.NameNotFoundException

    解决方案: 在web.xml配置如下代码即可: <context-param> <param-name>spring.profiles.active</param-nam ...

  9. Hibernate出现javax.naming.NoInitialContextException 错误的解决办法

    异常信息: 08:02:56,329 WARN SessionFactoryObjectFactory:123 - Could not unbind factory from JNDI javax.n ...

  10. 配置jndi服务,javax.naming.NamingException的四种情况

    1.当jndi服务没有启动,或者jndi服务的属性没有设置正确,抛出如下异常: javax.naming.CommunicationException: Can't find SerialContex ...

随机推荐

  1. leetcode刷题(三)

    1.图论 找到小镇的法官 在一个小镇里,按从 1 到 N 标记了 N 个人.传言称,这些人中有一个是小镇上的秘密法官. 如果小镇的法官真的存在,那么: 小镇的法官不相信任何人.每个人(除了小镇法官外) ...

  2. Kittle 插入更新,时间格式错误。

    错误1:mysql转oracle 把所有时间类型格式,进行转换,不然会报时间格式错误. 错误2:插入更新时,数据量大停止了,表没有设置主键,导致的.

  3. Oracle 验证身份证号

    --验证身份证号是否正确CREATE OR REPLACE FUNCTION fn_checkidcard (p_idcard IN VARCHAR2) RETURN INT IS v_regstr ...

  4. js把一个数组的数据平均到几个数组里面

    arr 原始数组数据 count  每个数组里面元素个数 function splitIpLit(arr,count) { let i = 0; let newArr = []; while(i &l ...

  5. docker tar包下载地址

    https://download.docker.com/linux/static/stable/x86_64/

  6. k8s暂停一个pod

    模拟k8s暂停一个服务:kubectl scale --replicas=0 deployment/[deployment]  -n [namespace](如要恢复设置参数--replicas=1即 ...

  7. crontal 计划任务

    crontab每分钟定时执行: */1 * * * * service mysqld restart //每隔1分钟执行一次 */10 * * * * service mysqld restart / ...

  8. iframe 父子页面调用vue函数,并解决跨域问题,宽度自适应

    第一: 1. 父页面 html <iframe id="external-frame" name="external-frame" ref="i ...

  9. springcloud day01

    单体架构:业务所有功能都在一个项目中开发,打成一个包部署 优点是架构简单 部署成本低 缺点是 耦合度高 分布式架构:根据业务功能对系统做拆分,每个业务功能模块作为一个独立的项目开发,也称为一个服务 优 ...

  10. 记:后端对字符串进行gzip压缩,前端js进行gzip解压

    最近有个需求要求对长字符串进行gzip压缩,然后在js进行解压缩的操作: public static void main(String[] args) { try { String longStrin ...