簡體   English   中英

如何在球衣2.15中啟用HK2 TopicDistributionService?

[英]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]

TopicDistributionModuleAbstractBinder ,根據我的理解,應該將其注冊為實例,而不是按類注冊。 這個

register(new TopicDistributionModule());

應該消除異常,因為它注冊了默認的TopicDistributionService 在發布事件/消息時,只需確保有一個“實時”訂戶即可

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM