2009-11-18 6 views
20

ここには、EJBトランザクション属性(およびアノテーション)の説明がいくつかあります(例:OpenEJB's)。例または使用例EJBトランザクション属性を説明するケース

しかし、私はこれを多くのトランザクションリソースで作業していない人と一緒にカバーしようとすると、彼らの目が艶やかになり始めます。

私の質問 - どのようにあなたのおばあちゃんにEJBトランザクション属性を説明しますか?

  • 必要
  • RequiresNewの
  • 必須
  • をはNotSupported私は不自然な例、類推、または簡潔な実世界の使用を考えている
  • 決して

をサポート大文字と小文字が区別されます

答えて

13

私はそれが本当モニターとしてEJBメソッドの呼び出し側とのコンテナの相互作用の観点からこのことについて考えることは理にかなって考えて...私は、様々な異なるでバウンサーメタファーを使用したいですシナリオ。

トランザクション属性の概要と概要については、this pageを参照してください。

必須(REQUIRED @TransactionAttribute)
ナイトクラブ

は、クラブで現れ入力するチケットが必要です。もしあなたがそれを持っていなければ、それはドアのところであなたに与えられる(購入される)でしょう。

取引はチケットです。
コンテナはBOUNCERです。

新(REQUIRES_NEW @TransactionAttribute)
コメディクラブ、1ドリンク、最小、無再入国

クラブ、ノー外食べ物/飲み物で現れ、あなたは離れなければならない必要彼らはドアのところにいる。入場するには、出発して再入場するたびに最低1ドリンクを購入する必要があります。

トランザクションはDRINKです。
コンテナはBOUNCERです。
取引を一時停止することがドアに出ています。

サポート(@TransactionAttributeをサポートしています)
ハウスパーティー

アルコールが許可され、パーティーで現れます。もしあなたが自分のアルコールを持っていれば、私たちはあなたにそれをお届けします。

トランザクションはアルコールです。
コンテナがホストです。

必須(MANDATORY @TransactionAttribute)
招待のみのパーティーを

を入力する招待状が必要な、パーティーで、最大表示:あなたは1を持っており、中に取得しようとしていない場合警備員は当局に電話をかけます。

トランザクションはINVITATIONです。
コンテナがホストです。
例外をスローするのは、権限を付与することです。


コンサート、カメラが禁止されている(NOT_SUPPORTED @TransactionAttribute)サポートされていません。

コンサートでは、カメラは禁止されています。あなたはそれをドアのそばに残しておき、出るときにそれを拾うことができます。

トランザクションはCAMERAです。
コンテナはDOORMANです。
取引を一時停止することがドアに出ています。

ネヴァー(NEVER @TransactionAttribute)
高校ダンス

アルコールは禁止されている、ダンスで現れます。あなたがそれに乗ろうとすると捕まえられると、シャペロンは当局に電話します。

トランザクションはアルコールです。
コンテナはCHAPERONEです。 例外をスローすることは、権限を呼び出すことです。

44

コラボレーションで考えることができます。あなたがシェフだとしましょう。あなたには十数軒のオーブンがあります。あなたはいくつかのケーキを焼く必要があります。この例ではが呼び出され、オーブンがトランザクションになり、ボスが呼び出し元になります。

  • 必要:あなたの上司は、オーブンあなたが使用しているものを伝えることなく、いくつかのケーキを焼くためにあなたを伝える場合、あなただけ先に行くと1を選びます。最後に、オーブンを閉じて誰も使用できないようにします。
  • 必要New:いつでもあなたが選んだ無料のオーブンでケーキを焼く。あなたがいくつかのケーキを焼くプロセスの途中で、あなたの上司が別のバッチを焼くよう指示したら、現在のベーキングプロセスを中断し、新しいオーブンでいくつかのケーキを焼き、古いもののベーキングを再開します。
  • 必須:あなたはダムクックです。あなたの上司常にはあなたが使用する必要があるオーブンを教えてください。あなたの上司があなたにどのオーブンを使うか教えてくれないならば、あなたは "愚かな"ことを叫ぶでしょう。
  • NotSupported:これはオーブンを必要としないデザートと考えることができます。あなたがオーブンでいくつかのケーキを焼く途中であれば、それをやめてデザートを作り、ケーキを焼くことを再開します。
  • サポート:これは料理のヘルパーにより適しています。あなたは助手です。メインの料理人がオーブンXでケーキを焼くように求めたら、あなたはそれをするだけです。彼がデザートをするように頼んだら、あなたはそれをやるだけです。他のものとの主な違いは、決して質問することも、何もしないことです。あなたはただ命令に従います。
  • 決して:これはまだ別のダムの料理です。あなたの上司がケーキを焼く途中でデザートをするように頼むなら、あなたは叫んで「私は辞める!」と言います。ケーキは焼かれません。だからあなたの上司は慎重でなければならず、ケーキを焼いていないときにはケーキを焼くように頼むだけです。

希望するものがあります。

+3

読んで楽しいです;) – CKing