You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Srinath Perera <he...@gmail.com> on 2006/02/21 05:30:42 UTC

[Axis2]Runout of memeory while engaging modules

Hi All;

When I was engaging modules in a particular order, Axis2 run out of
memory. I recreate the problem and add a test case to JIRA. (make sure
you put the zipped repository in to the right place). See
http://issues.apache.org/jira/browse/AXIS2-456
It seems something to do with phase resolver and Phase, but I do not
able to pinpoint what exactly happen. Note when we change order of
engaging, things work!!

Couple of  comments,

1) the code at the module engagement uses Array list and walk though
the list number of times. e.g.

boolean needToadd = true;
        Iterator module_itr = engagedModules.iterator();

        while (module_itr.hasNext()) {
            AxisModule module = (AxisModule) module_itr.next();

            if (module.getName().equals(moduleref.getName())) {
                log.debug(moduleref.getName().getLocalPart()
                        + " module has already engaged to the operation"
                        + "  operation terminated !!!");
                needToadd = false;
            }
        }

May be it is good idea to replace them with a hash map, for faster
look up and simpler code.

2) Operation store references and expose deployment specific things
e.g.  ArrayList modulerefs. Our initial architecture completely hide
the deployment behind the description hierarchy and exposing
deployment specific information break that.
(May be we need to worry about it if we want to keep deployment hidden.)

Thanks
Srinath

--
============================
Srinath Perera:
   http://www.cs.indiana.edu/~hperera/
   http://www.bloglines.com/blog/hemapani