2

こんにちは、私は Jsf と Primefaces の世界の初心者です。次のように、primefaces のポーリング コンポーネントに関する簡単なクエリがあります。

ログインページがあり、ユーザーが認証されたら、2分ごとにデータベースサービスをポーリングする必要があるwelcome.xhtmlページにリダイレクトします。これにはprimefacesポーリングコンポーネントを使用しましたが、正常に動作し、2分ごとにポーリングします <p:poll interval="120" listener="#{databaseService.getJob}"/>が、ユーザーが認証され、ようこそページに到達すると、ポーリング サービスは 2 分の timeInterval を待つのではなく、すぐに開始する必要があります。これを達成するために、私はautoStart="true"

<p:poll interval="120" listener="#{databaseService.getJob}" autoStart="true" />

しかし、うまくいきませんでした。

どうすればこれを達成できるか教えてください。

あなたの助けに感謝します。

4

1 に答える 1

3

メソッドをすぐに呼び出したい場合は、autoRun="true" を指定して RemoteCommand を使用します。ポーリング コンポーネントの autoStart 機能を使用しないでください。RemoteCommand の oncomplete がトリガーされたら、次のように手動でポーリングを開始します (未テスト)。

<p:poll id="databaseServicePoll" interval="120" listener="#{databaseService.getJob}" autoStart="false" />

<p:remoteCommand name="firstDatabaseServiceCall" actionListener="#{databaseService.getJob}"
autoRun="true" oncomplete="databaseServicePoll.start()" />
于 2013-05-10T18:38:37.133 に答える