【问题标题】:Can my sql server send messages to activemq server without any java app in between我的 sql server 可以在没有任何 java 应用程序的情况下将消息发送到 activemq 服务器吗
【发布时间】:2013-09-06 17:18:42
【问题描述】:

我们使用的是 Sql 2012 数据库服务器。当 db 修改时,我们希望它触发可以使用 activemq 存储在队列中的消息。

  1. 我们不确定如何编写代码来触发 db 以便它发送消息。
  2. 我们可以直接让db生成的消息在activemq中排队,中间不需要任何java接口。我想知道我们是否能做到这一点。 3.有没有其他方法可以建立sql server和activemq之间的通信,比如数据库服务和activemq服务(activemq有没有)

PS 我是activemq 的新用户。感谢任何解决这些问题的线索。

【问题讨论】:

  • @DavidBrabant 根据this link 说“另一方面,像 ActiveMQ 这样的面向消息的中间件是为处理这些用例而构建的。”这是可能的
  • @DavidBrabant 我们可以实现第 3 点吗?我也觉得根据帖子,会有太多问题需要处理,但有可能做到吗?答案可能是肯定的。

标签: sql sql-server activemq


【解决方案1】:

请不要像 SQL Server 那样做这个。 SQL Server 旨在存储数据。你要求太多了。根据您要从多少个地方添加到此队列中,我会选择以下解决方案之一:

  1. 如果您想从一堆不同的地方添加到此队列,并且不想更改现有代码,请创建一个应用程序将项目从 SQL Server 移动到 ActiveMQ。 SQL Server 中的项目可以由触发器填充。

  2. 如果只有少数几个地方添加到此队列,则将该逻辑添加到应用程序,以便每次写入 SQL Server 时也会写入 ActiveMQ。

如果你实在不想修改任何代码,可以configure ActiveMQ to use SQL Server as its persistence database。然后你可以修改它的数据并希望它玩得很好。这绝对不是可取的。我宁愿把 CLR 代码放到 SQL Server 中,将数据推送到 ActiveMQ。

【讨论】:

  • 不想投反对票,因为第 1 点和第 2 点是正确的,所以您永远不应该修改 ActiveMQ 存储中的数据并希望获得最好的结果。这样做是对封装的严重违反。
  • @John Tseng 感谢您的回复。到目前为止,我们有一个单一的数据库,我们正在尝试将它与 activemq 链接起来。所以我想我们已经按照您在第 2 步中提到的内容进行了操作。所以您所说的应用程序将是服务器和活动 mq 之间的接口。如果我错了,请纠正我。
猜你喜欢
  • 2020-09-02
  • 1970-01-01
  • 2014-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多