2010-06-07 2 views
3

Comment définir le niveau d'isolation de transaction globale pour une source de données postgres. Je suis en cours d'exécution sur jboss et j'utilise hibernate pour se connecter.Comment définir le niveau d'isolation de transaction d'une source de données Postgres

Je sais que je peux définir le niveau d'isolation d'hibernation, est-ce que cela fonctionne pour Postgres? Cela se fera en définissant la propriété hibernate hibernate.connection.isolation hibernate sur 1,2,4,8 - les différentes valeurs des champs statiques concernés.

J'utilise le org.postgresql.xa.PGXADataSource

+1

de un quoi? D'UN QUOI? :-) – amphetamachine

+0

a ajouté le "d'un quoi" –

Répondre

1

Vous pouvez régler le niveau d'isolement de cette façon. Hibernate vous permet de le faire de manière indépendante de la base de données, donc cela fonctionnera avec PostgreSQL.

+0

Hibernate In Action livre mentionne: "Hibernate ne change jamais le niveau d'isolation des connexions obtenues à partir d'une source de données fournie par le serveur d'applications dans un environnement géré." Il est préférable de régler le niveau d'isolement dans la configuration DS de JBoss lorsque Alexander T a répondu. –

4

Si vous ne l'utilisez Hibernate ou préférez simplement pour définir le niveau d'isolement dans la source de données, toutes les sources de données JBoss prennent en charge la balise <transaction-isolation>:

<datasources> 
    <local-tx-datasource> 
    <jndi-name>GenericDS</jndi-name> 
    <connection-url>[jdbc: url for use with Driver class]</connection-url> 
    <driver-class>[fully qualified class name of java.sql.Driver implementation]</driver-class> 
    <user-name>x</user-name> 
    <password>y</password> 
    <!-- you can include connection properties that will get passed in 
    the DriverManager.getConnection(props) call--> 
    <!-- look at your Driver docs to see what these might be --> 
    <connection-property name="char.encoding">UTF-8</connection-property> 
    <transaction-isolation>TRANSACTION_SERIALIZABLE</transaction-isolation> 
    [...] 

J'ai obtenu cette information de la JBoss wiki

Questions connexes