如何在 jersey 2.15 中启用 HK2 TopicDistributionService?
How to enable HK2 TopicDistributionService in jersey 2.15?
我在尝试启用球衣中的 Hk2 Events 时遇到问题。
资源配置:
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
is an AbstractBinder
,根据我的理解应该注册为一个实例,而不是 class。这个
register(new TopicDistributionModule());
应该摆脱异常,因为它注册了默认值 TopicDistributionService
。从那里开始,只需确保在发布 event/message
时拥有 "live" 订阅者
我在尝试启用球衣中的 Hk2 Events 时遇到问题。
资源配置:
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
is an AbstractBinder
,根据我的理解应该注册为一个实例,而不是 class。这个
register(new TopicDistributionModule());
应该摆脱异常,因为它注册了默认值 TopicDistributionService
。从那里开始,只需确保在发布 event/message