On 26/11/2020 21:01, Rob Sargent wrote:
> Looks like you named your resource jdbc/dspaceWeb and dropped the Web in your 
> lookup

Nope. You are confusing the global and local name. The config looks
right on first glance.

Mark

> 
>> On Nov 26, 2020, at 12:58 PM, Hrafn Malmquist <hrafn.malmqu...@gmail.com> 
>> wrote:
>>
>> Good day fellow Apache Tomcat users
>>
>> I have recently had reason to set a Postgres DataSource via the Tomcat JNDI
>> api. My experiments have been largely unsuccessful, unfortunately I hope
>> you are able to help me. I thank you in advance for taking the time to read
>> this.
>>
>> I am coming to this problem in a rather backward way. I am not familiar
>> with deploying web applications through Tomcat, this is something that was
>> done in a semi-automated way and replicated so that a close look has not
>> really been necessary for me until now.
>>
>> To provide a bit of context, the web server where I am trying to set up a
>> Postgres JNDI globally shared connection is running running several DSpace
>> webapps.
>>
>> I have been largely assisted by the official documentation here [0] and
>> here [1] as well as DSpace documentation here [2] and discussion on a user
>> mailing list for DSpace here [3].
>>
>> I am running:
>>
>> CentOS Linux release 7.8.2003
>> Tomcat 9.0.12
>> PostgreSQL 9.5.23
>> openjdk version "1.8.0_262"
>> OpenJDK Runtime Environment (build 1.8.0_262-b10)
>>
>>
>>   1.  I downloaded postgresql-42.2.18.jar from
>>   https://jdbc.postgresql.org/download/postgresql-42.2.18.jar and placed
>>   it in /home/lib/dspace/apache-tomcat-9.0.12/lib
>>   2. In /home/lib/dspace/apache-tomcat-9.0.12/conf/server.xml I added the
>>   following Resource
>>
>>   <Resource name="jdbc/dspaceWeb"
>>                 factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
>>                 type="javax.sql.DataSource"
>>                 auth="Container"
>>                 username="*****"
>>                 password="******"
>>                 driverClassName="org.postgresql.Driver"
>>                 url="jdbc:postgresql://localhost:5432/dspace"
>>                 initialSize="5"
>>                 maxTotal="50"
>>                 maxIdle="15"
>>                 minIdle="5" />
>>
>>   There are a couple of issues that confuse me:
>>   a) the official documentation about JNDI datasource examples [0] says 
>> "*This
>>   author has not had success here, although others have reported so.
>>   Clarification would be appreciated here."  *in the section about
>>   Postgres. In other words, we can't be sure this works?
>>   b) in the official documtation about JDBC connection pool it says that
>>   if you want to define a JDBC connection pool in the Apache Container (which
>>   I understand to be trying to do) you have to specify the factory attribute
>>   and set the value to org.apache.tomcat.jdbc.pool.DataSourceFactory [1]
>>
>>   This is not done in the example (that the author hasn't had success
>>   with?) in a)
>>   3. Created a context.xml in /dspace/webapps/xmlui/META-INF/
>>
>>   <Context docBase="/dspace/webapps/xmlui">
>>       <ResourceLink name="jdbc/dspace"
>>                     global="jdbc/dspaceWeb"
>>                     type="javax.sql.DataSource"
>>       />
>>   </Context>
>>
>>
>> When I start up Tomcat howere. I get this in the log:
>>
>> INFO [org.springframework.jndi.JndiObjectFactoryBean] JNDI lookup failed -
>> returning specified default object instead:
>> javax.naming.NameNotFoundException: Name [jdbc/dspace] is not bound in this
>> Context. Unable to find [jdbc].
>>
>> My understanding is that the webapp, DSpace, tried to look for a JNDI
>> object in the namespace "jdbc/dspace" and barring that, falls back to
>> instantiating it's own DataSource as a bean. See [4]
>>
>> But I don't understand why the above doesn't work.
>>
>> Thanks for your time
>>
>> Sources:
>> [0] :
>> https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html#PostgreSQL
>> [1] :
>> https://tomcat.apache.org/tomcat-9.0-doc/jdbc-pool.html#Inside_the_Apache_Tomcat_Container
>> [2] :
>> https://wiki.lyrasis.org/display/DSDOC6x/Installing+DSpace#InstallingDSpace-Externaldatabaseconnectionpool
>> [3] :
>> http://dspace.2283337.n4.nabble.com/Notes-on-PostgreSQL-connection-pooling-with-a-Tomcat-JNDI-resource-td4687149.html
>> [4]:
>> https://github.com/DSpace/DSpace/blob/dspace-6_x/dspace/config/spring/api/core-hibernate.xml
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to