私はspring、cxf、jax wsの実装を使用してWebサービスを作成しましたが、WSに関する基本的な質問があります。 Webサービスエンドポイントは並行要求をどのように処理しますか?それは、サーブレットに似ているリクエストごと、またはスレッド化された単一のモデルに対して、新しいスレッドを作成しますか? Webサービスごとに膨大な量が必要になるため、WSDLを複数のWSDLに分割してエンドポイントを変えることに違いはありますか?jax wsを使用して実装されたWebサービスはマルチスレッドですか
3
A
答えて
1
クライアントとサービスの両方の観点からは、「マルチスレッド」はありません。あなたのクライアントは要求を呼び出し、応答を得る(恐らく障害応答)。サーバーが要求を受信し、その要求に対応します。期間。
リクエストのディスパッチ方法は実装の詳細です。
WSDLは単に「契約」です。このサービスは、サポートする操作と、WSDLで使用するデータ型を「公開」します。クライアントは要求と応答のSOAPメッセージをそれに応じてパックし、解凍します。しかし、WSDLは特定のWebサービス呼び出しでは直接的な役割を果たしません。
3
Webサービスはもちろん、複数の同時リクエストを受信するとマルチスレッド化されるWebサーバー(たとえばGlassfishなど)によってホストされます。
0
後半ですが、役立つかもしれません。
Endpoint.publish(URL、ServiceImplObj)は、指定されたURLにWebサービスを公開します。いいえ。リクエスト処理のために割り当てられたスレッドの数は、jvm自身によって処理される軽量なデプロイメントであるため、本当にjvmの制御下にあります。
サービスの側で現在のスレッド名を表示すると、サービススレッドがjvmによって管理されているスレッドプールから割り当てられていることがわかります。
[pool-1-thread-1]: Response[57]:
[pool-1-thread-5]: Response[58]:
[pool-1-thread-4]: Response[59]:
[pool-1-thread-3]: Response[60]:
[pool-1-thread-6]: Response[61]:
[pool-1-thread-6]: Response[62]:
これはjdk 1.6.0_35で試しました。
XJC -version XMLバインディング(JAXB)リファレンス実装のための のJavaTMアーキテクチャ "JDK 6でJAXB 2.1.10" XJCバージョンは、(JDK 6でJAXB 2.1.10をビルドする)
関連する問題
- 1. JAX-RSとJAX-WS Webサービス実装の選択方法は?
- 2. JAX-WSを使用したAndroid Webサービスクライアント
- 3. .NETクライアントからAxis2/JAX-WS Webサービスでポリモフィックコールを使用する
- 4. Java WebサービスJAX WSツール
- 5. JAX-WS Webサービスのパッケージ化
- 6. JAX-WS動的WebサービスURL
- 7. JavaでJAX-WS Webサービスのセッションを使用する方法
- 8. WS-SecurityとWS-Addressingを使用したWebサービスの使用
- 9. sun-jaxws.xmlを使用しないTomcatのJAX-WS Webサービス
- 10. JAX-WSを使用してWebサービスからDAOにアクセスする方法
- 11. JAX-WSとRESTfulなWebサービス用のJAX-RS
- 12. JAX-WSでWebメソッドで使用されない宣言型
- 13. jax-ws Webサービスを作成し、XSDなしでWSDLを生成
- 14. 誰でも、jax-ws Webサービス用のTapestry、Hibernate、Springを使ってプロジェクトを作成しましたか?
- 15. CXFのJDK 1.5を使ったJAX-WSの実装
- 16. JAX-WS WebサービスをSpring Beanとして公開
- 17. Visual Studioは、Webサービスは、JAX-WS /メトロ/ GlassFishのスタックを使用してJavaで実装され、含まれている2010年のVisual StudioでWebサービスへの参照を追加しようとしたとき、私はエラーを取得していたUsernameTokenポリシー
- 18. JAX-WSとWS-Addressingを使用したSOAPの使用
- 19. JAX-WSを使用したJAX-RPCの使用
- 20. JAX-WS Webサービスを呼び出すための非同期クライアントテクニック
- 21. GETを使用して配列paramを使用してJAX-WS Webサービスを呼び出す
- 22. 異なるJAX-WS Webサービス間で共通エンティティ・クラスを使用する
- 23. JAX-WSを使用したEXCEPTION_STACK_OVERFLOW
- 24. xfcを使用したJava Webサービスの実装
- 25. jax-ws Webサービスからパラメータを取得する
- 26. へのアクセスを確保JAX-WS EJB私はEJBによって実装このセキュアソープWebサービスにアクセスするにはどうすればよいのWebサービス
- 27. WS-Trustを使用したボトムアップCXF Webサービス - これは可能ですか?
- 28. Soap Webサービスでヘッダを追加する方法JAX-WS
- 29. 実行時にMetro/JAX-WS/WSITを使用したWSDL要求
- 30. RAD 7.5でJAX-WS Webサービスを生成中にエラーが発生しました
感謝返信のために。あなたは、サーバー受信者の要求を言及し、応答を返します。ここでエンドポイントが果たす役割はどのようなものですか。同時リクエストをどのように処理しますか? – Mr9
Webサービスエンドポイントの状況は、JSPサーブレット...または他のWebリクエスト/レスポンスとまったく同じです。リスナーが新しいスレッド、新しいプロセス、まったく新しいJVMにリクエストをディスパッチするかどうかは、サービスの観点からはわかりません。それとも、ブロックするだけの場合。あなたの視点からは、「マルチスレッド」はありません。 *サーバーの観点からは、yes:おそらく新しいスレッドを作成します。具体的な内容はサーバーによって異なります(TomcatとJBoss、WebSphereとWebLogicの違いなど)。ディスパッチャーの実装方法は異なります。 – paulsm4
@ paulsm4ここで共有した情報をサポートするための参照リンクを共有することができれば幸いです。 .iは、(Oracle JEE5チュートリアルでステートレスセッションBeanのライフサイクルを簡単に見つけることができるような)Webサービスのライフサイクルを示すものを探していましたが、何も見つかりませんでした。 –