0
我正在使用Jersey连接到服务器SSE通道(也使用Jersey实现)。Jersey的EventSource阻塞,直到第一个数据块被接收为止
客户端代码:
...
WebTarget target = client.target(uri);
EventSource client2es = new EventSource(target)
...
我的问题是new EventSource(target)
块,直到服务器sents数据的第一块。一旦调用EventSource.open
,Jersey EventSource实现将调用awaitFirstContact()
。
有什么理由要等待第一次接触?如何连接到事件源而不阻塞客户端,直到服务器发送第一个数据块?
运行一个专用的线程只是为了打开一个事件源是浪费资源。这也可以通过使用'EventSource.target(target).build()'来实现,而不使用构造函数的重载版本。 – gorootde
这不像是你有别的选择,除了修补图书馆之外,还可以运行异步...至于创作 - 无论你喜欢什么...... –