Update to latest amqp 1.0 package version and fix compilation errors

This commit is contained in:
ionutboangiu
2023-02-22 04:32:11 -05:00
committed by Dan Christian Bogos
parent 0a9f6d90d9
commit a1449499cf
7 changed files with 32 additions and 41 deletions

View File

@@ -44,7 +44,7 @@ func NewAMQPv1EE(cfg *config.EventExporterCfg, dc *utils.SafeMapStorage) *AMQPv1
// AMQPv1EE a poster for amqpv1
type AMQPv1EE struct {
queueID string // identifier of the CDR queue where we publish
client *amqpv1.Client
conn *amqpv1.Conn
session *amqpv1.Session
cfg *config.EventExporterCfg
@@ -59,19 +59,19 @@ func (pstr *AMQPv1EE) Cfg() *config.EventExporterCfg { return pstr.cfg }
func (pstr *AMQPv1EE) Connect() (err error) {
pstr.Lock()
defer pstr.Unlock()
if pstr.client == nil {
if pstr.client, err = amqpv1.Dial(pstr.Cfg().ExportPath); err != nil {
if pstr.conn == nil {
if pstr.conn, err = amqpv1.Dial(pstr.Cfg().ExportPath, nil); err != nil {
return
}
}
if pstr.session == nil {
pstr.session, err = pstr.client.NewSession()
pstr.session, err = pstr.conn.NewSession(context.TODO(), nil)
if err != nil {
// reset client and try again
// used in case of closed connection because of idle time
if pstr.client != nil {
pstr.client.Close() // Make shure the connection is closed before reseting it
pstr.client = nil
if pstr.conn != nil {
pstr.conn.Close() // Make shure the connection is closed before reseting it
pstr.conn = nil
}
}
}
@@ -88,9 +88,7 @@ func (pstr *AMQPv1EE) ExportEvent(content interface{}, _ string) (err error) {
if pstr.session == nil {
return utils.ErrDisconnected
}
sender, err := pstr.session.NewSender(
amqpv1.LinkTargetAddress(pstr.queueID),
)
sender, err := pstr.session.NewSender(context.TODO(), pstr.queueID, nil)
if err != nil {
return
}
@@ -107,9 +105,9 @@ func (pstr *AMQPv1EE) Close() (err error) {
pstr.session.Close(context.Background())
pstr.session = nil
}
if pstr.client != nil {
err = pstr.client.Close()
pstr.client = nil
if pstr.conn != nil {
err = pstr.conn.Close()
pstr.conn = nil
}
pstr.Unlock()
return

View File

@@ -137,7 +137,7 @@ func testAMQPv1ExportEvent(t *testing.T) {
func testAMQPv1VerifyExport(t *testing.T) {
// Create client
client, err := amqpv1.Dial(amqpv1DialURL)
client, err := amqpv1.Dial(amqpv1DialURL, nil)
/* an alternative way to create the client
client, err := amqpv1.Dial("amqps://cgratescdrs.servicebus.windows.net",
amqpv1.ConnSASLPlain("access-key-name", "access-key"),
@@ -148,19 +148,16 @@ func testAMQPv1VerifyExport(t *testing.T) {
}
defer client.Close()
ctx := context.Background()
// Open a session
session, err := client.NewSession()
session, err := client.NewSession(ctx, nil)
if err != nil {
t.Fatal("Creating AMQP session:", err)
}
ctx := context.Background()
// Create a receiver
receiver, err := session.NewReceiver(
amqpv1.LinkSourceAddress("/cgrates_cdrs"),
amqpv1.LinkCredit(10),
)
receiver, err := session.NewReceiver(ctx, "/cgrates_cdrs", nil)
if err != nil {
t.Fatal("Creating receiver link:", err)
}

View File

@@ -317,14 +317,14 @@ func TestAMQPv1Poster(t *testing.T) {
t.Fatal(err)
}
// Create client
client, err := amqpv1.Dial(endpoint)
client, err := amqpv1.Dial(endpoint, nil)
if err != nil {
t.Fatal("Dialing AMQP server:", err)
}
defer client.Close()
// Open a session
session, err := client.NewSession()
session, err := client.NewSession(context.Background(), nil)
if err != nil {
t.Fatal("Creating AMQP session:", err)
}
@@ -332,9 +332,7 @@ func TestAMQPv1Poster(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
// Create a receiver
receiver, err := session.NewReceiver(
amqpv1.LinkSourceAddress("/" + qname),
)
receiver, err := session.NewReceiver(ctx, "/"+qname, nil)
if err != nil {
t.Fatal("Creating receiver link:", err)
}