1

当前应用程序的工作:我已经为 SQL Server 中的表编写了一个触发器,以在该表中插入时通过 http 请求触发外部 Java 应用程序(位于 tomcat 服务器中)。我用过xp_cmdshell内部触发器

Exec xp_cmdshell 'sqlps -command "$http=New-Object system.Net.WebClient;
$http.uploadString(\"http://127.0.0.1:8080/MessageProducer\",\"param1=somevalue ^& param2=thriu\")"'

编写 java 应用程序是为了queryStringactivemq. 最后,activemq只要有插入,我就会收到消息SQL server

我想要的应用程序的工作:只要 SQL server 中有更新/插入,SQL server 就能够发送消息,那么为什么我应该使用 java 应用程序作为 SQL server 和 activemq 之间的中介。有没有办法将消息从 SQL 服务器发送到 activemq。当我为 activemq 编写代码时,我遇到了Apache camel,这对我有帮助吗?

4

1 回答 1

1

如果您不想,您实际上不必使用任何中间软件,例如您的 Tomcat 或 Apache Camel。ActiveMQ 可以像您今天发送消息一样直接接收消息。

它将是这样的(如果需要,您可能需要添加身份验证):

Exec xp_cmdshell 'sqlps -command "$http=New-Object system.Net.WebClient;
$http.uploadString(\"http://localhost:8161/api/message/TEST?type=queue\",\"param1=somevalue ^& param2=thriu\")"'
于 2013-09-13T19:33:17.613 回答