cancel
Showing results for 
Search instead for 
Did you mean: 

JMS Problem

Former Member
0 Kudos

HI,

When trying to open connection to MQ from XI we are getting the following error.

This happens after a succesful message has been sent to MQ and trying again to send it.

the messge is: unable to send message to MQ queue#

MQJMS1016E an internal error has occurred. Please contact your system administrator. Detail: com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2019

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

this is an MQ problem. it seems that your program will not close the handle after first put.

This is from IBM Webside:

http://www-1.ibm.com/support/docview.wss?uid=swg1PQ98430

ASN0575E "Q Apply" : "ASN4" : "BR00000AG007" : The

program encountered a WebSphere MQ error "2019" while issuing

the WebSphere MQ command "MQCLOSE" on queue

"IBMQREP.SPILL.MODELQ.ASN4.0.9.5".

The MQCLOSE call fails with a 2019. The purpose of doing the

MQCLOSE call is to reset the MQ handle and resources. The 2019

indicates that the handle object has already been reset

(probably to an undefined value on ZOS). We think it is safe to

tolerate this reason code and not stop.

The new behavior will affect only MQCLOSE calls:

- Do a MQCLOSE.

- On success, reset the handle object (specially for ZOS).

- On failure, tolerate 2019 and reset the handle object (should

be harmless), continue normally. Any other error, stop the

agent.

Daniel

Shabarish_Nair
Active Contributor
0 Kudos

i gather that it is an error at the MQ end and not XI !!!

Note:

http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/index.jsp?topic=/com.ibm.mq.amqwak.doc/reason.ht...

<i>RC2019

(2019)

Explanation:

The object handle HOBJ is not valid, for one of the following reasons:

  • The parameter pointer is not valid, or (for the MQOPEN call) points to read-only storage. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

  • The value specified was not returned by a preceding MQOPEN call.

  • The value specified has been made invalid by a preceding MQCLOSE call.

  • The handle is a shared handle that has been made invalid by another thread issuing the MQCLOSE call.

  • The handle is a nonshared handle that is being used a thread that did not create the handle.

  • The call is MQGET or MQPUT, but the object represented by the handle is not a queue.

Completion Code:

CCFAIL

Programmer Response:

Ensure that a successful MQOPEN call is performed for this object, and that an MQCLOSE call has not already been performed for it. Ensure that the handle is being used within its valid scope (see MQOPEN - Open object).</i>

Former Member
0 Kudos

how is this issue can be solved ?

Former Member
0 Kudos

It is not easy to fix this but maybe these are helpful hints:

1) Same MQ ID can cause a put problem

I do not know the MQ adapter but maybe it is possible to change the put settings.

MQ works also with message header IDs. It could be that the adapter tries to put the same ID again.

2) Timeline

What happens if you wait a second to post the next message in the queue?

Daniel

Former Member
0 Kudos

even if we waut 5 minutes it happens

Former Member
0 Kudos

ok,

so maybe you can do a trick by changing the

- Correlation Settings

- Quality of Service

i have currently no connection to MQ but maybe you can play with this parameters.

It seems that the open handle will block your action and this can be a cause of the correlation ID and livetime.

I hope this helps.

Daniel