4 Replies Latest reply on Oct 11, 2007 4:15 AM by haagenhasle

    Exception when Aggregator times out

    haagenhasle

      Hi!

      I'm using JBoss AS 4.2.0GA and JBoss ESB 4.2MR3. I am, as explained in other posts at this forum, using an Aggregator to merge calls to two different remote webservices.

      I'm working on proper error-handling, and wanted to find out what happens when one of the remote webservices doesn't respond. Unfortunately, what happens is that I get the following exception:

      15:52:34,109 ERROR [STDERR] java.lang.ClassCastException: java.util.ArrayList
      15:52:34,109 ERROR [STDERR] at org.jboss.soa.esb.actions.Aggregator$TimeoutChecker.run(Aggregator.java:288)


      I was expecting my own code to misbehave, but this was more surprising. :-) Is this a bug in the JBossESB code, or can it be something I have done wrong? (In my configuration or elsewhere..)

      Regards, Haagen

        • 1. Re: Exception when Aggregator times out
          kconner

          This appears to be a bug in the codebase, sorry about that.

          I'll log a JIRA and have it fixed straight away.

          • 2. Re: Exception when Aggregator times out
            kconner

            I have created the following JIRA task.

            http://jira.jboss.com/jira/browse/JBESB-1144

            • 3. Re: Exception when Aggregator times out
              haagenhasle


              Great - thanks!

              I'm wondering, is it possible to use StaticRouter/Aggregator and put names on the aggregatorTags? Now they are all unnamed, and it would be easier for meg if I could name them according to the service I use, so that when I merge them I can look for "serviceA" and "serviceB" as aggregatorTags. Is this possible?

              Regards, Haagen

              • 4. Re: Exception when Aggregator times out
                haagenhasle

                I'll try to elaborate on my last question a little bit. I using a StaticRouter to send a request to two different services, and I then use the Aggregator and a transformer following it to merge the replies from these two services.

                Both of the services have their own transformers attached, so that the replies are already transformed into a common domain-model when I try to merge them.

                I would be much easier for me if I could know which service the different objects I try to merge come from, for example if something is wrong with the replies I can give more meaningful errormessages. But as long as the aggregatorTags are unnamed I haven't found a way to figure this out.

                If there is any other way of doing this, like adding metadata to the messages or something like that, then that would work too. I'm thankful for any suggestions! :-)

                Regards, Haagen