亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Sever Sent Event IOException 導致無法捕獲的

Sever Sent Event IOException 導致無法捕獲的

至尊寶的傳說 2022-05-21 21:09:12
我有一個應用程序,客戶端接收 SseEmitter,SseEmitter 會將 jms 消息中繼到客戶端??蛻舳岁P閉連接(關閉瀏覽器)時出現問題。將引發 IOException 導致以下無法捕獲的異常:2019-01-24 12:33:59.163 ERROR 26516 --- [nio-8080-exec-6] o.a.catalina.connector.CoyoteAdapter     : Exception while processing an asynchronous requestjava.lang.IllegalStateException: Calling [asyncError()] is not valid for a request with Async state [MUST_DISPATCH]    at org.apache.coyote.AsyncStateMachine.asyncError(AsyncStateMachine.java:440) ~[tomcat-embed-core-9.0.14.jar:9.0.14]    at org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:512) [tomcat-embed-core-9.0.14.jar:9.0.14]    at org.apache.coyote.Request.action(Request.java:430) ~[tomcat-embed-core-9.0.14.jar:9.0.14]    at org.apache.catalina.core.AsyncContextImpl.setErrorState(AsyncContextImpl.java:382) ~[tomcat-embed-core-9.0.14.jar:9.0.14]捕獲 IOException 不會阻止拋出此異常。我已經實現了一項工作,客戶端發送請求以從將發送事件的發射器集合中刪除他的發射器。但是,在客戶端/瀏覽器崩潰的情況下,仍然會拋出此異常。   @Scheduled(fixedDelay = 2000L)      public void sendEvent()  {           TextMessage message = null;           try {               message = messageBlockingQueue.take();           } catch (InterruptedException e) {               e.printStackTrace();           }           for(SseEmitter sseEmitter:emitterMap.values()) {               TextMessage finalMessage = message;                   try {                       sseEmitter.send(finalMessage.getText());                   }  catch (IOException e) {                       sseEmitter.completeWithError(e);                   } catch (JMSException e) {                       e.printStackTrace();                   }            }        }
查看完整描述

1 回答

?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

經過進一步研究,這個異??梢詺w咎于tomcat中的一個錯誤。

https://github.com/spring-projects/spring-boot/issues/15057

為了解決這個問題,我從 tomcat 切換到了 jetty。


查看完整回答
反對 回復 2022-05-21
  • 1 回答
  • 0 關注
  • 373 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號