【问题标题】:Java Execution Context Class ExplainJava 执行上下文类说明
【发布时间】:2009-08-16 15:40:42
【问题描述】:

我想抓住“执行上下文类”的概念。我指的是http://tinyurl.com/ryjn5o 上的这篇文章。谁能通过解释更多关于如何创建这样的类来启发?

【问题讨论】:

    标签: spring jakarta-ee java


    【解决方案1】:

    “执行上下文类”只是一个持有者类,由程序的顶层创建,它包含顶层可能需要的所有东西(如链接示例中的 Transaction 对象)。

    这是一种避免全局变量的打包方式。

    有些人认为即使这样也有点虚伪,因为如果 top 调用 A 调用 B 调用 C 调用 D 需要顶层,你必须将上下文传递给 A、B 和 C,它们不会否则不需要它。

    因此它会在不需要的地方促进绑定 - A、B 和 C 在不使用此上下文的程序中不可重用。但它是隐藏全局状态以及单例和其他杂乱事物的无休止扩散的完美可行的替代方案。

    编辑:本段无效:我确实建议您使用 javax.resource.spi.work (http://www.j2ee.me/j2ee/1.4/docs/api/javax/resource/spi/work/ExecutionContext.html) 中的 ExecutionContext 类,因为这至少将中间类的绑定限制为标准,而不是应用特定的东西。

    【讨论】:

    • 任何关于如何使用 javax.resource.spi.work.ExecutionContext 的例子?
    • 呃,我在这里很尴尬。基于对 javadoc 的过快阅读,我仓促提出了建议。它,错误,不能满足您的需求。我将编辑我的答案以反映这一点。