go activeMQ的简单封装

本文介绍了在项目中使用Go语言对ActiveMQ进行简单封装的原因和实现方式,特别是在订阅时针对字符串处理和 AckMode 自动确认的特殊情况。通过提供的utils.go代码示例,展示了如何便捷地调用封装的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

虽然个人也不怎么推荐activeMQ, 只是由于项目需要, 所以也做一个简单的整理, 在订阅的时候 ,一般我们的业务都是处理字符串,但有时候AckMode 设置为AckAuto不可以,客服端处理完业务后在发回确认,所以订阅封装了2个方法

utils.go如下:

//Usage:
//
//	//Send
//	if err := utils.NewActiveMQ("localhost:61613").Send("/queue/test-1", "test from 1"); err != nil {
//	fmt.Println("AMQ ERROR:", err)
//
//  //this func will handle the messges get from activeMQ server.
//	handler := func(msg string,err error) { fmt.Println("AMQ MSG:", err, msg) }
//	if err := utils.NewActiveMQ("localhost:61613").Subscribe("/queue/test-1", handler); err != nil {
//	  fmt.Println("AMQ ERROR:", err)
//	}
//
package utils

import (
	"time"

	"github.com/go-stomp/stomp"
)

type ActiveMQ struct {
	Addr string
}

var options = []func(*stomp.Conn) error{
	//设置读写超时,超时时间为1个小时
	stomp.ConnOpt.HeartBeat(7200*time.Second, 7200*time.Second),
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值