2016-04-16 11 views
0

私は現在、Primefacesプッシュシステムで自分のプロジェクトセットアップをセットアップしています。p:socket onmessageがトリガーしない

これは私のXHTMLでの私のソケットである:

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

<script> 

    function doAction() 
    { 

    } 
</script> 

これは、すぐに私が登録チャネルを介して何かを送るようトリガーする必要があります。

これは私がそれを行う方法です。私は、データを送信するのではなく信号だけではないのです

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

は注意を。私はデータでも動作させるようにしました。

データを公開すると、私はPushendpointクラスに信号を受け取りますが、私はJavascriptを実行することはありません。

私は現在、Primefacesショーケースのチュートリアルに沿ってこの作業を行っています。

ここで何が間違っていますか?

+1

どのショーケースチュートリアルですか?ドキュメントによれば、 'p:socket'には未完成のものはありません。 'onmessage'を使用してください – Kukeltje

+0

@Kukeltje申し訳ありません、onMessageは私が意味していたものです。私はhttp://www.primefaces.org/showcase-labs/push/counter.jsfを参照していました – Sossenbinder

+0

この例を見てみましょう。あなたの関数の署名が間違っています – Kukeltje

答えて

0

答えは実際には非常に簡単です。

@PushEndpointonMessage()機能は何かを返す必要があります。

public boolean onMessage() 
{    
    return true; 
} 

public void onMessage() 
{    
} 

からそれを変える私の場合は

は、私の問題を修正しました。

このメソッドが何も返さない場合、ソケットはそれを認識しません。

関連する問題