2012-02-14 6 views
0

こんにちは私は大きなxmlファイルを持っています。これは以下のような構造を持ち、各XMLファイルには1人のユーザーがいます。私はzipファイルとしてアップロードしています。そして、私はそれを解凍しています。抽出が完了すると、私はインポートリンクを提供しています。どのようなインポートは1lakh(100000)ユーザを持ち、DBに挿入するXMLファイルを読み込むかです。私は休止状態でSpringを使用しており、quartzジョブスケジューラを持っています。私はそのようなファイルを10個アップロードしています。これらの10個のジョブを開始しています.100万人のユーザーで構成されています。私はなぜ仕事が停止し、私は仕事の停止の跡が見えないのか分からない。これを解決する際に私を助けてください。 XMLや、休止状態のトランザクションやセッションを読むための良い方法がありますか?助けてください。 私はjava、spring、hibernate、quartzジョブスケジューラを使用しています。JavaでXMLファイルを読み込んでデータベースに格納する際のパフォーマンスの問題

<userlist application="1"> 
<user> 
<username> xmluser1 </username> 
<userid>1</userid> 
<password>xmluser1</password> 
<firstname>first1</firstname> 
<lastname>last1</lastname> 
<phone>2024676868</phone> 
<fax>20246868</fax> 
<address1><![CDATA[dghggggh]]></address1> 
<address2></address2> 
<city>ghgdghg</city> 
<state>fdghg</state> 
<country>UdghgSA</country> 
<postal_code>774dghg07</postal_code> 
<company>dghggg services</company> 
</user> 
</userlist> 
+0

プロセスを停止させるエラーがあれば(ログを確認してください)、プロセスの実行時間を含めるべきでしょうか?どのデータベースにアクセスしていますか?ファイル全体または行ごとにトランザクションを使用していますか? –

+0

その行ごとにトランザクションを使用していますか?私はエラーログを見ることができませんでしたが、トランザクションコミットは起こっていません。私もlog4jのプロパティファイルを変更したので、エラーだけをログに記録し、パフォーマンスが向上しました。 – user1209141

+0

プロセスが終了した時点で、データベースにデータがありますか?そうでない場合は、おそらく最後にコミットしているだけです... –

答えて

0

私は、同じテーブルに10種類のジョブからデータを挿入することをお勧めします。分離レベルを下げることができます。どのデータベースを使用していますか?これが役立つかもしれません。

+0

ありがとうございます。私はいくつかの種類のDBテーブルロックを使用する必要がありますと思う。私はMySQLデータベースを使用しています。私は自分のログレベルをFATALに変更しました。制約違反があることがわかりました。つまり、DBの重複エントリエラー。私は休止状態でテーブルロックを行う方法がわかりません。 – user1209141

関連する問題