ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

スレッド間の影響について

このトピックの投稿一覧へ

なし スレッド間の影響について

msg# 1
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 .5 .6 | 投稿日時 2010-10-1 18:42 | 最終変更
takahashi  半人前   投稿数: 38
お世話になっております。

環境
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

投稿ツリー

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約