問題タブ [stateful]
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.
java - JAX-WS: ステートフル WS がスタンドアロン プロセスで失敗する
Tomcat にデプロイされたステートフル Web サービスがあります。ファクトリ サービスとメイン API サービスで構成され、問題なく動作します。Factory サービスは W3CEndpointReference をメイン API インスタンスに返し、クライアントはセッションを使用します。
今、私はまったく同じサービスをスタンドアロン アプリケーションとして実行しようとしています。この場合、ファクトリから返された W3CEndpointReference は、メイン サービスの URI ではなく、突然ファクトリ URI を指し始めます。
Tomcat とスタンドアロンに対する実行からの参照を比較すると、スタンドアロン参照の URI が間違っていることが明らかになります。具体的には、メイン API ではなく、ファクトリ URI を指します。
正しい参照は次のとおりです。
factory がスタンドアロン プロセスで呼び出される場合の参照は次のとおりです。
サーブレット コンテキストの一部のコードは、サービス クラス (Td2Ws) とその URI の間の対応についての知識を持ち、それに応じて参照を調整するという私の理解です。ただし、そのコードはスタンドアロン プロセスでは有効ではありません。コードで sun-jaxws.xml が使用されているのではないかと疑うことさえできますが、「有効にする」方法がわかりません。
スタンドアロン アプリケーションでステートフル Web サービスを機能させるにはどうすればよいですか?
コードの関連部分は次のとおりです。
ファクトリ サービス (ステートレス):
ステートフル API:
クライアント コード (スタンドアロンを対象):
ターゲット オブジェクトにログイン操作がないため、このコードは login() で失敗します (結局、誤ってファクトリ URI にターゲット設定されています)。
java - サーブレットでのステートフルBeanの正しい使用法
現在、サーブレットに注入されるステートフルBeanがあります。問題はCaused by: javax.ejb.ConcurrentAccessException: SessionBean is executing another request. [session-key: 7d90c02200a81f-752fe1cd-1]
、ステートフルBeanでメソッドを実行するときにが発生することがあることです。
上記のコードでconstructReport
は、レポートで指定されたデータベースへの新しい接続を開く必要があるかどうかを確認します。その後、指定されたパラメータから作成されたクエリからHTMLのレポートが作成されます。
ステートレスBeanではなくステートフルBeanを使用することを選択した理由は、不明なデータベースへのデータベース接続を開いてクエリを実行する必要があるためです。ステートレスBeanでは、注入されたBeanのインスタンスごとにデータベース接続を繰り返し開いたり閉じたりするのは非常に非効率的です。
c# - C# でのステートフル イベンティング
.net(c#)または発生したイベントの状態を維持するのに役立つライブラリに ステートフルなイベントメカニズムはありますか?
ステートフルとは、発生したイベントが永続ストレージにシリアル化されることを意味します。何らかの理由でシステムに障害が発生し、買い戻された場合、シリアル化された状態が取得され、再度開始されます。
スケジュールされたイベントも検討しています。この場合、ステートフル イベントは将来の時間に委譲することができ、その間にシステムがいつでも購入されたとしても、その時点で発生することが保証されます。
.netにこのようなものはありますか?
web-services - ステートフル Web サービスとステートレス Web サービス
3 層アーキテクチャを持ち、Web サービスを介して通信する、より複雑な CRUD アプリケーションを想像してみてください。クライアントはサーバーとの会話を開始し、ウィザードのようなものを実行します。ウィザードを処理するには、クライアントはサーバーからのフィードバックを必要とします。
このアプローチのステートフルまたはステートレス Web サービスについての議論を開始しました。私は自分の経験と組み合わせていくつかの調査を行いました。
次のプロパティを持つステートレス Web サービス (この場合):
しかし、最初の 2 つの点を消すことができます。このアプリケーションは、高いスケーラビリティと可用性を必要としません。
それでは、ステートフル Web サービスについて説明します。私はたくさんのブログやフォーラムの投稿を読みましたが、ステートフル Web サービスを実装する最も発明されたポイントは次のとおりです。
しかし、ほとんどすべての Web アプリケーションにこれらの欠点があるのではないでしょうか? Web アプリケーションは、Cookie、クエリ文字列、セッション ID、およびすべてのものを使用して、http のステートレス性を回避します。
では、なぜ Web サービスにとってそれほど悪いのでしょうか?
java - Wicket: シリアル化なしのステートフル ページでのステートレス AJAX 動作
たくさんの AJAX コンポーネントを含むかなりステートフルなページがあります。これらのコンポーネントのほとんどには動作があり、AJAX 要求を呼び出すための JavaScript コードを Java コードにレンダリングします。ページはステートレスではないため、リクエストごとにページのシリアル化が発生します。ここまでは順調ですね。
ただし、これらの AJAX 要求の一部はページをまったく変更しないため、ページのシリアル化は必要ありません。たとえば、(自作の) datagrid コンポーネントのフォワード キャッシング データです。これらのリクエストは継続的に呼び出され、各リクエスト中のページのシリアル化により遅延が発生します。
wicket-statelessなど、ステートレス wicket コンポーネントのプロジェクトがいくつかありますが、別の状況を解決します。ステートレス コンポーネントのリクエストは、ステートレス ページの新しいインスタンスで処理されます。既存のステートフル ページ インスタンスでリクエストを処理したいが、シリアル化は行わない。
これを自分で実装しようとしましたが、常にページに触れており、リクエスト処理後にシリアル化が発生するRequestCycleProcessor.resolve()
ため、requestParametersからページを検索することにハングしました。Session.getPage()
- Wicket でこれを実装するための例、アイデアはありますか?
それが理解できることを願っています:)
seam - SEAM ステートフル セッション Bean の奇妙な問題
ステートフル セッション Bean があります。
何らかの機能で
インターフェース
を使用してjsf .xhtmlページでそれらを呼び出します
これは完全に正常に機能します。ただし、 @Stateful アノテーションを Bean に追加すると、次のようになります。
そして、ページは例外について不平を言ってロードされます
私のchuckNorrisBeanで何がうまくいかなかったのかについて何かアドバイスはありますか?
このシステムは、SEAM/richfaces 上に構築されています。
ありがとう!
---- より多くの情報を追加するために編集 ----
このプロジェクトは、ear (ターゲット出力として単一の .ear ファイル) としてパッケージ化された maven 2.1 でビルドされます。
アプリケーション サーバーは JBoss です。
さらにデバッグしていじった後、
pages.xml では、キックがうまくいくようです。ページでの呼び出しが機能しない理由をまだ理解できませんでした。
java - Java:ユーザーログインセッションの追跡-セッションEJBとHTTPSession
Webアプリケーションを使用して各クライアントとの会話状態を追跡したい場合は、セッションBeanまたはHTTPセッションのどちらを使用するのが良いですか?
HTTPセッションの使用:
セッションEJBの使用:
Webアプリケーションリスナーとして登録されたServletContextListenerの実装ではWEB-INF/web.xml
:
JSPの場合:
同じJSPの本文の他の場所:
それらはほとんど同じであるように思われますが、主な違いは、UserStateインスタンスがHttpRequest.HttpSession
前者ServletContext
の場合と、後者の場合に転送されることです。
2つの方法のどちらがより堅牢で、なぜですか?
web-applications - WebアプリケーションのステートフルEJB?
ステートフルEJBを使用したことはありません。ステートフルEJBがJavaクライアントで役立つ可能性があることを理解しています。
しかし、私は疑問に思います:どの場合にそれらをWebアプリケーションで使用するのですか?そしてどうやって?これらのステートフルBeanをセッションに入れる必要がありますか(ステートレスhttpのため)?
それは良い習慣ですか?(ステートフルとステートレスについてあまり議論せずに)
java - 複数のクライアントが同じデータを見ているときに、ステートフル Web クライアントの同期を維持する方法は?
GWT で作成された RIA Web クライアントでは、状態は Web クライアントで維持されますが、サーバーは (ほとんど) ステートレスです (これは、サイトのスケーラビリティを維持するために推奨される手法です)。
ただし、複数のユーザーがブラウザーで同じデータを表示しているときに、1 人のユーザーが何かを変更し、それがサーバーに送信されてデータベースに保存された場合、他のユーザーのブラウザーの状態は古いデータのままです。たとえば、ツリーが表示され、ユーザーの 1 人がツリーにアイテムを追加/削除します。
クライアントには多くの状態が存在する可能性があるため、クライアントの状態を同期させるための最良の手法は何ですか? これを処理するJavaフレームワークはありますか?
php - ファンタジードラフトツール
独自のドラフト ツールを作成することで、過去数年間に発生したファンタジー フットボールのドラフトの問題を軽減しようとしています。主要なドラフト ツール (ESPN、Yahoo、CBS Sports、NFL など) と同様に、主要な要件は、ユーザーがログインしてドラフトに参加できるようにすることです。ドラフトを管理者が開始し、他の誰かがログインまたはログアウトするかどうかに関係なく実行されるようにしたいと思います。実行する必要があるだけです。ドラフト ステータス、ドラフト クロック、次に選択するチーム。
私はPHPとMySQLに精通していますが、PHPを使用してドラフトの状態を維持できないため、これで十分だとは思いません...少なくともこれを処理するにはそうは思いません。上記の要件を処理するために追求する推奨される手段は何ですか?