...
Modifier le rdbm.properties :
Bloc de code title uportal-war/src/main/resources/properties/rdbm.properties firstline 24 linenumbers true ##### Maven Filtering ##### Use these settings to define DB connection settings in filters file: hibernate.connection.jndiname=${environment.build.hibernate.connection.jndiname} ##### /filters/{env}.propertiesDéclarer la ressource JNDI "jdbc/uPortalDB" au niveau du serveur Tomcat :
Bloc de code language html/xml title <TOMCAT_HOME>/conf/server.xml <!-- Global JNDI resources Documentation at /docs/jndi-resources-howto.html --> <GlobalNamingResources> <!-- Editable user database that can also be used by UserDatabaseRealm to authenticate users --> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> <Resource name="jdbc/uPortalDB" auth="Container" type="javax.sql.DataSource" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/postgres" username="A141474" password="" validationQuery="select 1" removeAbandoned="true" removeAbandonedTimeout="120" maxWait="60" maxActive="20" maxIdle="10" /> </GlobalNamingResources>Info crossContext est indispensable au bon fonctionnement du contexte uPortal, par exemple pour le partage de session ou pour Pluto.
Ajouter un lien vers la ressource dans la pplication l'application uPortal :
Bloc de code title esup-uportal-master\uportal-war\src\main\webapp\META-INF\context.xml linenumbers true <Context crossContext="true" useHttpOnly="true" disableURLRewriting="true" reloadable="false"> <Manager pathname="" className="org.apache.catalina.session.StandardManager"/> <ResourceLink global="jdbc/uPortalDB" name="jdbc/uPortalDB" type="javax.sql.DataSource"/> </Context>Utiliser la ressource dans l'application. Modifier :
Bloc de code language html/xml title 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 :Bloc de code language html/xml title 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/${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>Configurer le fichier esup.properties :
Bloc de code title filters/esup.properties environment.build.hibernate.connection.jndiname=jdbc/uPortalDB
- Redéployer l'application
...