問題タブ [vaadin-push]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
924 参照

java - vaadinでページを動的にプッシュ更新する方法は?

私は と で動作するアプリケーションを持っていVaadinますSpring (+Security)。を使用して、更新をクライアント インターフェイスに動的にプッシュしようとしていますvaadin-push

すべてのクライアントで同じ「ビュー」を作成したい。ビューは、プッシュによって動的にインクリメントされるカウンターを取得する必要があります。したがって、クライアントがページを表示している間、カウンターはそれ自体を更新します (または、私の例では、ページに複数のラベル コンポーネントを追加します)。すべてのクライアントに同じ値が表示されるはずです。

しかし、Web ページにプッシュされた変更が表示されません。なんで?

Web ページを手動で更新した場合にのみ、クライアント側で変更を確認できます。ただし、コンテンツ自体は自動的に変更されません。

たぶん、クラス@Pushに配置する必要がありますか?UIしかし、この場合、次のエラーが発生します。

java.lang.IllegalStateException: セッション タイムアウトより長く応答を中断することはできません。org.atmosphere.cpr.AtmosphereResourceImpl.suspend(AtmosphereResourceImpl.java:314) で web.xml の session-timeout の値を増やします。 server.communication.PushHandler$2.run(PushHandler.java:129) at com.vaadin.server.communication.PushHandler.callWithUi(PushHandler.java:242) at com.vaadin.server.communication.PushHandler.access$200(PushHandler. java:55) com.vaadin.server.communication.PushHandler$1.onRequest (PushHandler.java:73) で

0 投票する
1 に答える
913 参照

java - Vaadin 7: フィルター、Request(hibernate) ごとの EntityManager、JPAContainer および push/websockets の使用

Wildfly 8.1 と Vaadin 7.3.beta1 を使用しています。

@WebFilter で EntityManager を開始し、そのレイヤーでトランザクションを管理しています。これは、JPAContainer アドオンの使用に推奨されるエンティティ マネージャーごとのリクエスト パターンに従っています。

Vaadin 7 の前は、サーバーにリスナーを持つブラウザーのすべてのイベントに対して単純な HTTP 要求が作成され、それがフィルターを通過することで、vaadin コードが実行される前にトランザクションが開始され、適切に終了することは明らかでした。 vaadinコードが実行された後のそのentitymanagerトランザクション。

しかし、Vaadin 7 はプッシュをサポートしており、フィルターが常に実行されるとは限らないフードの下で websocket を使用する可能性があることを懸念しています。UI で @Push を使用する場合、使用されているトランスポートに関係なくフィルターが実行されますか?

これは Vaadin 7 でどのように機能しますか?

0 投票する
1 に答える
84 参照

vaadin - リストを共有する2 つの vaadin コンポーネント間

から移入される複数行の単一列テーブルがありますList<String>。これList<String>はモーダルウィンドウを介して入力され、これに更新があるたびにList<String>テーブルを更新する必要があります。

Vaadin を使用してこれを達成するにはどうすればよいですか?

これに関する指針や例は非常に役に立ちます。

ありがとう

0 投票する
2 に答える
1317 参照

java - プッシュ後に Vaadin Grid を更新するには?

別の UI インスタンスからグリッドに変更が加えられた後、Vaadin でグリッドを更新しようとしています。

詳しく説明すると、UI1 と UI2 (2 つの異なるブラウザーのタブ) という 2 つの異なる UI インスタンスがあります。これらの UI インスタンスには、名前、年齢、性別などのさまざまなプロパティを持つ Contact オブジェクトで構成されるグリッドを含むビューが含まれています。

UI1 からグリッドに Contact を追加し、UI2 が更新されたグリッドを更新せずに即座に表示するようにします。

これを実現するには、Broadcaster クラスを使用して既にセットアップした Vaadin Push を使用する必要があることを知っています。View クラスがメソッドreceiveBroadcast()を使用して UI にブロードキャストを送信するたびに UI を更新する UI クラスにbroadcast()メソッドがあります。私のUIクラスの一部は次のようになります:

そして、私の Broadcaster クラスはこのリンクと同じです(メソッドを少し変更しただけなので、グリッドをパラメーターとして渡すことができます)

次に、私の ContactBookView クラスでBroadcaster.broadcast(grid)、アイテムを追加または変更した後にメソッドを呼び出して、UI クラスのaccess()メソッドでグリッドを何らかの方法で更新できるようにしますが、試したことがうまくいかないようです。ブロードキャストを受信すると、すべての UI インスタンスで「グリッドが更新されました」というメッセージが表示されるため、プッシュが機能していることがわかります。

ビューを削除して再初期化しようとしました

