Bonjour,
Je me suis remis depuis maintenant 1 mois sur le développement JAVA et notamment avec le framework spring apres 9 ans.
J'ai repris le tutoriel de Mr Pouillerhttps://rpouiller.developpez.com/tutoriels/spring/application-web-spring-hibernate/
J'ai une question sur la déclaration de la ressource datasource et son utilisation.
Dans le tutoriel, la ressource est déclaré dans le server.xml
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<GlobalNamingResources>
    ...
    <Resource auth="Container" driverClassName="org.hsqldb.jdbcDriver"
                maxActive="100" maxIdle="30" maxWait="10000" name="jdbc/dsMaBase"
                password="" type="javax.sql.DataSource" url="jdbc:hsqldb:file:C:\hsqldb\data\maBase"
                username="sa" />
    ...
</GlobalNamingResources>

puis un lien sur cette ressource est crée dans le context.xml

Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 <ResourceLink name="jdbc/dsMonApplication" global="jdbc/dsMaBase"
        type="javax.sql.DataSource" />


enfin, dans le web.xml de l'application la ressource est récupéré:

Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 <!-- Declaration de l'utilisation de la ressource JDBC -->
    <resource-ref>
        <description>Ressource JDBC de l'application</description>
        <res-ref-name>jdbc/dsMonApplication</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
        <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>

pour au final l'utiliser dans le dispatcher-servlet.xml
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName" value="java:comp/env/jdbc/dsMonApplication" />
    </bean>


Est il nécessaire de faire "suivre" la ressource dans chaque contexte ( context. xml / Web.xml / Dispatcher.xml). Ne peut on pas directement récupérer la ressource déclaré dans le server.xml depuis le dispatcher-servlet.xml?

J'ai essayé en déclarant une variable environnement dans le context.xml
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<Environment
	    name="envName"
	    value="daaeeeev"
	    type="java.lang.String"
	/>
et j'ai pu la récupérer dans mon dispatcher-servlet.xml

Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<bean id="environnementName" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName" value="java:comp/env/envName" />
    </bean>
et ça fonctionne bien.

Je me posais donc une question sur l'utilité de déclarer la ressource le long de toute la chaine des fichiers xml.

Merci d'avance pour votre réponse.

Pierre