|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
TimeoutControl |
« View previous topic :: View next topic » |
Author |
Message
|
mustang |
Posted: Mon Jul 10, 2006 6:04 am Post subject: TimeoutControl |
|
|
Acolyte
Joined: 07 Feb 2006 Posts: 72
|
I have a message flow with a TimeoutControl node and 2 TimeoutNotification nodes. One TimeoutNotification node is set to Automatic, the other Controlled. The Automatic runs every minute, and sets the action to 'SET', the interval to one second, and the count to 30. The 'Automatic' timer runs, but the 'Controlled' never does. Can anyone see what I have done wrong?
TimeoutControl
Unique Identifier: CaseGetReply
Request Location: InputRoot.XML.TimeoutRequest
TimeoutNotification(Automatic)
Unique Identifier: CGRStart
Operation Mode: Automatic
Timeout Interval: 60
TimeoutNotification(Controlled)
Unique Identifier: CaseGetReply
Operation Mode: Controlled
Timeout Interval: 1
ESQL
BEGIN
Declare startminute_c character;
Declare startminute_i integer;
Declare start character;
Declare settimer boolean;
Set start = BuildStartTime();
Set OutputRoot.Properties = InputRoot.Properties;
Set OutputRoot.MQMD.Format = MQFMT_STRING;
Set OutputLocalEnvironment = InputLocalEnvironment;
Set startminute_c = cast(CURRENT_TIME as character format 'mm');
Set startminute_i = cast(startminute_c as integer);
-- Add two minutes to ensure start time is in future, else broker will throw an error.
Set startminute_i = startminute_i + 2;
If startminute_i In (0, 15, 30, 45) Then
-- If it is on the quarter hour, retry the CaseGetReply.
Set OutputRoot.XML.TimeoutRequest.Identifier = 'CaseGetReply';
Set OutputRoot.XML.TimeoutRequest.Action = 'SET';
Set OutputRoot.XML.TimeoutRequest.StartTime = start;
-- Send a CaseGetRequest every second.
Set OutputRoot.XML.TimeoutRequest.Interval = 1;
-- Run for 30 seconds
Set OutputRoot.XML.TimeoutRequest.Count = 30;
Set OutputRoot.XML.TimeoutRequest.AllowOverwrite = TRUE;
Set settimer = true;
Else
Set settimer = false;
End If;
Return settimer;
END;
-----------------------------------------------------------------------------
Message after TimeoutControl:
root is (
(0x01000000):Properties = (
(0x03000000):MessageSet = NULL
(0x03000000):MessageType = NULL
(0x03000000):MessageFormat = NULL
(0x03000000):Encoding = NULL
(0x03000000):CodedCharSetId = NULL
(0x03000000):Transactional = NULL
(0x03000000):Persistence = NULL
(0x03000000):CreationTime = NULL
(0x03000000):ExpirationTime = NULL
(0x03000000):Priority = NULL
(0x03000000):ReplyIdentifier = NULL
(0x03000000):ReplyProtocol = ''
(0x03000000):Topic = NULL
(0x03000000):ContentType = NULL
)
(0x01000000):MQMD = (
(0x03000000):Format = 'MQSTR '
)
(0x01000010):XML = (
(0x01000000):TimeoutRequest = (
(0x01000000):Identifier = (
(0x02000000): = 'CaseGetReply'
)
(0x01000000):Action = (
(0x02000000): = 'SET'
)
(0x01000000):StartTime = (
(0x02000000): = '08:45:50'
)
(0x01000000):Interval = (
(0x02000000): = 1
)
(0x01000000):Count = (
(0x02000000): = 30
)
(0x01000000):AllowOverwrite = (
(0x02000000): = TRUE
)
)
)
)
Envi is
Exception is
-----------------------------------------------------------------------
Thanks!!!!!!!!!!!!!!!!!!!
----------------------------------------------------------------------- |
|
Back to top |
|
 |
wschutz |
Posted: Mon Jul 10, 2006 7:44 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Two questions:
(1) have you wiried anything to the Catch terminal of the TN and TC nodes to ensure its not throwing an error?
(2) any messages in SYSTEM.BROKER.TIMEOUT.QUEUE? You should have at least one in there.... _________________ -wayne |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|