Question sur ressource déclarée dans tomcat récupérée dans dispatcher-servlet.xml
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:
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:
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:
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:
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:
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:
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