1

Tomcatアプリケーションがあります。リクエストと並行して応答するには、2つの異なるサーブレットまたは同じサーブレットが必要です。この場合、医用画像のダウンロードを求める最初のリクエストがあり、最初のリクエストが完全に完了する前に、別のAJAXクライアントリクエストで画像をフェッチしています。しかし、何らかの理由で、サーバーは最初の要求が終了するまで2番目の要求に応答しません。

サーブレットの同時実行を実現するには、何を変更する必要がありますか?複数のドライブ、複数のコアを備えた非常に優れたサーバーがあります。私はTomcat6を使用しています。探索するアイデアはどれも素晴らしいでしょう。

4

1 に答える 1

2

それが起こった場合、それはTomcatについてではありません。おそらく、どこかで(暗黙的または明示的に)同期を使用しています。

ただし、スレッドプールを迅速に管理できます。

 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />

また

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
        maxThreads="150" minSpareThreads="4"/>

<Connector executor="tomcatThreadPool"
               port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

つまり、最大スレッド数を指定するか、スレッドプールを使用できます。詳細はこちらhttp://tomcat.apache.org/tomcat-5.5-doc/config/http.html

于 2012-04-17T00:33:24.947 に答える