スレッド間の影響について
takahashi
投稿数: 38
![半人前 半人前](../../uploads/rank3dbf8e94a6f72.gif)
お世話になっております。
環境
V3.0SP1d Expedition
WinXP pro SP3(テスト環境)
<<概要>>
メールに添付された注文書より受注ヘッダ、明細を作成し、結果を受信者へメールする。
注文書(エクセルシート)
ヘッダ部に親得意先コード、注文年月。
明細部に子得意先コード、商品コード、単価、注文数。
明細の最大行数は30行。
注文数は横に1〜31日までのマトリクス表。
<<jBOLTの簡単な内容>>
一つのビジネスプロセスに複数のフローが登録されている形です。
極力SQLを作成しているマッパーは単独フローで登録しています。
エクセルシートをFileManagementコンポーネントでディスクに保存(この時、時刻+RAND()関数を使用し
2スレッドで実行したとき重複名称にならないようにしてます。
最後に、エクセルシートを削除します。
3本の照会ファイル、4本の更新ファイルが存在します。
<<困っていること>>
1スレッドで実行(フローの特性→最大インスタンスを1)
または、メールを1件送信して、処理が終わるまで待つと
問題なく受注ヘッダ、受注明細が作成されますが、
最大インスタンスを0(無制限)にして2件送信すると、お互いのエクセルシートが干渉しあうかのようにmixされたコード体系で更新されてしまいます。具体的には、親得意先1の明細には全て子得意先1のデータだとします。親得意先2の明細には全て子得意先2のデータだとします。
SaveMessageコンポーネントを各所に設置してログをみると
親得意先1の中に子得意先2の情報が入り混じり、受注データが意図するものと違う形で更新されてしまいます。
なお、変数はフロー変数、コンテキスト変数、BP変数を使用しております。
同一名のエクセルシートで保存されているかと思いましたが、エクスプローラー上で
目視で確認していたところ、正常に違う名称のエクセルシートで保存されています。
<<質問内容>>
1.変数はスレッド間で干渉してしまうのか?
2.スレッド単位でアクティビティログは見れないのか?
3.サンプルプログラムではなく、もっと実用的な参考プログラムは存在しないのか?
番外:そもそも最大(30明細×31列)930回のデータアクセスを行うような処理をjBOLTで作るのは間違いでしょうか?
受付時間の設定もあり、あまり1つの注文に時間をかけられない状況です。
見辛くてすみません...ご教授の程よろしくお願い申し上げます。
環境
V3.0SP1d Expedition
WinXP pro SP3(テスト環境)
<<概要>>
メールに添付された注文書より受注ヘッダ、明細を作成し、結果を受信者へメールする。
注文書(エクセルシート)
ヘッダ部に親得意先コード、注文年月。
明細部に子得意先コード、商品コード、単価、注文数。
明細の最大行数は30行。
注文数は横に1〜31日までのマトリクス表。
<<jBOLTの簡単な内容>>
一つのビジネスプロセスに複数のフローが登録されている形です。
極力SQLを作成しているマッパーは単独フローで登録しています。
エクセルシートをFileManagementコンポーネントでディスクに保存(この時、時刻+RAND()関数を使用し
2スレッドで実行したとき重複名称にならないようにしてます。
最後に、エクセルシートを削除します。
3本の照会ファイル、4本の更新ファイルが存在します。
<<困っていること>>
1スレッドで実行(フローの特性→最大インスタンスを1)
または、メールを1件送信して、処理が終わるまで待つと
問題なく受注ヘッダ、受注明細が作成されますが、
最大インスタンスを0(無制限)にして2件送信すると、お互いのエクセルシートが干渉しあうかのようにmixされたコード体系で更新されてしまいます。具体的には、親得意先1の明細には全て子得意先1のデータだとします。親得意先2の明細には全て子得意先2のデータだとします。
SaveMessageコンポーネントを各所に設置してログをみると
親得意先1の中に子得意先2の情報が入り混じり、受注データが意図するものと違う形で更新されてしまいます。
なお、変数はフロー変数、コンテキスト変数、BP変数を使用しております。
同一名のエクセルシートで保存されているかと思いましたが、エクスプローラー上で
目視で確認していたところ、正常に違う名称のエクセルシートで保存されています。
<<質問内容>>
1.変数はスレッド間で干渉してしまうのか?
2.スレッド単位でアクティビティログは見れないのか?
3.サンプルプログラムではなく、もっと実用的な参考プログラムは存在しないのか?
番外:そもそも最大(30明細×31列)930回のデータアクセスを行うような処理をjBOLTで作るのは間違いでしょうか?
受付時間の設定もあり、あまり1つの注文に時間をかけられない状況です。
見辛くてすみません...ご教授の程よろしくお願い申し上げます。
投票数:0
平均点:0.00
投稿ツリー
-
スレッド間の影響について (takahashi, 2010-10-1 18:42)
-
Re: スレッド間の影響について (Jiro123, 2010-10-4 13:47)
-
Re: スレッド間の影響について (takahashi, 2010-10-4 14:25)
-
Re: スレッド間の影響について (Jiro123, 2010-10-4 14:46)
-
-
Re: スレッド間の影響について (takahashi, 2010-10-4 16:04)
-
Re: スレッド間の影響について (Jiro123, 2010-10-4 16:14)
-
-
Re: スレッド間の影響について (takahashi, 2010-10-4 16:31)
-
Re: スレッド間の影響について (Jiro123, 2010-10-4 17:24)
-
-
Re: スレッド間の影響について (takahashi, 2010-10-4 17:47)
-
Re: スレッド間の影響について (takahashi, 2010-10-5 16:20)
-