我叫维克多。 我有一个具有 quarkus-smallrye-reactive-messaging-kafka 和 quarkus-resteasy 依赖关系的quarkus应用程序。
我的 read-proj 中有此服务。此类从kafka频道: house 中读取,并将其通过Publiser公开给rest服务。如果路径参数:“名称”等于传入房屋,则代码返回房屋:
@Path("/house")
public class StreamHouse {
@Inject @Channel("house")
Publisher<JsonObject> housePublisher;
@Path("/new/{name}")
@GET
@Produces(MediaType.SERVER_SENT_EVENTS)
//@SseElementType("text/plain")
public Publisher<JsonObject> sinkToHttp(@PathParam("name") String name){
return ReactiveStreams.fromPublisher(housePublisher)
.map(house -> {
String inputName = house.getString("name");
if(inputName.equals(name)){
return house;
}else{
return null;
}
})
.buildRs();
}
}
在我的 write-proj 中,在同一个Kafka服务器中的频道 house 中放置了一个房子。
第一个连接: curl localhost:8768 / house / new / houseName_1,将我发送到房子...这样可以正常工作!
具有相同curl指令的第二个连接不会向我发送任何信息,并在几秒钟后关闭该连接
这是正常现象吗?
我正在使用quarkus 1.0.0.CR2版本
在另一方面,我具有 write-proj 和 read-proj 相同的结构,但只有一个名为 all-proj 的项目>但由类和包分开,我可以连接 同一Curl指令中使用两个或三个或任意数量的客户端。
为什么当我分离代码时我无法与许多客户端连接?
我需要一些特别的技巧吗?
非常感谢!