为什么隔一段是时间之后 springContextUtils会报错呢

来源:11-1 云服务器购买推荐及安全组介绍与关联

Brighten_fpJMX3

2018-09-04

// 保存消息到数据库,并且标记为 未签收
UserService userService = SpringContextUtils.getBean(UserService.class);

======================================

刚启动项目这句话不报错, 隔一段时间再次访问就报错

上句执行会报错

//img.mukewang.com/szimg/5b8e57f900018f8716990547.jpg

//img.mukewang.com/szimg/5b8e58100001205415840185.jpg

//img.mukewang.com/szimg/5b8e582400018d4117180101.jpg

//img.mukewang.com/szimg/5b8e59140001fff617670350.jpg

http://img.mukewang.com/szimg/5b8e59630001023318290352.jpg


2018-09-04 18:02:57,828 - 进入读空闲...

2018-09-04 18:02:57,828 - Closing connections idle longer than 60000 MILLISECONDS

2018-09-04 18:02:57,829 - Decoding WebSocket Frame opCode=1

2018-09-04 18:02:57,889 - Decoding WebSocket Frame length=41

2018-09-04 18:02:57,895 - 收到来自channel为[ [id: 0xe60a9e34, L:/192.168.31.22:8088 - R:/192.168.31.22:4850] ]的心跳包...

2018-09-04 18:03:26,116 - 进入读空闲...

java.lang.IllegalStateException: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@293a1225 has been closed already

at org.springframework.context.support.AbstractApplicationContext.assertBeanFactoryActive(AbstractApplicationContext.java:1073)

at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1106)

at io.miandiantong.common.utils.SpringContextUtils.getBean(SpringContextUtils.java:53)

at io.miandiantong.modules.netty.server.ChatHandler.channelRead0(ChatHandler.java:72)

at io.miandiantong.modules.netty.server.ChatHandler.channelRead0(ChatHandler.java:24)

at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)

at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)

at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)

at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)

at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)

at io.netty.handler.codec.http.websocketx.Utf8FrameValidator.channelRead(Utf8FrameValidator.java:77)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)

at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)

at io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler$1.channelRead(WebSocketServerProtocolHandler.java:204)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)

at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)

at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)

at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)

at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)

at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)

at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)

at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)

at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310)

at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)

at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)

at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)

at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965)

at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)

at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:647)

at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:582)

at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:499)

at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:461)

at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)

at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)

at java.lang.Thread.run(Thread.java:745)

2018-09-04 18:03:52,682 - Decoding WebSocket Frame opCode=1

2018-09-04 18:03:52,682 - Decoding WebSocket Frame length=41

2018-09-04 18:03:52,755 - 收到来自channel为[ [id: 0xe60a9e34, L:/192.168.31.22:8088 - R:/192.168.31.22:4850] ]的心跳包...

2018-09-04 18:03:52,763 - 进入写空闲...


写回答

1回答

风间影月

2018-09-04

那可能是你的配置问题了,这个上下文对象拿不到吧启动的时候没去用它就不会有错

0
0

Netty+Spring Boot仿微信-全栈开发高性能后台及客户端

SpringBoot/Netty+MUI全栈开发 同时搞定后台+ Android&iOS

1498 学习 · 684 问题

查看课程