Hi,
Sometimes we make efforts to make things easier for novice users by
providing features above and beyond those required by the Servlet
Specification.  Examples include this ability to bind JNDI resources
without a web.xml resource-ref, support for symbolic linking to
resources outside the webapp's docBase, support for deploying and
running your app as an exploded directory structure and not just a
packed WAR file, support for specifying that the connector should not
use cookies for session tracking, and the list goes on and on.

It's pretty much guaranteed that every such feature we provide will come
back to bite us in the form of increased maintenance costs.  But it's a
tradeoff we make for the good of the community and to increase the
attractiveness of Tomcat.  Of course, there's a direct correlation
between how easy a product is to use and the average ability of its
users.  It used to be that many people on this mailing list knew the
Servlet Spec fairly well before they posted -- now we have a lot of
posters who appear to have never read it ;)

This a long story and I could go on this tangent for a while, but let's
avoid that as it has nothing to do with your problem.

Yoav Shapira
Millennium Research Informatics


>-----Original Message-----
>From: Shilpa Nalgonda [mailto:[EMAIL PROTECTED]
>Sent: Tuesday, September 28, 2004 1:01 PM
>To: Tomcat Users List
>Subject: RE: Tomcat 4.1 Connection Pooling...
>
>O.k thanks i'll do that, but what exactly you mean by
>"Tomcat tries to accommodate clueless users.", i did not quite
understand..
>
>-----Original Message-----
>From: Shapira, Yoav [mailto:[EMAIL PROTECTED]
>Sent: Tuesday, September 28, 2004 1:01 PM
>To: Tomcat Users List
>Subject: RE: Tomcat 4.1 Connection Pooling...
>
>
>
>Hi,
>The app runs fine because Tomcat tries to accommodate clueless users.
>The web.xml snippet you posted is required according to the Servlet
>Spec, and that's what you should adhere to.
>
>Yoav Shapira
>Millennium Research Informatics
>
>
>>-----Original Message-----
>>From: Shilpa Nalgonda [mailto:[EMAIL PROTECTED]
>>Sent: Tuesday, September 28, 2004 12:55 PM
>>To: Tomcat Users List
>>Subject: RE: Tomcat 4.1 Connection Pooling...
>>
>>But my application runs fine even with out that entry in web.xml, i am
>>using
>>Tomcats ConnectionPooling to connect to database..I only have
>scalability
>>issue, when i test my application with multiple users i get the ORAcle
>erro
>>below..
>>If only one users is there, then there is no problem...can you please
>>suggest if adding that entry to web.xml will help...
>>
>>java.sql.SQLException: ORA-00020: maximum number of processes (200)
>>exceeded
>>
>>        at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java)
>>        at oracle.jdbc.ttc7.O3log.receive1st(O3log.java)
>>        at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java)
>>        at
>>oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java)
>>        at
>>oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.jav
a
>)
>>        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java)
>>        at
>>org.apache.commons.dbcp.DriverConnectionFactory.createConnection(Drive
r
>Conn
>>e
>>ctionFactory.java:82)
>>        at
>>org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableC
o
>nnec
>>t
>>ionFactory.java:300)
>>        at
>>org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObj
e
>ctPo
>>o
>>l.java:816)
>>        at
>>org.apache.commons.dbcp.AbandonedObjectPool.borrowObject(AbandonedObje
c
>tPoo
>>l
>>.java:119)
>>        at
>>org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSou
r
>ce.j
>>a
>>va:140)
>>        at
>>org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.
j
>ava:
>>5
>>18)
>>        at
>>com.mypublisher.oemapi.DAO.DBAccess.getConnection(DBAccess.java:43)
>>
>>-----Original Message-----
>>From: Shapira, Yoav [mailto:[EMAIL PROTECTED]
>>Sent: Tuesday, September 28, 2004 12:53 PM
>>To: Tomcat Users List
>>Subject: RE: Tomcat 4.1 Connection Pooling...
>>
>>
>>
>>Hi,
>>Yes, it's needed if you're using server-provided connection pooling.
>>Read the Servlet Specification.
>>
>>Yoav Shapira
>>Millennium Research Informatics
>>
>>
>>>-----Original Message-----
>>>From: Shilpa Nalgonda [mailto:[EMAIL PROTECTED]
>>>Sent: Tuesday, September 28, 2004 12:47 PM
>>>To: Tomcat Users List
>>>Subject: RE: Tomcat 4.1 Connection Pooling...
>>>
>>>Is it necessary to add this in web.xml, i have configured datasource
>>for
>>>connectonpool only in server.xml...
>>>
>>>
>>>web.xml
>>>-----------
>>><resource-ref>
>>><res-ref-name>jdbc/myoracle</res-ref-name>
>>><res-type>javax.sql.DataSource</res-type>
>>><res-auth>Container</res-auth>
>>></resource-ref>
>>>
>>>
>>>
>>>-----Original Message-----
>>>From: Shilpa Nalgonda [mailto:[EMAIL PROTECTED]
>>>Sent: Wednesday, September 22, 2004 11:05 AM
>>>To: Tomcat Users List
>>>Subject: RE: Tomcat 4.1 Connection Pooling...
>>>
>>>
>>>Thanks.
>>>Maybe its the parameter configuration can you send me your
>>configuration
>>>for
>>>connection pooling...
>>>I am using these parameters...
>>>maxActive :20
>>>>maxIdle :10
>>>>maxWait :10000
>>>>removeAbandoned :true  -- what exactly is MaxIdle  parameter..????
>>>
>>>Also my application makes 7 database queries, each query gets
>>connection
>>>from datasource and closes() the connection in finally block.  When
it
>>gets
>>>connection from datasource it is supposed to get it from pool
right???
>>>
>>>I noticed that after my application runs 3 times --(3x7 =21).. it
>gives
>>me
>>>this error
>>>
>>>org.apache.commons.dbcp.SQLNestedException: Cannot get a connection,
>>pool
>>>exhausted, cause:
>>>java.util.NoSuchElementException: Timeout waiting for idle object
>>>        at
>>>org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericOb
.
>.
>>>
>>>So can you send me ur config and code snippet to get datasource if
>>>possible...
>>>
>>>
>>>-----Original Message-----
>>>From: Shapira, Yoav [mailto:[EMAIL PROTECTED]
>>>Sent: Wednesday, September 22, 2004 10:55 AM
>>>To: Tomcat Users List
>>>Subject: RE: Tomcat 4.1 Connection Pooling...
>>>
>>>
>>>
>>>Hi,
>>>Nope, I can't help unfortunately.  I used Tomcat 4.1 for years
>>>connecting to Oracle 8i and 9i, and I continue to do so now with
>Tomcat
>>>5.0 and 5.5.  Maybe I'm just lucky, but the docs (specifically the
>JDBC
>>>DataSources how-to) have always worked for me out of the box.  I've
>>>never seen the error you describe.
>>>
>>>Yoav Shapira
>>>Millennium Research Informatics
>>>
>>>
>>>>-----Original Message-----
>>>>From: Shilpa Nalgonda [mailto:[EMAIL PROTECTED]
>>>>Sent: Wednesday, September 22, 2004 10:44 AM
>>>>To: Tomcat Users List
>>>>Subject: RE: Tomcat 4.1 Connection Pooling...
>>>>
>>>>Hi Yoav Shapira,
>>>>Can you put some light on this pooling stuff...
>>>>Thanks.
>>>>Shilpa.
>>>>
>>>>-----Original Message-----
>>>>From: Shilpa Nalgonda [mailto:[EMAIL PROTECTED]
>>>>Sent: Wednesday, September 22, 2004 9:31 AM
>>>>To: Tomcat Users List
>>>>Subject: RE: Tomcat 4.1 Connection Pooling...
>>>>
>>>>
>>>>Hi Cary,
>>>>I am running my application on both windowsxp and Linux. And my
>Oracle
>>>>version is 8i.
>>>>I have the same problem on both OS.  I think increasing the number
of
>>>>processes would not help.
>>>>This has got something to do with Tomcat connection pooling
>>>configuration.
>>>>I am missing some configuration stuff there...
>>>>if i use these below parameters in server.xml iget timeout
>>>exception...just
>>>>after couple of requests..
>>>>maxActive :20
>>>>maxIdle :10
>>>>mxWait :10000
>>>>removeAbandoned :true
>>>>"org.apache.commons.dbcp.SQLNestedException: Cannot get a
connection,
>>>pool
>>>>exhausted, cause:
>>>>java.util.NoSuchElementException: Timeout waiting for idle object "
>>>>
>>>>And if i use this below configuration i get ORA:00020 exception...
>>>>maxActive :0
>>>>maxIdle :0
>>>>mxWait :0
>>>>removeAbandoned :true
>>>>
>>>>Can you please help---i have been looking into this since 2 days and
>>>still
>>>>it doesn't work...
>>>>
>>>>-----Original Message-----
>>>>From: Cary Conover [mailto:[EMAIL PROTECTED]
>>>>Sent: Tuesday, September 21, 2004 10:09 PM
>>>>To: Tomcat Users List
>>>>Subject: RE: Tomcat 4.1 Connection Pooling...
>>>>
>>>>
>>>>Shilpa,
>>>>
>>>>What OS are you running this configuration on?  If it is AIX I would
>>>>investigate to see how the system is configured for the number of
>>>processes
>>>>per user on the system.  If it is configured as a Workstation it is
>>>>defaulted to 128 processes / login.  If it is configured as a server
>>it
>>>is
>>>>set to 500 processes / login.  Plus Oracle support site suggests in
>>the
>>>>neighborhood of 2500 processes / login for Oracle 9i to function
well
>>>if
>>>>you
>>>>are running 9i.  These are all system settings that can be found in
>>>smitty
>>>>on the system and adjusted as root user.
>>>>
>>>>Hope this helps,
>>>>
>>>>Cary
>>>>
>>>>Shilpa Nalgonda <[EMAIL PROTECTED]> wrote:
>>>>Can someone please suggest how to achieve connection Pooling in
>tomcat
>>>4.1.
>>>>As per the docs i have
>>>>1) configured server.xml to include the resource parameters (
>>>datasource,
>>>>connection pool size etc)
>>>>2) In application code , retrieve connection using datasource
>>>>3) Every Method call to database retrieves connection
>>>>using datasource.getConnection ()
>>>>and closes connection everytime
>>>>
>>>>But still the pooling is not achieved, i get ORA-00020 error(
maximim
>>>>proceses exceeded), i increased the size from 30 to 200) even then
it
>>>is
>>>>not
>>>>working.
>>>>
>>>>Can someone please help----
>>>>
>>>>-----Original Message-----
>>>>From: Shilpa Nalgonda [mailto:[EMAIL PROTECTED]
>>>>Sent: Monday, September 20, 2004 12:55 PM
>>>>To: Tomcat Users List
>>>>Subject: org.apache.commons.dbcp.SQLNestedException: Cannot get a
>>>>connection, pool exhausted, cause:
>>>>
>>>>
>>>>Hi, I am getting the timeout exception for connection pooling, i am
>>>using
>>>>Tomca 4.1 and datasource to retrieve connections.
>>>>I am attaching all the soure code and configuration files used in my
>>>>application, please suggest where iam doing wrong...
>>>>
>>>>SEVERE: getConnection()--SQLException
>>>>org.apache.commons.dbcp.SQLNestedException: Cannot get a connection,
>>>pool
>>>>exhausted, cause:
>>>>java.util.NoSuchElementException: Timeout waiting for idle object
>>>>at
>>>>org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericO
b
>j
>>e
>>>ctPo
>>>>o
>>>>l.java:801)
>>>>at
>>>>org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataS
o
>u
>>r
>>>ce.j
>>>>a
>>>>va:140)
>>>>at
>>>>org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSourc
e
>.
>>j
>>>ava:
>>>>5
>>>>18)
>>>>at
>>>>com.mypublisher.oemapi.DAO.DBAccess.getConnection(DBAccess.java:47)
>>>>at com.mypublisher.oemapi.DAO.Persister.(Persister.java:46)
>>>>at
>>>>com.mypublisher.oemapi.SubmitOrder.SubmitOrder(SubmitOrder.java:61)
>>>>at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>at
>>>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
.
>j
>>a
>>>va:3
>>>>9
>>>>)
>>>>at
>>>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
s
>s
>>o
>>>rImp
>>>>l
>>>>.java:25)
>>>>at java.lang.reflect.Method.invoke(Method.java:324)
>>>>at org.apache.xmlrpc.Invoker.execute(Invoker.java:168)
>>>>at
>>>>org.apache.xmlrpc.XmlRpcWorker.invokeHandler(XmlRpcWorker.java:123)
>>>>at org.apache.xmlrpc.XmlRpcWorker.execute(XmlRpcWorker.java:185)
>>>>at org.apache.xmlrpc.XmlRpcServer.execute(XmlRpcServer.java:151)
>>>>at org.apache.xmlrpc.XmlRpcServer.execute(XmlRpcServer.java:128)
>>>>at
>>>>com.mypublisher.oemapi.xmlrpc.XmlRpcServlet.doPost(XmlRpcServlet.jav
a
>>>>====================================================================
=
>=
>>=
>>>====
>>>>=
>>>>===========
>>>>server.xml
>>>>---------
>>>>xmlrpc-oemapi-->
>>>>debug="5" reloadable="true" crossContext="true" useNaming="true">
>>>>
>>>>prefix="localhost_rpcoemapi_log." suffix=".txt"
>>>>timestamp="true"/>
>>>>auth="Container"
>>>>type="javax.sql.DataSource"/>
>>>>
>>>>
>>>>
>>>>
>>>>factory
>>>>org.apache.commons.dbcp.BasicDataSourceFactory
>>>>
>>>>
>>>>
>>>>         configure your mysqld max_connections large enough to
handle
>>>>         all of your db connections. Set to 0 for no limit.
>>>>         -->
>>>>
>>>>
>>>>maxActive
>>>>5
>>>>
>>>>
>>>>
>>>>         Set to 0 for no limit.
>>>>         -->
>>>>
>>>>
>>>>maxIdle
>>>>2
>>>>
>>>>
>>>>
>>>>         in ms, in this example 10 seconds. An Exception is thrown
if
>>>>         this timeout is exceeded.  Set to -1 to wait indefinitely.
>>>>         -->
>>>>
>>>>
>>>>maxWait
>>>>10000
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>username
>>>>ioeadmin
>>>>
>>>>
>>>>
>>>>
>>>>password
>>>>ioeadmin
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>driverClassName
>>>>oracle.jdbc.driver.OracleDriver
>>>>
>>>>
>>>>
>>>>         The autoReconnect=true argument to the url makes sure that
>>the
>>>>         mm.mysql JDBC Driver will automatically reconnect if mysqld
>>>closed
>>>>the
>>>>         connection.  mysqld by default closes idle connections
after
>>8
>>>>hours.
>>>>         -->
>>>>
>>>>
>>>>url
>>>>jdbc:oracle:thin:@ipaddress:1521:MYDB
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>====================================================================
=
>=
>>=
>>>====
>>>>=
>>>>===================================
>>>>DatasourceFactory is a singleton class used to retrieve the
>datasource
>>>from
>>>>tomcat using JNDi..and connection is obtained from datasource...
>>>>public static DataSource getInstance() throws SystemException
>>>>{
>>>>if (!isDataSrcAvaliable)
>>>>{
>>>>if (dataSource == null)
>>>>{
>>>>new DataSourceFactory();
>>>>doLookUp();
>>>>isDataSrcAvaliable = true;
>>>>} //end if (dataSource == null)
>>>>}// end if (!isDataSrcAvaliable)
>>>>return dataSource;
>>>>} /* end getInstance() */
>>>>
>>>>doLookUp method does this:
>>>>Context ctx = new InitialContext();
>>>>String dataSrc =
>>>>msgResource.getMessage(OEMAPIConstants.DATA_SOURCE_NAME);
>>>>Context env = (Context)ctx.lookup("java:comp/env");
>>>>dataSource = (DataSource) env.lookup(dataSrc);
>>>>
>>>>
>>>>public static Connection getConnection() throws DAOException
>>>>{
>>>>DataSource ds = (DataSource) DataSourceFactory.getInstance();
>>>>Connection con = ds.getConnection();
>>>>return ds.getConnection();
>>>>}
>>>>and every database lookup class, gets this connection and closes the
>>>>connection after the query to database...
>>>>
>>>>
>>>>
>>>>--------------------------------------------------------------------
-
>>>>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]
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>---------------------------------
>>>>Do you Yahoo!?
>>>>New and Improved Yahoo! Mail - Send 10MB messages!
>>>>
>>>>
>>>>--------------------------------------------------------------------
-
>>>>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]
>>>
>>>
>>>
>>>
>>>This e-mail, including any attachments, is a confidential business
>>>communication, and may contain information that is confidential,
>>>proprietary
>>>and/or privileged.  This e-mail is intended only for the
individual(s)
>>to
>>>whom it is addressed, and may not be saved, copied, printed,
disclosed
>>or
>>>used by anyone else.  If you are not the(an) intended recipient,
>please
>>>immediately delete this e-mail from your computer system and notify
>the
>>>sender.  Thank you.
>>>
>>>
>>>---------------------------------------------------------------------
>>>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]
>>
>>
>>
>>
>>This e-mail, including any attachments, is a confidential business
>>communication, and may contain information that is confidential,
>>proprietary
>>and/or privileged.  This e-mail is intended only for the individual(s)
>to
>>whom it is addressed, and may not be saved, copied, printed, disclosed
>or
>>used by anyone else.  If you are not the(an) intended recipient,
please
>>immediately delete this e-mail from your computer system and notify
the
>>sender.  Thank you.
>>
>>
>>---------------------------------------------------------------------
>>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]
>
>
>
>
>This e-mail, including any attachments, is a confidential business
>communication, and may contain information that is confidential,
>proprietary
>and/or privileged.  This e-mail is intended only for the individual(s)
to
>whom it is addressed, and may not be saved, copied, printed, disclosed
or
>used by anyone else.  If you are not the(an) intended recipient, please
>immediately delete this e-mail from your computer system and notify the
>sender.  Thank you.
>
>
>---------------------------------------------------------------------
>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]




This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to