• javax.naming.NameNotFoundException: Name [aa.bb.cc/xx] is not bound in this Context. Unable to find [aa.bb.cc]


    今天尝试把一个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啊。

  • 相关阅读:
    Windows上使用“LogView”打开大文件
    windows CMD命令查看局域网内所有主机名及IP
    解决Sqlserver 2008 R2在创建登录名出错"此版本的 Microsoft Windows 不支持 MUST_CHANGE 选项。 (Microsoft SQL Server,错误: 15195)"
    解决 ASP.NET 编辑错误"CS0006: 未能找到元数据文件C:WINDOWSassemblyGAC_32System.EnterpriseServices2.0.0.0__b03f5f7f11d50a3aSystem.EnterpriseServices.dll"
    ASP 未结束的字符串常量
    Godaddy ssl续费更新问题总结
    [转]How to query posts filtered by custom field values
    SqlServer 在查询结果中如何过滤掉重复数据
    [UE4]C++的const类成员函数
    [UE4]C++三种继承方式
  • 原文地址:https://www.cnblogs.com/winstonet/p/16107402.html
Copyright © 2020-2023  润新知