2011-12-09 34 views
0

私はこの機能を実装する必要がありますが、私は設計することを知りませんし、this.Pleaseを手伝ってください。Spring struts2非同期タスク

web uiからCSVファイルをインポートする必要があります。私はstruts2(mvc)+ spring(オブジェクトインジェクタ)を使用しました 私はこの作業を行っています。しかし、今私は非同期にインポートする必要があります。つまり、一度に多くのインポートをサポートする必要があります。どうしたらいいですか?

私はR &を行っています。D.石英が見つかりました。しかし、私はこれを使うことができますか?

私には2つのボタンがあります。最初のボタンをクリックすると最初のページに移動します.20k個のアイテムを含むcat1タイプのcsvファイルをインポートできます。 2番目のボタンをクリックすると別のページに移動します.20kアイテムを含むcat2タイプのcsvファイルをインポートできます。

私はどのように実装できますか?今はそのような出来事は一度に1つのインポートだけ行うことができます。しかし、私はこれが非同期であることを望みます。

答えて

0

あなたの要件から判断すると、私はクォーツが必要とは思わない。 Quartzはスケジューラです。あなたが必要とするのは、Springの非同期タスク実行機能です。

基本的には、最初に非同期Beanを呼び出すとすぐに制御が返され、呼び出された非同期BeanはSpringのTaskExecutorに渡され、さらにonが与えられたメソッドロジックの実行を制御します。次のようにオプションの

高レベルの概要は次のとおりです。あなたが何とか

  • XMLのいずれかによってハンドオフを実行する必要がありますSpringコンテキストにTaskExecutor Bean実装して、非同期メソッドのロジックを注入する必要があります。 -configあなたのSpring Bean内部の協力者など)の配線TaskExecutorあなたは非同期に実行しようとする方法を含むと実行の呼び出し()目をマークしTaskExecutorの方法、または
  • 注釈-config設定) e目的のメソッド@Async注釈。推奨するには、TaskExecutor実装をSpringコンテキストにインジェクトする必要があります。

また、あなたがあなたの非同期タスクから何かを返したいはずです注意してください、戻り値の型はTaskExecutorjava.concurrent.util.Executorインターフェイス上に構築されるための要件であるJavaのFuture<T>インタフェースの実装でなければなりません。

私はStrutsにはコメントしていませんが、私はこれまでのことを考えていませんでしたが、Strutsは非同期性の実現には関与しません。上記テーマに関するより徹底的かつ完全な一見のための

、私は以下のリンクから始まるお勧め:

+0

は、非常にありがとうございました多く。あなたのansは私をたくさん助けました。:) –

+0

問題はありません、私たちがここにいるのです。答えが本当にあなたを助けてくれたならば、答えてアップアップしてください。o) – quantum