|
From: Ng C. Y. <cy...@cs...> - 2003-11-21 02:11:50
|
Hi, > Ran into problem unregister a context due to a pending ack message that could not be sent. > > Problems: > 1) getPendingmessage() returns String[0]?? Is this correct? Should it return a String[] of messageIds > in this case should it be 20031120-193806082-CPA-2002.http://www.cecid.hku.hk/ebxml/service.Order.1@10.100.8.65 > 2) unregister() failed due to pending messages. I would like to know what you mean by "String[0]". Does it mean it returns no pending message id? > Workaround: (Sort-of) > I used deletePendingMessages(...) with this messageID 20031120-193806082-CPA-2002.http://www.cecid.hku.hk/ebxml/service.Order.1@10.100.8.65. It caused RequestException. However, executing unregister() the next time around, it deleted the context. The behaviour of getPendingMessage() is like this: if the sending ack fails BUT it is still retrying, a sending thread still exists and getPendingMessage() would return its message id. However, if the sending ack fails for all retry, getPendingMessage() would return nothing because that ack message is marked SENT_FAILED in DB. Then, unregister() should be successful and should not report there is still pending message. Regards, CY ---------------------------------------------------------------------------- Ng Chi Yuen, CY. cy...@ce... http://www.cecid.hku.hk/ Technology Officer, Centre for E-Commerce Infrastructure Development, The University of Hong Kong ---------------------------------------------------------------------------- |