Bom dia, pessoal.
Estou com um problema em minha aplicação.
Trabalho com desenvolvimento web a um certo tempo, mas meu conhecimento em servidores de aplição é superficial. Tenho me voltado mais para trabalhos com webservices e análise de banco.
Meu problema é o seguinte:
Tenho um método que faz uma inserção no banco e estava funcionando normalmente até que fizeram alterações nas configurações de meu server.xml de meu Tomcat (5.5.17).
Sempre que uma chamada a esse método ocorre a primeira vez funciona e a segunda cai numa excessão (mostra abaixo), pois pelo que vi ele fecha a conexão que estava ativa. E para funcionar novamente precisa-se reiniciar a aplicação que faz a chamada a meu Werbservice que por sua vez chama esse método de minha classe.
[b]java.sql.SQLException: Connection is closed.[/b]
at org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrap
per.checkOpen(PoolingDataSource.java:174)
at org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrap
per.rollback(PoolingDataSource.java:287)
at netra.util.DBBean$ManConnection.rollback(DBBean.java:535)
at WSforCallCenter.agendar(WSforCallCenter.java:118)
at sun.reflect.GeneratedMethodAccessor472.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.j
ava:397)
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider
.java:186)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:
323)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454
)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:69
9)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas
e.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at netra.util.FiltroConexao.doFilter(FiltroConexao.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
lowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:684)
at java.lang.Thread.run(Thread.java:619)
Meu server.xml se encontra dessa forma:
<Server port="8096" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.AprLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
<GlobalNamingResources>
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="80" maxHttpHeaderSize="8192"
maxThreads="600" minSpareThreads="25" maxSpareThreads="450"
enableLookups="false" redirectPort="8443" acceptCount="200"
disableUploadTimeout="true" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8010"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context crossContext="true" debug="0" docBase="d:/genhio/web" path="" reloadable="false">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_genhio_log." suffix=".txt" timestamp="true"/>
<!-- DATASOURCE DE DESENVOLVIMENTO DA APLICACAO -->
<Resource name="jdbc/OraDB"
auth="Container"
type="javax.sql.DataSource"
maxActive="200"
maxIdle="50"
maxWait="-1"
removeAbandoned="true"
logAbandoned="false"
username="scmba_prod"
password="scmba"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@10.30.5.8:1523:prod01"/>
</Context>
</Host>
</Engine>
</Service>
</Server>
O que poderia estar ocorrendo?
Não sei se vale a informação, mas essa aplicação é acessada por muitos usuários simultâneamente.
Desde já agradeço a atenção.
Abraços.