ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » I can't make my flow stop

Post new topic  Reply to topic
 I can't make my flow stop « View previous topic :: View next topic » 
Author Message
rhine
PostPosted: Fri Dec 04, 2015 1:35 am    Post subject: I can't make my flow stop Reply with quote

Novice

Joined: 17 Nov 2015
Posts: 16

Hi everyone.

I have got an initiator flow that receives an XML and then call a flow or another with this code:

Code:
      
   SET OutputLocalEnvironment = InputLocalEnvironment;
   SET OutputLocalEnvironment.TimeoutRequest.Action = 'SET';
   SET OutputLocalEnvironment.TimeoutRequest.StartDate = 'TODAY';
   SET OutputLocalEnvironment.TimeoutRequest.Interval = 30;
   SET OutputLocalEnvironment.TimeoutRequest.Count = -1;
   SET OutputLocalEnvironment.TimeoutRequest.AllowOverwrite = 'TRUE';
   SET OutputLocalEnvironment.TimeoutRequest.Identifier = 'TimeOutNotificationNodeName';


I also set some global cache variables here.

When the flow ive called ends, it reaches a Timeout Control Node that receives this code:

Code:
  SET OutputLocalEnvironment = InputLocalEnvironment;
      SET OutputLocalEnvironment.TimeoutRequest.Action = 'CANCEL';
      SET OutputLocalEnvironment.TimeoutRequest.Identifier = 'TimeOutNotificationNodeName';
      SET OutputLocalEnvironment.TimeoutRequest.AllowOverwrite = 'TRUE';
      SET OutputLocalEnvironment.TimeoutRequest.StartDate = 'TODAY';
      SET OutputLocalEnvironment.TimeoutRequest.Interval = 3600;


But the flow never ends. Actually, the iniciator doesnt even need to be deployed to have my flow running.
I always see this status in traces.

Code:
( ['MQROOT' : 0x8714aa70]
  (0x01000000:Name):TimeoutRequest = (
    (0x03000000:NameValue):Action         = 'SET' (CHARACTER)
    (0x03000000:NameValue):Identifier     = 'TimeOutNotificationNodeName' (CHARACTER)
    (0x03000000:NameValue):StartDate      = '2015-12-04' (CHARACTER)
    (0x03000000:NameValue):StartTime      = '10:10:28.496' (CHARACTER)
    (0x03000000:NameValue):Count          = 5 (INTEGER)
    (0x03000000:NameValue):Interval       = 30 (INTEGER)
    (0x03000000:NameValue):IgnoreMissed   = TRUE (BOOLEAN)
    (0x03000000:NameValue):AllowOverwrite = TRUE (BOOLEAN)
  )
)


Does anyone know why this could happen? I have even tried to attach a Timeout Control Node with the code you can see in the second block, directly to the first node of my flow and then attach it's output to the rest of the flow; and it still going on.

Thanks in advance,
Back to top
View user's profile Send private message
rhine
PostPosted: Fri Dec 04, 2015 4:17 am    Post subject: Reply with quote

Novice

Joined: 17 Nov 2015
Posts: 16

Ok, my Timeout notification node was set to "Automatic"...
As simple as that.

I''m having now a equally frustrating problem.

I can see in traces that my iniciator has the correct properties:

Code:

( ['MQROOT' : 0xbdc4da10]
  (0x01000000:Name):TimeoutRequest = (
    (0x03000000:NameValue):Action         = 'SET' (CHARACTER)
    (0x03000000:NameValue):StartDate      = 'TODAY' (CHARACTER)
    (0x03000000:NameValue):StartTime      = 'NOW' (CHARACTER)
    (0x03000000:NameValue):Interval       = 30 (INTEGER)
    (0x03000000:NameValue):Count          = -1 (INTEGER)
    (0x03000000:NameValue):AllowOverwrite = 'TRUE' (CHARACTER)
    (0x03000000:NameValue):Identifier     = 'ExpectedIdName' (CHARACTER)
  )
)



