J'ai effectué la configuration ci-dessous pour la connexion JNDI DataSource pour Spring Boot Application qui utilise un tomcat externe.Impossible de rechercher la source de données JNDI dans l'application de démarrage Spring
configuration server.xml de Tomcat comme
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="jdbc/MyPostgresDB"
global="jdbc/MyPostgresDB"
auth="Container"
type="javax.sql.DataSource"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/postgres"
username="postgres"
password="postgres"
maxActive="100"
maxIdle="20"
minIdle="5"
maxWait="10000"/>
context.xml comme
<Context>
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<ResourceLink name="jdbc/MyPostgresDB"
global="jdbc/MyPostgresDB”
auth="Container"
type="javax.sql.DataSource" />
défini par les application.properties pour le démarrage du printemps dans le bon sens comme
spring.datasource.jndi-name=java:comp/env/jdbc/MyPostgres
Mis à jour le web .xml comme
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<resource-ref>
<description>JNDI LookUp</description>
<res-ref-name>jdbc/MyPostgresDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<!-- <res-sharing-scope>Shareable</res-sharing-scope> -->
</resource-ref>
</web-app>
obtenir encore l'exception comme
org.springframework.jdbc.datasource.lookup.DataSourceLookupFailureException: Impossible de rechercher DataSource JNDI avec le nom 'java: comp/env/jdbc/MyPostgres'
(Full Stacktrace pas donné comme tout où il est donné)
Alors quelle est la solution ou pourquoi je reçois cette exception.
Ne venez pas avec l'idée du serveur Tomcat embarqué pour le démarrage à ressort. S'il vous plaît aidez-moi.
Défini les applications.properties pour le démarrage du printemps dans le droit chemin comme spring.datasource.jndi-name = java: comp/env/jdbc/MyPostgresDB Toujours obtenir l'exception (Dans le message original, il était faute de frappe désolé pour que) – 008ak89