1
У меня проблема с попыткой включить Hk2 Events в джерси.Как включить HK2 TopicDistributionService в джерси 2.15?
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]
Часть hk2 выглядит нормально. Это должно быть все, что вам нужно сделать, чтобы ваши темы работали. Вы можете попробовать этот https://hk2.java.net/2.4.0-b08/apidocs/org/glassfish/hk2/utilities/ServiceLocatorUtilities.html#dumpAllDescriptors%28org.glassfish.hk2.api.ServiceLocator%29 в своем MainResource (введите ServiceLocator, а затем запустите этот метод в @PostConstruct), чтобы увидеть, есть ли ожидаемые службы – jwells131313