One of my other flows starts with a Timeout notification callled exactly as I can see in NameValue):Identifier = 'ExpectedIdName'.
But nothing starts. I see no traces from no other flows except of the iniciator flow.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Dec 04, 2015 6:15 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

http://www.ibm.com/developerworks/websphere/library/techarticles/0603_schutz/0603_schutz.html
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
rhine
PostPosted: Fri Dec 04, 2015 7:45 am    Post subject: Reply with quote

Novice

Joined: 17 Nov 2015
Posts: 16

Ye, i googled before post it here. That site is already checked.

The thing is I think I have all well set.

This is my compute node code:


Code:


CREATE COMPUTE MODULE Flow_Init_Exec_Tfr_Crt_Msg_tmp
   CREATE FUNCTION Main() RETURNS BOOLEAN
   BEGIN
      -- CALL CopyMessageHeaders();
      CALL CopyEntireMessage();
      SET OutputLocalEnvironment = InputLocalEnvironment;
      
      IF InputRoot.XMLNSC.MsgFileProc.IdComp = 'XX10' THEN
         SET OutputLocalEnvironment.TimeoutRequest.Identifier = 'EvtSc';
         CALL GCInitTfr();
      ELSE
         SET OutputLocalEnvironment.TimeoutRequest.Identifier = 'EvtWs';
         CALL GCInitTfrWS();
      END IF;
      
      SET OutputLocalEnvironment.TimeoutRequest.Action = 'SET';
      SET OutputLocalEnvironment.TimeoutRequest.StartDate = 'TODAY';
      SET OutputLocalEnvironment.TimeoutRequest.StartTime = 'NOW';
      SET OutputLocalEnvironment.TimeoutRequest.Interval = 30;
      SET OutputLocalEnvironment.TimeoutRequest.Count = -1;
      SET OutputLocalEnvironment.TimeoutRequest.AllowOverwrite = 'TRUE';
      SET OutputLocalEnvironment.TimeoutRequest.IgnoreMissed = 'TRUE';
      
      RETURN TRUE;
   END;

   CREATE PROCEDURE CopyMessageHeaders() BEGIN
      DECLARE I INTEGER 1;
      DECLARE J INTEGER;
      SET J = CARDINALITY(InputRoot.*[]);
      WHILE I < J DO
         SET OutputRoot.*[I] = InputRoot.*[I];
         SET I = I + 1;
      END WHILE;
   END;

   CREATE PROCEDURE CopyEntireMessage() BEGIN
      SET OutputRoot = InputRoot;
   END;
   
   
   END MODULE;

CREATE PROCEDURE GetDataKey(IN refMap CHARACTER, IN refKey CHARACTER)     
RETURNS CHARACTER                                           
LANGUAGE JAVA                                           
EXTERNAL NAME "es.idj.util.DataMap.GetDataKey";

CREATE PROCEDURE addUpdateKey(IN refMap CHARACTER, IN refKey CHARACTER, IN refValue CHARACTER)
RETURNS BOOLEAN
LANGUAGE JAVA
EXTERNAL NAME "es.idj.util.CacheUtil.addUpdateKey";


These are the traces:

Code:

