ws-sandesha-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chamikara Jayalath" <>
Subject [Sandesha2 ] Improving performance
Date Mon, 24 Jul 2006 07:11:01 GMT
Hi All,

I went through the Sandesha2 code to find out any places we can modify or
change to improve the overall performance. I thought following improvements
would be useful.

1. Caching initialized messages

Currently MessageInitializer.initialize() methods get called multiple times
for the Same message context (for example in Handlers, Invoker, Sender etc
). Everytime this is called the RM object model get built out of the SOAP
envelope. But it will be better if we can cache this object model once it is

2. removing unnecessary repeated calls to the Storage Manager

There are times where the same data get obtained from the Storage
redundantly. This should be avoided and data should be cached and reused
whenever possible.

3. Making Sender and Invoker Thread pools

Currently Sender and Invoker are single threads. This is a bottleneck. These
should be made thread pools to concurrently invoke and send messages.

4. msgNoPresentInList(String list, long no) method in Application message

This method is called for every application message. Current implementetion
has to be corrected to support a 'long' number of messsage numbers and the
implementation has to be optimized.

6. correct and optimize 'string to ArrayList' methods

SandeshaUtil.getArrayListFromString (String str);
SandeshaUtil.getArrayListFromMsgsString (String str);

5. Cleaning code

This includes remove unnecessary or repeated object creations (which i found
in some places :-) ), removing commented code, and adding some more
Javadocs, and some refactoring. The basic idea is to improve the readability
of the code.

Do you guys see any other areas that can be modified or changed to improve
the performace of the system ?


View raw message