weblogic.properties :
connectionpool
loginDelaySecs=0,\
initialCapacity=30,\
maxCapacity=30,\
capacityIncrement=5,\
allowShrinking=true,\
shrinkPeriodMins=30,\
refreshTestMinutes=10,\
testTable=dual,\
weblogic.system.executeThreadCount=60
I got this exception message frequently.
what`s wrong?
java.sql.SQLException: weblogic.common.ResourceException: No resources available
Exception = java.sql.SQLException: weblogic.common.ResourceException: No resources
available at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:120)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:945)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:909)
at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java:269)
at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:392)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:274)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:130)
weblogic.common.ResourceException: No resources available
at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:716)
at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:555)
at weblogic.common.internal.ResourceAllocator.reserveNoWait(ResourceAllocator.java:518)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:177)
at weblogic.jdbc.common.internal.ConnectionPool.reserveNoWait(ConnectionPool.java:154)
at weblogic.jdbcbase.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:157)
at weblogic.jdbc20.common.internal.RmiDataSource.getConnection(RmiDataSource.java:60)
at weblogic.jdbc20.common.internal.RmiDataSource_ServiceStub.getConnection(RmiDataSource_ServiceStub.java:179)
at
weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:120)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:945)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:909)
at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java:269)
at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:392)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:274)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:130)
taeyangkim wrote:
> weblogic server 6.1 sp12
> oracle 8.1.7
>
> weblogic.properties :
>
> connectionpool
> loginDelaySecs=0,\
> initialCapacity=30,\
> maxCapacity=30,\
> capacityIncrement=5,\
> allowShrinking=true,\
> shrinkPeriodMins=30,\
> refreshTestMinutes=10,\
> testTable=dual,\
>
> weblogic.system.executeThreadCount=60
>
> I got this exception message frequently.
> what`s wrong?
With 60 execute-threads, each may be serving a separate
client, and each may want a pool connection. You only
have 30 connections to go around. Also, unless you have the
very latest server version/SP, the refresh may periodically
reserve all the currently unused connections to test, and while
it has them, any incoming request will leave emptyhanded.
If your machine is very powerful, such that you can use
all those execute-threads, do this:
initialCapacity=60,\
maxCapacity=60,\
If the machine isn't a huge one, do this instead:
weblogic.system.executeThreadCount=30
Also, tell me what server version. I may be able to send you a patch that will
make refresh less intrusive. In the meantime, bump up the refresh interval to
refreshTestMinutes=60,\
to cut down on those interruptions.
Joe
weblogic.jdbc.connectionPool.xPool=
url=jdbc20:oracle:thin:@xxx.xxx.xxx.xxx:xxxx:xxxxxxxxx,
driver=oracle.jdbc.driver.OracleDriver,
loginDelaySecs=0,
initialCapacity=30,
maxCapacity=30,
capacityIncrement=5,
allowShrinking=true,
shrinkPeriodMins=30,
refreshTestMinutes=10,
testTable=dual,
props=user=xxxxxxxxxxxx;password=xxxxxxxxxxxxxxx
weblogic.jdbc.TXDataSource.weblogic.jdbc.jts.Pool=xPool
weblogic.jdbc.DataSource.xDataSource=xPool
weblogic.allow.reserve.weblogic.jdbc.connectionPool.xPool=everyone
how I can patch this problem? please let me know...
I must patch it at any cost. ^^
thank you.
taeyangkim wrote:
Ok. Change the pool definition to:
weblogic.jdbc.connectionPool.xPool=
url=jdbc:oracle:thin:@xxx.xxx.xxx.xxx:xxxx:xxxxxxxxx,
driver=oracle.jdbc.driver.OracleDriver,
loginDelaySecs=1,
initialCapacity=60, <------------- note change
maxCapacity=60, <------------ note change
capacityIncrement=5,
allowShrinking=true,
shrinkPeriodMins=30,
refreshTestMinutes=999999, <------ note change.
testTable=dual,
props=user=xxxxxxxxxxxx;password=xxxxxxxxxxxxxxx