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