( ['MQROOT' : 0xbd9c3510]
  (0x01000000:Name  ):Properties = ( ['MQPROPERTYPARSER' : 0xbc4c8060]
    (0x03000000:NameValue):MessageSet             = '' (CHARACTER)
    (0x03000000:NameValue):MessageType            = '' (CHARACTER)
    (0x03000000:NameValue):MessageFormat          = '' (CHARACTER)
    (0x03000000:NameValue):Encoding               = 546 (INTEGER)
    (0x03000000:NameValue):CodedCharSetId         = 1208 (INTEGER)
    (0x03000000:NameValue):Transactional          = TRUE (BOOLEAN)
    (0x03000000:NameValue):Persistence            = FALSE (BOOLEAN)
    (0x03000000:NameValue):CreationTime           = GMTTIMESTAMP '2015-12-04 15:36:43.800' (GMTTIMESTAMP)
    (0x03000000:NameValue):ExpirationTime         = -1 (INTEGER)
    (0x03000000:NameValue):Priority               = 0 (INTEGER)
    (0x03000000:NameValue):ReplyIdentifier        = X'000000000000000000000000000000000000000000000000' (BLOB)
    (0x03000000:NameValue):ReplyProtocol          = 'MQ' (CHARACTER)
    (0x03000000:NameValue):Topic                  = NULL
    (0x03000000:NameValue):ContentType            = '' (CHARACTER)
    (0x03000000:NameValue):IdentitySourceType     = '' (CHARACTER)
    (0x03000000:NameValue):IdentitySourceToken    = '' (CHARACTER)
    (0x03000000:NameValue):IdentitySourcePassword = '' (CHARACTER)
    (0x03000000:NameValue):IdentitySourceIssuedBy = '' (CHARACTER)
    (0x03000000:NameValue):IdentityMappedType     = '' (CHARACTER)
    (0x03000000:NameValue):IdentityMappedToken    = '' (CHARACTER)
    (0x03000000:NameValue):IdentityMappedPassword = '' (CHARACTER)
    (0x03000000:NameValue):IdentityMappedIssuedBy = '' (CHARACTER)
  )
  (0x01000000:Name  ):MQMD       = ( ['MQHMD' : 0xbde14f70]
    (0x03000000:NameValue):SourceQueue      = 'TESTA' (CHARACTER)
    (0x03000000:NameValue):Transactional    = TRUE (BOOLEAN)
    (0x03000000:NameValue):Encoding         = 546 (INTEGER)
    (0x03000000:NameValue):CodedCharSetId   = 1208 (INTEGER)
    (0x03000000:NameValue):Format           = 'MQSTR   ' (CHARACTER)
    (0x03000000:NameValue):Version          = 2 (INTEGER)
    (0x03000000:NameValue):Report           = 0 (INTEGER)
    (0x03000000:NameValue):MsgType          = 8 (INTEGER)
    (0x03000000:NameValue):Expiry           = -1 (INTEGER)
    (0x03000000:NameValue):Feedback         = 0 (INTEGER)
    (0x03000000:NameValue):Priority         = 0 (INTEGER)
    (0x03000000:NameValue):Persistence      = 0 (INTEGER)
    (0x03000000:NameValue):MsgId            = X'414d5120444950444556514d373520203112465622897202' (BLOB)
    (0x03000000:NameValue):CorrelId         = X'000000000000000000000000000000000000000000000000' (BLOB)
    (0x03000000:NameValue):BackoutCount     = 0 (INTEGER)
    (0x03000000:NameValue):ReplyToQ         = '                                                ' (CHARACTER)
    (0x03000000:NameValue):ReplyToQMgr      = 'DEVQM75                                      ' (CHARACTER)
    (0x03000000:NameValue):UserIdentifier   = 'ADMIN' (CHARACTER)
    (0x03000000:NameValue):AccountingToken  = X'16010515000000b0525a913d693d10f76bfc88ed03000000000000000000000b' (BLOB)
    (0x03000000:NameValue):ApplIdentityData = '                                ' (CHARACTER)
    (0x03000000:NameValue):PutApplType      = 28 (INTEGER)
    (0x03000000:NameValue):PutApplName      = 'WebSphere MQ Client for Java' (CHARACTER)
    (0x03000000:NameValue):PutDate          = DATE '2015-12-04' (DATE)
    (0x03000000:NameValue):PutTime          = GMTTIME '15:36:43.800' (GMTTIME)
    (0x03000000:NameValue):ApplOriginData   = '    ' (CHARACTER)
    (0x03000000:NameValue):GroupId          = X'000000000000000000000000000000000000000000000000' (BLOB)
    (0x03000000:NameValue):MsgSeqNumber     = 1 (INTEGER)
    (0x03000000:NameValue):Offset           = 0 (INTEGER)
    (0x03000000:NameValue):MsgFlags         = 0 (INTEGER)
    (0x03000000:NameValue):OriginalLength   = -1 (INTEGER)
  )
  (0x01000000:Folder):XMLNSC     = ( ['xmlnsc' : 0xbdeb8f50]
    (0x01000000:Folder):MsgFileProc = (
      (0x03000000:PCDataField):IdComp   = 'XX10' (CHARACTER)
      (0x03000000:PCDataField):FileName = 'CT' (CHARACTER)
      (0x03000000:PCDataField):InitDate = '20151111' (CHARACTER)
      (0x01000000:Folder     ):EndDate  =
    )
  )
)

