Projet Socle ENT
Pages enfant
  • JNDI (esup 4)

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

  1. Modifier le rdbm.properties :

    Bloc de code
    titleuportal-war/src/main/resources/properties/rdbm.properties
    firstline24
    linenumberstrue
    ##### Maven Filtering
    ##### Use these settings to define DB connection settings in filters file: 
    hibernate.connection.jndiname=${environment.build.hibernate.connection.jndiname}
    ##### /filters/{env}.properties
  2. Déclarer la ressource JNDI au niveau du serveur Tomcat :

    Bloc de code
    languagehtml/xml
    title<TOMCAT_HOME>/conf/context.xml
    <Context path="/portail" docBase="/opt/webapps/uPortal" reloadable="false" crossContext="true">
        <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>
    Info

    crossContext est nécessaireindispensable au bon fonctionnement du contexte uPortal, par exemple pour le partage de session , mais tends à disparaître avec la norme portlet 2.0 (portlet développés sur la norme 1.0 ayant des servlets, permettant par exemple le téléchargement de fichiers)ou pour Pluto.

  3. Utiliser la ressource dans l'application. Modifier :

    Bloc de code
    languagehtml/xml
    titleuportal-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 :

    Bloc de code
    languagehtml/xml
    titleuportal-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/${hibernate.connection.jndiname}" />
    </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>
    
    
  4. Configurer le fichier esup.properties :

    Bloc de code
    titlefilters/esup.properties
    environment.build.hibernate.connection.jndiname=jdbc/uPortalDB
  5. Redéployer l'application

...