Looks like you named your resource jdbc/dspaceWeb and dropped the Web in your 
lookup

> 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

Reply via email to