[ https://issues.apache.org/jira/browse/CXF-7874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16653686#comment-16653686 ]
Lukasz Wysocki commented on CXF-7874: ------------------------------------- Thank you [~reta], it seems the workaround you've implemented for !tomcat containers works (as tested in karaf/jetty). The sink is removed from broadcaster and the onClose callback from broadcaster is also invoked. As expected this happens with some delay (1 or 2 event sends later in my scenario). > JAX-RS SSE Leaking SSESink (s) > ------------------------------ > > Key: CXF-7874 > URL: https://issues.apache.org/jira/browse/CXF-7874 > Project: CXF > Issue Type: Bug > Components: JAX-RS > Affects Versions: 3.2.6 > Environment: Observed on karaf (jetty). > Reproduced on jetty by modifying cxf SSE tests. > Reporter: Lukasz Wysocki > Assignee: Andriy Redko > Priority: Major > Fix For: 3.3.0, 3.2.7 > > Attachments: cxf-7874.reproduce.patch > > > Closing of SSE connection by client is not detected and handled on the server > part. > This results in server leaking resources when it is the clients > responsibility for deciding on the lifetime of SSE connection. > My particular scenario is: > Status notifications for devices manged by the server are sent to the client > (browser), this is a continues stream. That stream lives until browser > tab/window is closed, which results in client closing the underlying SSE > connection. > SseSinkImpl is not informed of connection being closed. > At the same time the exception set in > org.apache.cxf.jaxrs.sse.SseEventSinkImpl#dequeue > {code}future.completeExceptionally(ex);{code} in case of channel being closed > is not acted upon internally within SseSinkImpl. -- This message was sent by Atlassian JIRA (v7.6.3#76005)