diff --git a/README.md b/README.md index df4ab1f..31407b0 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Or get it from the released version: https://github.com/godaner/brokerc/releases -> Note: curl -LJO https://github.com/godaner/brokerc/releases/download/v1.0.1/brokerc_linux-amd64.tar.gz, tar -zxvf brokerc_linux-amd64.tar.gz +> Note: curl -LJO https://github.com/godaner/brokerc/releases/download/v1.0.2/brokerc_linux-amd64.tar.gz, tar -zxvf brokerc_linux-amd64.tar.gz # Supported platforms @@ -60,7 +60,7 @@ USAGE: brokerc [global options] command [command options] [arguments...] VERSION: - v1.0.1 + v1.0.2 COMMANDS: mqttpub publish mqtt message diff --git a/broker/amqpv1/amqpv1.go b/broker/amqpv1/amqpv1.go index 59d761f..2961224 100644 --- a/broker/amqpv1/amqpv1.go +++ b/broker/amqpv1/amqpv1.go @@ -239,17 +239,19 @@ func (s *amqpSubscriber) subscribe() (err error) { if err != nil { return err } - if len(topics) == 0 { - err = s.ch.QueueBind(q.Name, "", s.opts.ExchangeName, false, nil) - if err != nil { - return err - } - } else { - for _, topic := range topics { - err = s.ch.QueueBind(q.Name, topic, s.opts.ExchangeName, false, nil) + if s.opts.ExchangeName != "" { + if len(topics) == 0 { + err = s.ch.QueueBind(q.Name, "", s.opts.ExchangeName, false, nil) if err != nil { return err } + } else { + for _, topic := range topics { + err = s.ch.QueueBind(q.Name, topic, s.opts.ExchangeName, false, nil) + if err != nil { + return err + } + } } } msgs, err := s.ch.Consume( diff --git a/broker/amqpv1/amqpv1_test.go b/broker/amqpv1/amqpv1_test.go new file mode 100644 index 0000000..ad9037d --- /dev/null +++ b/broker/amqpv1/amqpv1_test.go @@ -0,0 +1,28 @@ +package amqpv1 + +import ( + "fmt" + "github.com/godaner/brokerc/broker" + "github.com/godaner/brokerc/log/logv1" + "os" + "testing" +) + +func TestAMQPBrokerV1_Connect(t *testing.T) { + a := &AMQPBrokerV1{ + URI: "amqp://system:manager@192.168.2.62:5672/", + CID: "test1", + Logger: &logv1.LoggerV1{ + DebugWriter: os.Stdout, + InfoWriter: os.Stdout, + WarnWriter: os.Stdout, + ErrorWriter: os.Stdout, + }, + } + a.Connect() + defer a.Disconnect() + fmt.Println(a.Subscribe([]string{"test1"}, func(event broker.Event) error { + fmt.Println(event) + return nil + }, broker.SetSubQueue("testqueue1"))) +} diff --git a/brokerc.go b/brokerc.go index 2ba68e8..5ba3c90 100644 --- a/brokerc.go +++ b/brokerc.go @@ -21,7 +21,7 @@ func main() { app.Name = "brokerc" app.HelpName = "brokerc" app.Usage = "brokerc is a cross-platform publish and subscribe command line client tool, including mqtt client, amqp client, kafka client, http client." - app.Version = "v1.0.1" + app.Version = "v1.0.2" app.Commands = []cli.Command{ MQTTPublishCommand, MQTTSubscribeCommand,