问题描述
我正在尝试使用Java和以下代码参考来自动化服务器发送事件(SSE):
- https://github.com/BeTheCodeWithYou/Spring-Boot-SSE
- https://github.com/BeTheCodeWithYou/Spring-Boot-SSE/wiki
- https://medium.com/@bethecodewithyou/server-sent-events-development-test-automation-9ec74e2f71a
在使用EvenSource库建立与流的连接之前,我一直坚持传递标头。
public Map<String,String> subscribeClient(String uuid) throws InterruptedException {
Headers.Builder headerBuilder = new Headers.Builder();
String dummyHeader1 = "header1:value1";
String dummyHeade2 = "header2:value2";
headerBuilder.add(dummyHeader1);
headerBuilder.add(dummyHeade2);
Headers myHeader = new Headers(headerBuilder);
EventHandler eventHandler = new ClientEventHandler();
String url = String.format("https://stream.wikimedia.org/v2/stream/recentchange");
EventSource.Builder builder = new EventSource.Builder(eventHandler,URI.create(url)).headers(myHeader);
System.out.println("client establishing connection");
try (EventSource eventSource = builder.build()) {
eventSource.setReconnectionTimeMs(3000);
eventSource.start();
TimeUnit.SECONDS.sleep(5);
}
System.out.println("execution success");
return new HashMap() {{
put("status","success");
}};
}
在此行将以下错误抛出:Headers myHeader = new Headers(headerBuilder);
'Headers(okhttp3.Headers.Builder)' is not public in 'okhttp3.Headers'. Cannot be accessed from outside package
注意:作为参考,我已经传递了虚拟头。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)