Java SQL server和Activemq之间是否会使用Apache camel?

Java SQL server和Activemq之间是否会使用Apache camel?,java,activemq,apache-camel,sql-server-2012-express,Java,Activemq,Apache Camel,Sql Server 2012 Express,应用程序当前的工作情况:我已经为SQL server中的一个表编写了一个触发器,每当在该表中插入内容时,就可以通过http请求触发外部java应用程序(位于tomcat server中)。我在触发器中使用了xp\u cmdshell Exec xp_cmdshell 'sqlps -command "$http=New-Object system.Net.WebClient; $http.uploadString(\"http://127.0.0.1:8080/MessageProducer\"

应用程序当前的工作情况:我已经为SQL server中的一个表编写了一个触发器,每当在该表中插入内容时,就可以通过http请求触发外部java应用程序(位于tomcat server中)。我在触发器中使用了
xp\u 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应用程序是为了获取
queryString
并在
activemq
中生成消息。最后,只要在
SQLServer
中插入,我就会在
activemq
中得到消息


我想要的应用程序的工作:只要SQL server中有更新/插入,SQL server就能够发送消息,所以我为什么要使用java应用程序作为SQL server和activemq之间的中间层呢。是否有方法将消息从SQL server发送到activemq。当我为activemq编写代码时,我遇到了
apachecamel
,这对我有帮助吗?

如果你不想,你真的不必使用任何中间软件,比如Tomcat或apachecamel。ActiveMQ可以按您今天发送的方式接收消息

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


如果您不想,您实际上不必使用任何中间软件,如Tomcat thing或Apache Camel。ActiveMQ可以按您今天发送的方式接收消息

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


@彼得。当我运行这段代码时,我得到了一个消费者。根据这个问题,我认为OP希望在其sql db中发生变化时填充activemq队列。我们可以这样做吗?@peter我想从sql server向外部应用程序发送消息。我确实发布了这个问题,我可能会得到回复,将ApacheCamel放置在从sql server获取消息并向activemq生成消息的位置。怎么了?这个带有HTTP/POST的URL将POST消息的内容放入“测试”队列。在我看来,这是最简单的方法。另一种选择可能是使用ActiveMQ NMS在.NET中编写一个小型队列生成器,并将其嵌入触发器中,即使我是骆驼迷,我认为添加更多组件毫无意义。Camel不能真正地侦听触发器—只需轮询一些选项卡/视图,然后生成消息。在任何情况下,您都需要SQL中的触发器(要么直接生成消息,要么让轮询表填充Camel可以从中获取和生成消息的行)。@Petter您说的另一种方式是“使用ActiveMQ NMS在.NET中编写一个小队列生成器并将其嵌入触发器”,我喜欢,但我们的应用程序是非.NET应用程序。“有没有其他办法来满足我们的要求?”彼得。当我运行这段代码时,我得到了一个消费者。根据这个问题,我认为OP希望在其sql db中发生变化时填充activemq队列。我们可以这样做吗?@peter我想从sql server向外部应用程序发送消息。我确实发布了这个问题,我可能会得到回复,将ApacheCamel放置在从sql server获取消息并向activemq生成消息的位置。怎么了?这个带有HTTP/POST的URL将POST消息的内容放入“测试”队列。在我看来,这是最简单的方法。另一种选择可能是使用ActiveMQ NMS在.NET中编写一个小型队列生成器,并将其嵌入触发器中,即使我是骆驼迷,我认为添加更多组件毫无意义。Camel不能真正地侦听触发器—只需轮询一些选项卡/视图,然后生成消息。在任何情况下,您都需要SQL中的触发器(要么直接生成消息,要么让轮询表填充Camel可以从中获取和生成消息的行)。@Petter您说的另一种方式是“使用ActiveMQ NMS在.NET中编写一个小队列生成器并将其嵌入触发器”,我喜欢,但我们的应用程序是非.NET应用程序。有没有其他办法来满足我们的要求?
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\")"'