Skip to content

Commit f15a287

Browse files
authored
Merge pull request #47 from parrobe/errorhandle
check rc incase it is not no_more_msg
2 parents 3541d35 + d4a05b0 commit f15a287

File tree

2 files changed

+9
-14
lines changed

2 files changed

+9
-14
lines changed

mqmetric/discover.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@ cases where multiple pieces of data have to be collated for the same
472472
gauge. Conversely, there may be times when this is called but there
473473
are no metrics to update.
474474
*/
475-
func ProcessPublications() {
475+
func ProcessPublications() error {
476476
var err error
477477
var data []byte
478478

@@ -568,8 +568,16 @@ func ProcessPublications() {
568568
elem.Values[objectName] = value
569569
}
570570
}
571+
} else {
572+
// err != nil
573+
mqreturn := err.(*ibmmq.MQReturn)
574+
575+
if mqreturn.MQCC == ibmmq.MQCC_FAILED && mqreturn.MQRC != ibmmq.MQRC_NO_MSG_AVAILABLE {
576+
return mqreturn
577+
}
571578
}
572579
}
580+
return nil
573581
}
574582

575583
/*

mqmetric/mqif.go

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,6 @@ func getMessage(wait bool) ([]byte, error) {
180180
func getMessageWithHObj(wait bool, hObj ibmmq.MQObject) ([]byte, error) {
181181
var err error
182182
var datalen int
183-
var mqreturn *ibmmq.MQReturn
184183

185184
getmqmd := ibmmq.NewMQMD()
186185
gmo := ibmmq.NewMQGMO()
@@ -196,18 +195,6 @@ func getMessageWithHObj(wait bool, hObj ibmmq.MQObject) ([]byte, error) {
196195
}
197196

198197
datalen, err = replyQObj.Get(getmqmd, gmo, getBuffer)
199-
if err != nil {
200-
mqreturn = err.(*ibmmq.MQReturn)
201-
202-
if mqreturn.MQRC == ibmmq.MQRC_Q_MGR_NOT_AVAILABLE ||
203-
mqreturn.MQRC == ibmmq.MQRC_Q_MGR_NAME_ERROR ||
204-
mqreturn.MQRC == ibmmq.MQRC_Q_MGR_QUIESCING {
205-
return nil, fmt.Errorf("Queue Manager error: %v", err)
206-
}
207-
if mqreturn.MQCC == ibmmq.MQCC_FAILED && mqreturn.MQRC != ibmmq.MQRC_NO_MSG_AVAILABLE {
208-
return nil, fmt.Errorf("Get message error: %v", err)
209-
}
210-
}
211198

212199
return getBuffer[0:datalen], err
213200
}

0 commit comments

Comments
 (0)