( ['MQPROPERTYPARSER' : 0xbc4c8060]
  (0x03000000:NameValue):MessageSet             = '' (CHARACTER)
  (0x03000000:NameValue):MessageType            = '' (CHARACTER)
  (0x03000000:NameValue):MessageFormat          = '' (CHARACTER)
  (0x03000000:NameValue):Encoding               = 546 (INTEGER)
  (0x03000000:NameValue):CodedCharSetId         = 1208 (INTEGER)
  (0x03000000:NameValue):Transactional          = TRUE (BOOLEAN)
  (0x03000000:NameValue):Persistence            = FALSE (BOOLEAN)
  (0x03000000:NameValue):CreationTime           = GMTTIMESTAMP '2015-12-04 15:36:43.800' (GMTTIMESTAMP)
  (0x03000000:NameValue):ExpirationTime         = -1 (INTEGER)
  (0x03000000:NameValue):Priority               = 0 (INTEGER)
  (0x03000000:NameValue):ReplyIdentifier        = X'000000000000000000000000000000000000000000000000' (BLOB)
  (0x03000000:NameValue):ReplyProtocol          = 'MQ' (CHARACTER)
  (0x03000000:NameValue):Topic                  = NULL
  (0x03000000:NameValue):ContentType            = '' (CHARACTER)
  (0x03000000:NameValue):IdentitySourceType     = '' (CHARACTER)
  (0x03000000:NameValue):IdentitySourceToken    = '' (CHARACTER)
  (0x03000000:NameValue):IdentitySourcePassword = '' (CHARACTER)
  (0x03000000:NameValue):IdentitySourceIssuedBy = '' (CHARACTER)
  (0x03000000:NameValue):IdentityMappedType     = '' (CHARACTER)
  (0x03000000:NameValue):IdentityMappedToken    = '' (CHARACTER)
  (0x03000000:NameValue):IdentityMappedPassword = '' (CHARACTER)
  (0x03000000:NameValue):IdentityMappedIssuedBy = '' (CHARACTER)
)

( ['MQROOT' : 0xb596ee00]
  (0x01000000:Name):TimeoutRequest = (
    (0x03000000:NameValue):Identifier     = 'EvtSc' (CHARACTER)
    (0x03000000:NameValue):Action         = 'SET' (CHARACTER)
    (0x03000000:NameValue):StartDate      = 'TODAY' (CHARACTER)
    (0x03000000:NameValue):StartTime      = 'NOW' (CHARACTER)
    (0x03000000:NameValue):Interval       = 30 (INTEGER)
    (0x03000000:NameValue):Count          = -1 (INTEGER)
    (0x03000000:NameValue):AllowOverwrite = 'TRUE' (CHARACTER)
    (0x03000000:NameValue):IgnoreMissed   = 'TRUE' (CHARACTER)
  )
)


I have a timeout Notification node in other flow with exactly this identifier: "EvtSc", and it is not being called.
The Timeout Control has another name by default and it should get EvtSc or EvtWs dynamically from the compute node.
If I set the unique identifier of the timeout Control to EvtSc or EvtWs directly in the properties of the node, the respective flows are called correctly.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Dec 04, 2015 8:06 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

It might help to look at a user trace...

What you've shown should work at least as far as I can tell.
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
rhine
PostPosted: Wed Dec 09, 2015 12:40 am    Post subject: Reply with quote

Novice

Joined: 17 Nov 2015
Posts: 16

I did not find the issue...
I just have now two TimeoutControl nodes and use the compute node to redirect to one or another with PROPAGATE TO TERMINAL 'out1' or 'out2'.

Thanks
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » I can't make my flow stop
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.