大气框架:无效的查找类org.atmosphere.plugin.hazelcast.HazelcastBroadcaster异常

时间:2015-04-21 11:48:34

标签: java atmosphere

这个问题与大气框架有关。

我正在尝试在任何事件发生时(即通知)向客户广播消息。 我无法让Hazelcast广播公司将数据从服务器发布到cliens。我尝试使用以下hazelcast广播公司实施(atmosphere-hazelcast-2.3.0-RC5.jar)。

https://github.com/Atmosphere/atmosphere-extensions/blob/master/hazelcast/modules/src/main/java/org/atmosphere/plugin/hazelcast/HazelcastBroadcaster.java

当放入类路径时,Atmosphere会自动检测大气 - hazelcast-2.3.0-RC5.jar文件。当我启动Tomcat 7时,Hazelcast实例正常启动。

但是一旦调用factory.lookup(uniqueId)来查找主题广播消息,我就会得到以下异常:

线程“Thread-3”中的异常java.lang.IllegalStateException:无效的查找类org.atmosphere.plugin.hazelcast.HazelcastBroadcaster。缓存类是:org.atmosphere.cpr.DefaultBroadcaster

我收到广播公司的对象如下:

        AtmosphereFramework framework = (AtmosphereFramework) getServletContext().getAttribute("AtmosphereServlet");
        BroadcasterFactory bf = framework.getBroadcasterFactory();
        Broadcaster b = bf.lookup(uniqueId);

这是将广播公司置于简单的servlet中还是必须使用@Inject注入广播公司的正确方法? (如果是简单的servlet,我不知道如何使用@Inject注入广播公司。)

请注意,如果我不使用HazelcastBroadcaster,则factory.lookup(uniqueId)调用运行良好(使用默认广播器)并将消息发送到客户端。

有人遇到类似的问题吗?会批评任何指针来解决这个问题。

谢谢!

1 个答案:

答案 0 :(得分:0)

使用2.3.x-RCx看起来像是一个错误。请提交问题https://github.com/Atmosphere/atmosphere

- Jeanfrancois