【问题标题】:JMS Development Best PracticeJMS 开发最佳实践
【发布时间】:2011-06-21 18:34:12
【问题描述】:

在生产中,我们部署了多个容器,任何一个都可以成为一个 JMS 队列的消费者。在我们的开发环境中,我们有多个开发人员,每个开发人员都有一个可能会使用消息的容器。但是,当开发人员想要通过将某些内容放入队列来测试与 JMS 相关的内容时,该消息通常会被其他人使用,这可能是一个时间槽。

我们为每个环境使用相同的构建文件。我们不希望意外地将某些东西部署到严格用于开发环境的上层环境中。

在处理此类不涉及构建令牌等或针对不同环境进行不同构建的最佳实践是什么?

我们目前让开发人员要求其他开发人员注释掉正在使用的代码,但这是有风险的,因为注释掉的代码可能会意外签入。

一种可能的方法是将属性存储在数据库中,该属性会随环境而变化。

你是怎么处理的?

【问题讨论】:

  • 您能解释一下为什么需要共享一个开发 JMS 队列吗?
  • 它是现有生产体系结构的一部分,可将处理分散到多个容器中。我们希望让我们的较低环境尽可能接近生产环境。在 DEV 中拥有多个队列可能是一种可能的解决方案,但我们仍然需要对其进行管理,以免我们不小心将一些不好的东西部署到 PROD。
  • 您使用令牌的一个重要原因是,您可以在 dev 中拥有多个队列之类的东西,并且它们不会意外地进入 prod,因为 dev 配置保留在 dev 中而不是产品部署的一部分。
  • CM 控制构建并禁止使用构建令牌。

标签: java jms development-environment


【解决方案1】:

我已经看到这样做的方式是让每个开发人员都有自己的主题,该主题特定于他们的本地开发环境。这取决于开发人员对生产者有一定的控制权,显然,不确定这对您是否可行。

您不需要构建令牌来执行此操作,但令牌确实使本地设置/配置变得更好。我很惊讶您能够在每个环境中使用相同的构建文件而无需标记化,我认为我从未在这样的系统上工作过。

【讨论】:

  • 环境中发生的任何变化都存储在数据库中。
猜你喜欢
  • 2010-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-31
  • 2010-09-06
  • 2017-10-28
  • 2011-05-05
  • 2023-04-07
相关资源
最近更新 更多