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 "Ruwan Linton (JIRA)" <ji...@apache.org> on 2011/01/04 06:49:48 UTC
[jira] Resolved: (AXIS2-3858) Memory problem. Running DB queries
from axis2 service and the java ResultSet object. The bug disappear if I
load the garbage collector in my loops.
[ https://issues.apache.org/jira/browse/AXIS2-3858?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ruwan Linton resolved AXIS2-3858.
---------------------------------
Resolution: Not A Problem
This looks like a issue in your service, not an issue in the axis2. I think this is the normal Java behavior, where the GC runs periodically and if you do not give a chance for the GC to run it goes out of memory. I am not sure how you got this NPE though. Anyway as this is an issue in your service implementation this is not an axis2 issue
> Memory problem. Running DB queries from axis2 service and the java ResultSet object. The bug disappear if I load the garbage collector in my loops.
> ---------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AXIS2-3858
> URL: https://issues.apache.org/jira/browse/AXIS2-3858
> Project: Axis2
> Issue Type: Bug
> Components: kernel
> Affects Versions: 1.3
> Environment: MAC-G4
> OS X 10.4.11
> CPU: PowerPC G4
> 768MB RAM
> Java 1.5.0_13-b05-241
> Eclipse SDK Version: 3.3.2
> Tomcat6 in Eclipse environment (using EclipseTotale plugin)
> Reporter: Igor Sychev
> Priority: Critical
>
> Hello!
> I have a question about running DB queries from axis2 v. 1.3 web services using java ResultSet.
> The bug has a devil complexity, I will be incredibly happy to find a solution.
> Down follows a sources from the test application, this application created only to test an assumption about the bug.
> I'm using my class:
> public class ExtResultSet
> {
> public ResultSet rs;
> public String stateMsg;
> ...
> }
> And I execute runtest() method of this class as a service:
> public class DRVtest
> {
> public Connection conn;
> public Statement stmt;
> private ExtResultSet ers;
> public void runtest(int Ini)
> {
> ... Connecting stuff ...
> ers = new ExtResultSet(); // This "new" call is not enought! Why?!
> for(...)
> {
> for(...)
> {
> for(...)
> {
> StringBuffer seqQuery = new StringBuffer();
> seqQuery.append("SELECT NO_ID FROM RS WHERE ....");
> ...
> // If I print here:
> // new ExtResultSet();
> // The problem will disappear!!!
> try{
> ers.rs = stmt.executeQuery( seqQuery.toString() );
> }
> catch(SQLException e)
> { ... }
>
> int x_no = -1;
>
> try{
> while( ers.rs.next() )
> {
> x_no = ers.rs.getInt("no_id");
> }
> }
> catch(SQLException e)
> { ... }
> ...
> First, I had an idea that my JDBC driver for Firebird 1.5 is not stable, I tried to switch on Postgresql but nothing happened...
> This code newer fails if I execute runtest() as a standard java application ( I tried on different java versions and OS ).
> It is obvious, the bug disappear if I load the garbage collector in my loops.
> I'm running Tomcat6 in Eclipse environment (using EclipseTotale plugin) to debug service thread.
> The fault messages:
> [ERROR]
> java.lang.NullPointerException
> at org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invokeBusinessLogic(RPCInOnlyMessageReceiver.java:83)
> at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
> at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
> at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.ru
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org