Still not sure whether you expirience the exception on client or server
side.
However: 300.000 longs do seem like a lot of elements to transport at
once. I would not be surprised if such a huge array simply leads to
memory problems during wrapping/unwrapping.
Best solution (if that is indeed the problem) would be to split the one
huge invocation into a number of smaller ones (or increasing the heap
size to avoid memory problems, but that's probably just a temporary fix).
100% CPU does not seem very uncommon to me - I have seen similar
behavior during wrapping/unwrapping of big SOAP messages. XML processing
is expensive in terms of CPU cycles.
/philipp
Raghu Upadhyayula schrieb:
Hi Phillip,
I think there were around 300,000 elements in the long[] when I ran
into this issue.
I suppose, the exception happens in the app logic, I haven't tried
it on my local machine yet (the error happened on one of our QA
servers).
In the application logic, what I do is, execute a query, loop
through the result set, store the results in a List<Long> as I don't
know how many rows are in the result set, and then loop through the
List<Long> and store then in the long[] and return the long[] back to
the client.
Thanks
Raghu
-----Original Message-----
From: Philipp Leitner [mailto:[EMAIL PROTECTED]
Sent: Thursday, January 31, 2008 5:05 AM
To: [email protected]
Subject: Re: [Axis2] Webservices - 100% Memory and CPU usage
(OutOfMemoryError) on API call
How many elements are there in your long[] when you run out of memory?
When exactly does the exception happen (in your app logic, during
wrapping, during transmission, on client side?).
/philipp
Raghu Upadhyayula schrieb:
Hi,
I have a webservice API call which is using 100% of Memory & CPU and
throwing an OutOfMemoryError (I'm using Axis2 1.3).
My webservice call returns a long array.
Here is the signature of my webservice API.
*public long[] getIds(Calendar startDate, Calendar endDate) throws
Exception; *
Based on the given startDate & endDate, I retrieve the corresponding
records from the database and store the ids in a long array and return
the long array to the client.
If the number of records is more, I'm having the issue of 100% memory
/
CPU usage or OutOfMemoryError.
Does anyone of you have any ideas on how to overcome this issue?
Thanks
Raghu
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]