2017-02-19 6 views
0

私はSpring MVCでアップロード機能を設計しています。クライアントからのすべてのアップロードは、ajax呼び出しを処理するエンドポイントに到達します。エンドポイントにマップされたコントローラーは、 "@Service"クラスの関数を呼び出します。Spring MVCでのユーザーレベルの同期

この関数は、実際のアップロードをクラウドファイルシステムにアップロードし、セッション変数を変更することで実際のアップロードを行います。問題は、アップロードが完了するまでに時間がかかることです。したがって、私のコントローラが長引く時間。アップロードを処理して戻ってくるスレッドを開始することで、コントローラがすぐに戻るようにしたい。同じクライアントからの複数のアップロードが同時にエンドポイントを呼び出す場合は、セッション変数への同期アクセスを確保したいのですが、どうすればいいですか?

答えて

0

Springはサーブレット技術を使用しているため、サーブレット(異なるインスタンスではない)のリクエストごとに異なるスレッドが作成されるため、スレッドに関して実際に何を達成したいのですか?

+0

2つのリクエストがほぼ同時に並んでいると、セッション属性を変更しようとしています。その結果、いくつかの同期に問題はありますか? – lostdong12

+0

各リクエストは別のスレッドによってハンドリングされるわけではありません –

+0

しかし、2つのスレッドは、その共有セッション属性データを変更しようと競争しますが、どのように機能しますか? – lostdong12

関連する問題