tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <Bruno.Mell...@nokia.com>
Subject RE: Datasource - OK in app context - Fails in Global context
Date Mon, 12 Jan 2004 15:38:34 GMT
Yes, that sounds about right.  A manual restart of the server seems to be required, which is
what I meant by autodeployment not working.  As a matter of fact, although I have not tried
it yet, I would not be surprised that a manual deploy to Tomcat would also require a server
restart.  

>From experience with other application servers (JBoss, Weblogic,...) autodeploying usually
means that you do not need to manually restart, since the server does "whatever is needed"
to make the application usable (of course, assuming that you have already successfully deployed
the application at least once before - it is not rare for servers to choke on the first autodeploy).

Btw, I got the same SQLException because my app also interacts with the database on initialization.
 Which is why I got into the habit of shutting down before deploying, when a database is involved.

-----Original Message-----
From: ext Keshav Sarin [mailto:KSarin@net-deposit.com]
Sent: Monday, January 12, 2004 9:25 AM
To: tomcat-user@jakarta.apache.org
Subject: RE: Datasource - OK in app context - Fails in Global context


When I tested 5.0 for auto deployment, the datasource JNDI context was
no longer available to the application and a SQLException was thrown in
the logs (the app interacts with database on initialization). The
application worked fine after the server was restarted.

In 4.x, even sever restart wouldn't load the application. The
application directory had to be replaced. 5.0 doesn't have this issue.

>>> Bruno.Melloni@nokia.com 01/12/04 07:12AM >>>
I am using 5.0, so that should not be a problem.  

But are you sure the bug is fixed in 5.x?  Before this I had the
DataSource defined at the application context level, and I had noticed
that the application would crash if I redeployed without "shutting down,
deleting the deployed application directory, restarting".  A nuisance,
but usable, so I didn't worry about it.  

In any case, Autodeploying and deploying to a live server was
definitely not working on 5.0.  If a developer wants to investigate and
fix this flaw I'd be happy to do some test deploys to troubleshoot, if
not, the workaround works just fine.

Bruno.

-----Original Message-----
From: ext Keshav Sarin [mailto:KSarin@net-deposit.com] 
Sent: Friday, January 09, 2004 4:23 PM
To: tomcat-user@jakarta.apache.org 
Subject: RE: Datasource - OK in app context - Fails in Global context


There's a catch though....

In TC 4.x, if you put a app context entry in the server.xml, the app
doesn't get reloaded even if the war is overwritten or the app
directory
is deleted or the server is restarted. The fully expanded (war)
directory has to be overwritten to webapps directory and server needs
to
be restarted to make it work.

This bug is fixed in 5.x.

>>> Bruno.Melloni@nokia.com 01/09/04 02:44PM >>>
Bingo!!!  That was it.

It might be a good idea to add a paragraph to the JDBC DataSources
section of the documentation that mentions:

(a) That global datasources are defined in <GlobalNamingResources> of
server.xml
(b) The need for the <ResourceLink> in the application context .xml
file

I had the mistaken impression that anything placed in the server.xml
file was automatically applied to all application contexts.  I am sure
that others make the same mistake.

Thanks, I have been pulling my hair on this issue for almost a month.

Bruno

-----Original Message-----
From: ext Keshav Sarin [mailto:KSarin@net-deposit.com] 
Sent: Friday, January 09, 2004 3:22 PM
To: tomcat-user@jakarta.apache.org; Melloni Bruno (Nokia-BI/Dallas)
Subject: Re: Datasource - OK in app context - Fails in Global context


Have you defined a reference to the global resource in the
<ResourceLink> element of the application context ?

>>> Bruno.Melloni@nokia.com 01/09/04 10:38AM >>>
I have an Oracle JDBC datasource that I defined in the Tomcat5 context
for an application (conf/Catalina/localhost/nwg.xml).  Works fine,
context file listed below.  

But when I tried to move the datasource to the <GlobalNamingResources>
section of server.xml so that it would be accessible to all apps it
gets
recognized in the admin console, but not by the application.  

What gives?  I thought a Global resource is supposed to function
identically to an application resource.

Any help would be greatly welcomed.


nwg.xml:
  <Resource auth="Container" name="rcfDS"
type="javax.sql.DataSource"/>
  <ResourceParams name="rcfDS">
    <parameter>
      <name>factory</name>
      <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    </parameter>    
    <parameter>
      <name>driverClassName</name>
      <value>oracle.jdbc.driver.OracleDriver</value>
    </parameter>
    <parameter>
      <name>url</name>
     
<value>jdbc:oracle:thin:@hostNameHere:portNumberHere:dbNameHere</value>
    </parameter>
    <parameter>
      <name>username</name>
      <value>usernameHere</value>
    </parameter>
    <parameter>
      <name>password</name>
      <value>userpasswordHere</value>
    </parameter>
    <parameter>
      <name>maxIdle</name>
      <value>10</value>
    </parameter>
    <parameter>
      <name>maxActive</name>
      <value>20</value>
    </parameter>
    <parameter>
      <name>maxWait</name>
      <value>-1</value>
    </parameter>
    <parameter>
      <name>removeAbandoned</name>
      <value>true</value>
    </parameter>
    <parameter>
      <name>logAbandoned</name>
      <value>true</value>
    </parameter>
  </ResourceParams>

Note: The JDBC driver is ojdbc14.jar and is present in common/lib, the
application's WEB-INF/lib and is present also in the JRE's lib/ext for
unrelated JAAS reasons.

Bruno Melloni
eBusiness Application Center, Americas
Nokia, Inc
6000 Connection Drive, Mailstop 4w223
Irving, TX  75039  USA
*Office: +1 (972)894-6120
*Cellular: +1 (469) 939-1067
* SMS:     4699391067@tmomail.net 
* e-mail: bruno.melloni@nokia.com 


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org 
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org 




---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org 
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org 




---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org 
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org 


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org 
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org 




---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Mime
View raw message