java - 如何在 jersey 2.15 中启用 HK2 TopicDistributionService?

标签 java jersey jersey-2.0 event-bus hk2

我在尝试启用 Hk2 Events 时遇到问题穿着 Jersey 。

资源配置:

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]

最佳答案

TopicDistributionModuleAbstractBinder ,根据我的理解,它应该注册为实例,而不是按类注册。这个

register(new TopicDistributionModule());

应该消除异常,因为它注册了默认的TopicDistributionService。从那里开始,只需确保您在发布事件/消息时拥有“实时”订阅者即可

关于java - 如何在 jersey 2.15 中启用 HK2 TopicDistributionService?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27986704/

相关文章:

java - Activiti Explorer - 请求资源不可用

java - Jersey + Spark javax.ws.rs.core.UriBuilder.uri

rest - Jersey REST get 返回 java.lang.NoSuchMethodError

java - 设置选中复选框的限制

java - MigLayout:垂直跨越组件旁边的意外布局

java - JSON 对象返回 "@"和字段名称。这是一个错误还是一个功能?

java - 使用 Jersey 上传文件时设置文件大小限制

jersey - java.net 站点关闭,无法访问 Jersey 文档

java - 如何为 Jersey 中的每个请求在 cookie 中设置 session key

java - EasyMock中的 ".andReturn(...).anyTimes()"和 ".andStubReturn(...)"有区别吗?