esup-helpdesk




La liste d'utilisateurs n'est pas rendue car vous ne possédez pas les droits d'accès nécessaires pour afficher les profils utilisateur.

Arborescence des pages

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.

...

La connexion à la base de données est faite par Hibernate. Les propriétés ci-dessous sont définies dans le fichier /properties/config.properties et utilisées pour renseigner le fichier les fichiers /properties/dao/hibernate/hibernate-jdbc.cfg.xml et /properties/dao/hibernate/hibernate-jndi.cfg.xml, ainsi que le fichier conf/server.xml de Tomcat pour les déploiements quick-start.

Propriétés propres au SGBD

Pilote

Le pilote de la base de données (par défaut MySql JDBC) :

...

Bloc de code
hibernate.connection.driver_class=org.postgresql.Driver

Dialecte Hibernate

Le dialecte Hibernate, par défaut InnoDB pour MySql :

...

Bloc de code
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect

Propriétés JDBC

L'application utilise toujours JDBC pour l'accès à la base de données en ligne de commande (tâche asynchrones).

URL (requise)

L'URL de la base de données, par défaut helpdesk sur localhost :

Bloc de code
#hibernate.connection.jdbc.url=jdbc:mysql://localhost/helpdesk

...

Bloc de code
hibernate.connection.jdbc.url=jdbc:postgresql://localhost:5432/helpdesk

Authentification (requise)

L'authentification à la base de données, par défaut root/(vide) :

Bloc de code
#hibernate.connection.jdbc.username=root
#hibernate.connection.jdbc.password=

Propriétés JNDI

L'application peut, pour les requêtes web, utiliser JNDI pour l'accès à la base de données. Cela est conseillé en production pour des raisons de performances, et cela pemet également de surveiller la charge de la base de données grâce à des outils comme LambdaProbe (voir 25 Surveillance des applications).

Si l'on préfère utiliser JDBC pour accéder à la base même depuis les requêtes web, il suffit de positionner :

Bloc de code

hibernate.useJndi=false

Pour utiliser un pool de connection défini dans Tomcat par exemple de cette manière dans le contexte de l'application :

Bloc de code

<Resource name="jdbc/esup-helpdesk" auth="Container" type="javax.sql.DataSource" username="admin"
    password="secret" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/rennes1-20080905"
    maxActive="100" maxIdle="10" maxWait="10000" removeAbandoned="true" removeAbandonedTimeout="60"
    logAbandoned="true" />

On indiquera simplement le nom de la source de données à l'application :

Bloc de code

hibernate.connection.jndi.datasource=jdbc/esup-helpdesk

L'application détectera automatiquement dans quelle mode (web ou ligne de commande) elle se trouve, et utilise alors l'accès JNDI ou JDBC.

Connecteur JDBC

esup-helpdesk est configuré par défaut pour utiliser MySql, embarquant notamment le connecteur MySql pour Java (mysql-connector-java.jar). Pour se connecter à un autre type de base de données que MySql, il faut :

...