in addition to that,
can you also test this suggestion of increasing the "Thread Count"
To modify the default execute queue thread count using the Administration Console:
Start the Administration Server if it is not already running.
Access the Administration Console for the domain.
Expand the Servers node in the left pane to display the servers configured in your domain.
Right-click the name of the server instance that contains the execute queue you want to configure, and then select View Execute Queues on the pop-up menu to display a table of execute queues that can be modified.
Note: You can only modify the default execute queue for the server or a user-defined execute queue.
In the Name column, click directly on the default execute queue name to display the Configuration tab for modifying execute queues.
Locate the Thread Count value and increase or decrease it, as appropriate.
Click Apply to save your changes.
Reboot the selected server to enable the new execute queue settings.
The value of the ThreadCount attribute depends very much on the type of work your application does. For example, if your client application is thin and does a lot of its work through remote invocation, that client application will spend more time connected — and thus will require a higher thread count — than a client application that does a lot of client-side processing.
If you do not need to use more than 15 threads (the development default) or 25 threads (the production default) for your work, do not change the value of this attribute. As a general rule, if your application makes database calls that take a long time to return, you will need more execute threads than an application that makes calls that are short and turn over very rapidly. For the latter case, using a smaller number of execute threads could improve performance.
For more information visit
http://download.oracle.com/docs/cd/E13222_01/wls/docs81/perform/WLSTuning.html
Let me know if this helps
regards,
Rob