[英]How to enable HK2 TopicDistributionService in jersey 2.15?
我在嘗試在運動衫中啟用Hk2事件時遇到問題。
ResourceConfig:
import org.glassfish.hk2.utilities.TopicDistributionModule;
public class Application extends ResourceConfig {
public Application() throws IOException {
super(Application.class);
register(TopicDistributionModule.class);
}
}
資源:
@Path("/")
public class MainResource {
@Inject
private Topic<MyClass> myClassTopic;
@GET
@Produces(MediaType.TEXT_HTML)
public String index() {
return "index";
}
}
我得到一個錯誤:
java.lang.IllegalStateException: There is no implementation of the TopicDistributionService to distribute the message
at org.jvnet.hk2.internal.TopicImpl.publish(TopicImpl.java:79) ~[hk2-locator-2.3.0.jar:?]
at ... MainResource.index(MainResource.java:21) ~[classes/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_20]
TopicDistributionModule
是AbstractBinder
,根據我的理解,應該將其注冊為實例,而不是按類注冊。 這個
register(new TopicDistributionModule());
應該消除異常,因為它注冊了默認的TopicDistributionService
。 在發布事件/消息時,只需確保有一個“實時”訂戶即可
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.