поправил интерфейсы

main v0.0.3
parent b7dd2a83bc
commit b37b7310dd
  1. 20
      reconnector.go

@ -10,7 +10,8 @@ import (
)
type Reconnector interface {
RabbitConnect()
RabbitReConnector()
RabbitConnect() (err error)
GetConnection() *amqp.Connection
SubscribeTo(exhangeName string, queueName string, routingKey string) (<-chan amqp.Delivery, *amqp.Channel, error)
PublishResponse(ch *amqp.Channel, exchangeName string, replyTo string, correlationId string, body string, sessionId string, content_type string) (err error)
@ -30,7 +31,7 @@ type server struct {
handler ReconnectorEventHandler
}
func (s *server) DoRabbitConnect() (err error) {
func (s *server) RabbitConnect() (err error) {
log.WithFields(log.Fields{
"proc": "RabbitConnect",
}).Warn("RabbitConnect started")
@ -83,7 +84,7 @@ func (s *server) DoRabbitConnect() (err error) {
return errors.New("amqp connect error")
}
func (s *server) RabbitConnect() {
func (s *server) RabbitReConnector() {
for {
<-s.AmqpCloseError
@ -93,7 +94,7 @@ func (s *server) RabbitConnect() {
s.ExitSignal <- true
err := s.DoRabbitConnect()
err := s.RabbitConnect()
if err != nil {
log.WithFields(log.Fields{
"error": err,
@ -108,7 +109,7 @@ func (s *server) GetConnection() *amqp.Connection {
return s.AmqpConnection
}
func New(amqpHost string, handler ReconnectorEventHandler) Reconnector {
func New(amqpHost string, handler ReconnectorEventHandler) (Reconnector, error) {
s := server{
AmqpCloseError: make(chan *amqp.Error),
amqpHostName: amqpHost,
@ -119,5 +120,12 @@ func New(amqpHost string, handler ReconnectorEventHandler) Reconnector {
s.handler = handler
}
return &s
go s.RabbitConnect()
err := s.RabbitConnect()
if err != nil {
return nil, err
}
return &s, nil
}

Loading…
Cancel
Save