问题的提出
需要在SQL Server 2005中使用Insert触发器调用存储过程,然后通过存储过程调用HTTP请求,通过这个HTTP请求将新增的记录推送到ActiveMQ中。
通过查阅ActiveMQ的官网,得知ActiveMQ支持RESTful API,这样就可以通过HTTP请求的方法发送消息到目的地了。
ActiveMQ RESTful API简介
ActiveMQ实现了RESTful API,它允许任何拥有web能力的设备通过HTTP请求进行消息的发送与消费。
发送消息时使用HTTP POST请求。消费消息时使用HTTP GET或者DELETE请求。
如何发送消息
注意点:
1. 必须是POST请求
2. 需要进行认证,在Header中添加Authorization
3. 必须指定目的地及目的地类型(使用type指定)
3. 发送的内容使用body指定
示例:
header信息:
* Content-Type: application/x-www-form-urlencoded
* Authorization: Basic YWRtaW46YWRtaW4=
请求URL:
http://127.0.0.1:8161/api/message/testqueue?type=queue&body=123
说明:
* testqueue为目的地名称
* type指定目的地类型,可以是queue或者topic
* body指定发送的内容
* YWRtaW46YWRtaW4=是BASE64(用户名:密码)的值,现在的用户名和密码都是admin