p:socket onmessage没有触发

时间:2016-04-16 09:58:19

标签: jsf primefaces

我目前使用Primefaces推送系统进行项目设置。

这是我的xhtml中的套接字:

<p:socket onMessage="doAction" channel="/votingStopChannel" />

<script>

    function doAction()
    {

    }
</script>

一旦我通过注册频道发送内容,就应该触发。

我就是这样做的:

EventBus eventBus = EventBusFactory.getDefault().eventBus();
eventBus.publish("/votingStopChannel"); 

请注意,我不是发送数据而是仅发送信号。不过,我试图让它与数据一起工作。

我一发布数据,就会向Pushendpoint课程发出信号,但我从未执行过Javascript。

我目前正在使用Primefaces展示教程。

这里有什么问题?

1 个答案:

答案 0 :(得分:0)

答案其实很简单。

@PushEndpoint中的public void onMessage() { } 函数必须返回一些内容。

在我的情况下,从

更改它
public boolean onMessage()
{               
    return true;
}

QueryCloseSolution

解决了我的问题。

如果方法没有返回任何内容,套接字将无法识别它。