Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

how to 'pause' an eway

Status
Not open for further replies.

n3ur0manc3r

Programmer
May 12, 2003
12
US
Hi,

Has anyone encountered this situation?

I have two running eways, eway 1 is responsible for processing and publishing the incoming message, eway 2 populates the table needed by eway 1. The publishing application publishes two messages to two separate topics thats why i have two eways.

My problem is, when eway 1 is triggered it pulls data from table eway 2 is populating, but sometimes, eway 2 is not yet finished populating the table so the published message from eway 1 sometimes contain incomplete information. This happens because there can be multiple messages eway 2 receives that relates to a single message received by eway 1. I'm thinking of 'pausing' eway 1 for a certain amount of time to give eway 2 time to populate the table.
Is this possible? Or do you have alternative suggestions?

Your responses will be greatly appreciated. Thanks a lot!
 
Hi,

I would try one of the following:
1) put all in one collaboration with two input-Instances, where the table-data-publishing-event is the trigger. Inside, read as long from the table-data-publishing-event as there is data for this translation. When done, continue and read the data from the other input-instance.
2) if 1 is not ok for you: Have 2 eways. The one that fills the table should send an event when done. At the other eway, use this event as trigger.
3) make it time-dependent. If in java, just do a sleep(). But I would not recommend that...

hth,
Heimo
 
Hi,

I like approach no. 2. I will use this. Thanks a lot!

=)
 
well point # 2 can be worked,but its not advisable when
eways populate tables with huge amt of data in it
and sleep() might be overlooped in such cases...

point # 1 makes sense!!!
 
The 1st point of using 1 eWay is the best solution, however, the way you have it, the one eWay should not be able to read the data in the table until the data has been committed to the database (otherwise it is invisible) so I am concerned you are committing before you are actually finished....

But doing this process sequentially in 1 eWay is the most efficient and effective manner.
 
Yeah, you're right, putting this in 1 eway is more efficient. I'm browsing through eGate docs and I encountered ELS. I'm thinking of eliminating the temp table and instead use ELS to accumulate the data in memory buckets. After complete information has been gathered, it will trigger the executeBusinessRules() to process and publish the transformed data.

Have you used ELS before? Can you give me some feedback on its usage? like drawbacks, performance issues, pitfalls to avoid, etc.

Your suggestions gave me a lot of ideas, thanks a lot!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top