【问题标题】:pass signal through hazelcast通过 hazelcast 传递信号
【发布时间】:2016-02-26 02:06:38
【问题描述】:

我像这样将消息放入 hazelcast 队列:

hazelcastInstance.getQueue(LOGOUT_ALL_USERS_QUEUE_NAME).add(Void.TYPE);

在另一边我已经注册了队列监听器:

hazelcastInstance.getQueue(LOGOUT_ALL_USERS_QUEUE_NAME).addItemListener(new ItemListener<Void>() {
   @Override
   public void itemAdded(ItemEvent<Void> item) {
     LOGGER.info("Logout all user signal received");
     logoutAllUsers();
   }

   @Override
   public void itemRemoved(ItemEvent<Void> item) {
          //
   }
 }, false);
}

它无法编译。

> Error:(36, 50) java: D:\...\LogoutServiceImpl.java:36:
> addItemListener(com.hazelcast.core.ItemListener<java.lang.Object>,boolean)
> in com.hazelcast.core.ICollection<java.lang.Object> cannot be applied
> to (<anonymous
> com.hazelcast.core.ItemListener<java.lang.Void>>,boolean)

我只想将信号从一个地方传递到另一个地方,没有价值。

hazelcast 是如何做到这一点的?

附言

我使用 java 6

【问题讨论】:

    标签: java message-queue hazelcast


    【解决方案1】:

    问题与

    有关
    hazelcastInstance.getQueue(LOGOUT_ALL_USERS_QUEUE_NAME)
    

    返回IQueue&lt;Object&gt;。如果将其转换为IQueue&lt;Void&gt; - 一切正常

    【讨论】:

    • hazelcastInstance.&lt;Void&gt;getQueue(LOGOUT_ALL_USERS_QUEUE_NAME) 更好。
    猜你喜欢
    • 1970-01-01
    • 2015-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多