Hi all,
I meet a very strange problem when change tomcat3.2 to
tomcat4.0
my program is:
db.begin();
oql = db.getOQLQuery( "select u from
ua.module.uaserver.User u WHERE login=$1 and type=$2"
);
oql.bind( "llll" );
oql.bind(
"4");
System.out.println("Readonly ..
");
results = oql.execute( Database.ReadOnly
);
if ( results.hasMoreElements() )
{
theUser =
(User)results.nextElement();
}
results2 =
null;
Merchant m =
null;
oql2 = db.getOQLQuery( "select u from
ua.module.uaserver.Merchant u " );
file://oql.bind( "000002"
);
results2 = oql2.execute( Database.ReadOnly
);
System.out.println("Readonly ..
");
if ( results2 .hasMoreElements() )
{
m = (Merchant)
results2.nextElement();
System.out.println(m);
}
if
(m == null){
System.out.println("no such
merchant");
return
"failure";
}
db.commit();
when excute this servlet,I saw these
exceptions:
at
java.util.HashMap$HashIterator.next(HashMap.java:736)
at
java.util.WeakHashMap$1.hasNext(WeakHashMap.java:369)
at
java.util.AbstractMap$2.hasNext(AbstractMap.java:364)
at com.codestudio.sql.PoolManConnection.clean(Unknown
Source)
at
com.codestudio.util.JDBCPool.returnConnection(Unknown
Source)
at
com.codestudio.util.JDBCPool.connectionClosed(Unknown
Source)
at
com.codestudio.sql.PoolManConnection.sendCloseEvent(Unknown
Source)
at
com.codestudio.sql.PoolManConnectionHandle.close(Unknown
Source)
at
org.exolab.castor.jdo.engine.TransactionContextImpl.commitConnections
(TransactionContextImpl.java:133)
at
org.exolab.castor.persist.TransactionContext.commit(TransactionContex
t.java:1532)
at
org.exolab.castor.jdo.engine.DatabaseImpl.commit(DatabaseImpl.java:50
0)
at
ua.module.web.BaseAction.perform(BaseAction.java:118)
at
org.apache.struts.action.ActionServlet.processActionPerform(ActionSer
vlet.java:1621)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:143
1)
at
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:463)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:243)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:201)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve
.java:246)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
2344)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:164)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
rValve.java:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
462)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:163)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcesso
r.java:1011)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.ja
va:1106)
at java.lang.Thread.run(Thread.java:484)