Projet Socle ENT
Pages enfant
  • JNDI (esup 4)

Vous regardez une version antérieure (v. /wiki/spaces/ESUPMU/pages/260898894/JNDI+esup+4) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 5) afficher la version suivante »

Le passage de JDBC vers JNDI se fait en modifiant deux fichiers.

  1. Déclarer la ressource JNDI au niveau du serveur Tomcat :

    <TOMCAT_HOME>/conf/context.xml
    <Context>
        <WatchedResource>WEB-INF/web.xml</WatchedResource>
        <Resource name="jdbc/uPortalDB" 
            auth="Container" 
            type="javax.sql.DataSource"
            driverClassName="com.mysql.jdbc.Driver" 
            url="jdbc:mysql://localhost:3306/test" 
            username="root" 
            password="root" 
            validationQuery="select 1" 
            removeAbandoned="true"
            removeAbandonedTimeout="120" 
            maxWait="60" 
            maxActive="20" 
            maxIdle="10" />
    </Context>
  2. Utiliser la ressource dans l'application. Modifier :

    uportal-war\src\main\resources\properties\contexts\datasourceContext.xml
    <bean id="PortalDb" parent="basePooledDataSource">
        <qualifier value="PortalDb"/>
        <property name="driverClassName" value="${hibernate.connection.driver_class}" />
        <property name="url" value="${hibernate.connection.url}" />
        <property name="username" value="${hibernate.connection.username}" />
        <property name="password" value="${hibernate.connection.password}" />
    </bean>


    En :

    uportal-war\src\main\resources\properties\contexts\datasourceContext.xml
    <bean id="PortalDb" class="org.jasig.portal.spring.beans.factory.MediatingFactoryBean">
        <property name="type" value="javax.sql.DataSource" />
        <property name="delegateBeanNames">
        <list>
            <value>PortalDb.JNDI</value>
            <value>PortalDb.direct</value>
        </list>
        </property>
    </bean>
    
    <bean id="PortalDb.JNDI" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName" value="java:comp/env/jdbc/uPortalDB" />
    </bean>
     
    <bean id="PortalDb.direct" class="org.apache.commons.dbcp.BasicDataSource" lazy-init="true">
        <property name="driverClassName" value="${hibernate.connection.driver_class}" />
        <property name="url" value="${hibernate.connection.url}" />
        <property name="username" value="${hibernate.connection.username}" />
        <property name="password" value="${hibernate.connection.password}" />
    
        <property name="maxActive" value="50" />
        <property name="maxIdle" value="10" />
        <property name="maxWait" value="1000" />
        <property name="removeAbandoned" value="true" />
        <property name="removeAbandonedTimeout" value="300" />
        <property name="logAbandoned" value="true" />
    </bean>
    
    
  3. Redéployer l'application

  • Aucune étiquette