グリッドを完全に空にして補充しようとした

この醜い回避策を使用して、グリッドを強制的に更新しようとしました

UI を強制的に同期するために JavaScript クエリを実行しようとしました

しかし、これらのどれも機能しませんでした。多分私は何か他の間違ったことをしていますか?参考までに、Vaadin のバージョンは 7.5.0 です。

何かご意見やアドバイスをいただければ幸いです

ありがとう。

0 投票する
1 に答える
1408 参照

vaadin - Vaadin: グリッドの自動更新 (ajax ライク)

Vaadin 7.4 では、表形式のデータを表示するためのまったく新しいコンポーネントであるGridが導入されました。私のアプリケーションには、Grid. グリッドには動的データが取り込まれます (グリッド コンテナーに取り込まれる REST サービスがあります)。

ここに画像の説明を入力

とは言っても、Ajax のようにグリッドを時々自動更新する必要があります (ウィンドウ全体を更新せずにグリッドのみを更新します)。それは Grid コンポーネントで可能ですか?

0 投票する
1 に答える
1430 参照

vaadin - VAADIN Push は tomcat8 組み込みでは使用できません

簡単なテスト アプリケーションを作成しました。

これをEclipseから開始すると、すべて正常に動作しますが、これを実行可能なjarにエクスポートして実行すると、次のエラーが発生します:

HTTP ステータス 500 - com.vaadin.server.ServiceException: java.lang.IllegalStateException: プッシュが利用できません。詳細については、以前のログ メッセージを参照してください。

コールスタック全体は次のとおりです。

javax.websocket-api-1.1.jar をライブラリに追加しようとしましたが、何も変更されず、同じエラーが発生しました。

どこに問題があるのか​​ わかりません。おそらく何かを追加する必要がありますが、現時点では何がわかりません。

編集:

私は Maven/Gradle を使用しません。Tomcat8 の Web サイトに必要なものをすべてダウンロードした埋め込み用の tomcat8 と、埋め込みなしの Tomcat8 で正常に動作するプロジェクトの 1 つを使用したテスト アプリケーション ウォー用です。

0 投票する
1 に答える
299 参照

vaadin - Vaadin プッシュ - ContextNotActiveException

Wildfly 9.0.2 で Vaadin 7.5.8 を使用しています。私たちのアプリケーションではプッシュ サポートが必要なので、maven 依存関係を追加しました。

サーブレットの初期化に PushMode パラメータを追加しました。

アプリケーションの開始時に、アプリケーションのログイン ページが表示されます。この時点から、サーバー通信を引き起こす各アクションは次のエラーで終了します。

サーブレット構成から push パラメータを削除すると、すべて正常に動作します。プッシュ構成に何か問題がありますか?

0 投票する
1 に答える
849 参照

spring-boot - Vaadin4Spring セキュリティを使用した Vaadin @Push

Vaadin @Push を vaadin-spring-boot-starter と Vaadin4Spring セキュリティ拡張機能で使用している人はいますか?

プロジェクトの Vaadin 関連の依存関係は次のとおりです。

UIクラスの注釈は次のとおりです

そして、 Application.java ;

security.login(username.getValue(), password.getValue()); を呼び出すとすぐに (セキュリティは org.vaadin.spring.security.VaadinSecurity です;)

以下の例外が発生します。

16:36:35.272 [http-nio-8080-exec-9] エラー cbgcsvviews.login.LoginBox/login ログイン エラーが login.org.springframework.beans.factory.BeanCreationException 中に発生しました: 名前が 'scopedTarget.httpService' の Bean の作成中にエラーが発生しました: スコープ 'request' は現在のスレッドに対してアクティブではありません。シングルトンから参照する場合は、この Bean のスコープ付きプロキシを定義することを検討してください。ネストされた例外は java.lang.IllegalStateException: No thread-bound request found: 実際の Web 要求の外部で要求属性を参照していますか、または元の受信スレッドの外部で要求を処理していますか? 実際に Web リクエスト内で操作しているにもかかわらずこのメッセージが表示される場合、コードは DispatcherServlet/DispatcherPortlet の外部で実行されている可能性があります。この場合、

あなたが提供できる助けに感謝します。

0 投票する
2 に答える
3514 参照

spring-boot - WebSocket 接続が閉じられているため、完全なメッセージを書き込めません

@Push(transport = Transport.WEBSOCKET_XHR) で Vaadin Push を有効にしました。UI がデタッチされると、ログに以下の例外が表示されます。

ログのエラー以外には影響がないようです。これらのエラーでログがいっぱいにならないように、適切に接続を閉じる方法を知っていますか?

前もって感謝します。