Question

using the JMS Receiver transformer with the Sorter transformer


Badge
I am having an issue using the sorting transformer with the JMSReceiver transformer. What i have going on is i get that i get information from a JMS Queue in XML i am then fragmenting the xml into a list attributes, then exploding each list into features with its asscoiated attributes from its list. Then i convert the date attribute into seconds and use a sorter to sort the features descending by seconds. But the problem is that I have features going into the sorter, but nothing coming out of it....this does work when reading in a file using a reader, but does not work properly with the JMSReceiver message streaming transformer. What i think is going on, is that the sorter is waiting for all of the features to get there, but with the JMSReceiver it is constantly polling for new messages so i dont think "all" of the features ever get to the sorter even though a message has been received.

3 replies

Userlevel 4
Hi,

 

 

I have personally never seen this issue, but have you tried to insert a FeatureHolder just before the Sorter?

 

 

David
Badge
Yes I have, it has the same issue, features are going into it and nothing coming out of it. What i think is going on is that it is waiting for all of the features to get there before sorting ( or holding features) to make sure it has all of the data. but with the message streaming the translation doesnt end until the translation is aborted (at least i dont think there is another way to stop it) so it doesnt know that all of the features have been received when the message comes through. im going to try using another workspace with just the JMSR and a sorter to see if i can figure it out.
Userlevel 4
Hi,

 

 

you might want to report this to Safe, sounds like a bug to me.

 

 

If possible, you could try to split it up into two workspaces, one that reads the JMSR and writes it to a temporary table, then another to process it further (Sorter, etc). You could use the WorkspaceRunner to chain them together.

 

 

David

Reply