3

この質問に対する決定的な答えを見つけることができませんでした。永続化後にオブジェクト参照が保持されることは保証されていますか?

たとえば、一連のプロパティを持つオブジェクトがあり、このオブジェクト内のデータを変更するさまざまなアクティビティにこのオブジェクトを渡します。ワークフローが永続化されて復活した後、すべてのアクティビティが同じオブジェクト インスタンスへの参照を持つことが保証されますか?

それとも、引数または変数を介してこのオブジェクトへの参照を持つさまざまなアクティビティがコピーで終わる可能性はありますか?

4

2 に答える 2

1

アクティビティはシーケンシャルであるため、一度に 1 つのアクティビティのみを使用します。したがって、アクティビティが完了すると、最初のアクティビティが範囲外になっているため、後続のアクティビティと同じオブジェクトへの参照があるかどうかは問題になりません。

したがって、すべてのアクティビティが同じ参照オブジェクトを取得するという効果が得られます。並列アクティビティを使用している場合を除き、コード実行ポイントは 1 つのアクティビティ内にあるため、永続化するとオブジェクトの「バージョン」が 1 つだけ永続化されます。永続性から抜け出すと、そのオブジェクトはそのプロパティで復元され、後続のアクティビティ間で受け渡すことができます。

これを行うには、フローチャート アクティビティの最上位でオブジェクトを変数にし、それをフローチャート内のコード アクティビティに渡します。

于 2013-06-20T11:44:18.037 に答える