【问题标题】:Connect to ActiveMQ via STOMP in Go在 Go 中通过 STOMP 连接到 ActiveMQ
【发布时间】:2019-01-07 19:57:45
【问题描述】:

尝试通过 github.com/go-stomp/stomp 库连接到 AWS 上的 ActiveMQ 实例。

以下代码抛出invalid command错误:

func (s *STOMP) Init() error {
    netConn, err := stomp.Dial("tcp", "host:61614")
    if err != nil {
        return errors.Wrap(err, "dial to server")
    }

    s.conn = netConn

    return nil
}

【问题讨论】:

    标签: go activemq stomp amazon-mq


    【解决方案1】:

    AmazonMQ 使用 stomp+ssl proto,因此正确的连接方式是先自行设置 TLS 连接:

    func (s *STOMP) Init() error {
        netConn, err := tls.Dial("tcp", "host:61614", &tls.Config{})
        if err != nil {
            return errors.Wrap(err, "dial tls")
        }
        stompConn, err := stomp.Connect(netConn)
        if err != nil {
            return errors.Wrap(err, "dial to server")
        }
    
        s.conn = stompConn
    
        return nil
    }
    

    https://github.com/go-stomp/stomp/wiki/Connect-using-TLS

    【讨论】:

      猜你喜欢
      • 2017-10-05
      • 2015-02-10
      • 1970-01-01
      • 2020-06-16
      • 2021-09-21
      • 2021-04-23
      • 2016-06-08
      • 2015-07-08
      • 2014-08-21
      相关资源
      最近更新 更多