IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

[JDBC]Erreurs DSRA9110E avec montée en charge


Sujet :

JDBC Java

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [JDBC]Erreurs DSRA9110E avec montée en charge
    Bonjour à tous,
    J'ai actuellement un problème sur une appli J2EE/Struts sous WAS5 avec des accès base Oracle via JDBC : nous effectuons actuellement des tests de charges sur cette appli et nous constatons beaucoup d'exception sql lors de la montée en charge

    Ces SQLException sont dans 90% des cas des :
    - DSRA9110E: Statement est fermé
    - DSRA9110E: Connection est fermé

    Alors ok ça veut dire que mes objets sont déjà fermés quand je les appelle, mais pourquoi ? Voici mon code :

    L'appli utilise une datasource pour acceder à la base :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    ...
    	private static void initDataSource(String nomJndi) throws DataBaseException {
     
    		InitialContext ctx = null;
    		try {
    			ctx = new InitialContext();
    			dataSource = (DataSource)ctx.lookup(nomJndi);
    		} catch (NamingException e) {
    			throw new DataBaseException("message.");
    		} finally {
    			if(ctx != null) {
    				try {
    					ctx.close();
    				} catch (NamingException e1) {
    					throw new DataBaseException("message.");
    				}
    			}
    		}
    	}
    ...

    Une classe mère pour nos DAO qui possède les méthodes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    ...
    	protected PreparedStatement prepare(String requeteSql) throws SQLException, DataBaseException {
    		if (connection == null || connection.isClosed()) {
    			ds = DataSourceHelper.getDataSource(this.nomJndi); // appel à la méthode initDataSource ci-dessus
    			connection = ds.getConnection();
    		}
    		return connection.prepareStatement(requeteSql);
    	}
     
    	/**
             * Fermeture de l'état et de la connexion
             */
    	protected void fermerStatement (PreparedStatement pstmt) {
     
    		try {
    			if(pstmt != null){
    				pstmt.close();
    			}
    		} catch (SQLException e) {
    			log.error("message");
    		}
    	}
     
    	/**
             * Fermeture de la connexion
             */
    	protected void fermerConnection () {
     
    		try {
    			if(connection != null){
    				connection.close();
    			}
    		} catch (SQLException e) {
    			log.error("message");
    		}
    	}
    ...
    Et nos DAO ressemblent à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    ...
    		PreparedStatement pstmt = null;
    		try {
    			pstmt = prepare(REQUETE);
    			pstmt.setString(1,premierParam);
    			pstmt.setString(2,secondParam);
     
    			ResultSet rs = pstmt.executeQuery();
    			while(resultat.next()){
    				truc = construireTruc(rs);
    				liste.add(truc);
    			}
     
    		} catch (SQLException e) {
    			throw new MonException("message",e);
    		} finally {
    			fermerStatement(pstmt);
    			fermerConnection();
    		}
     
    		return liste;
    ...


    Avez-vous une idée de ce qui provoque mes SQLException lors de la montée en charge de mon appli ?

    Merci pour vos réponses.

  2. #2
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Personne pour m'aider ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 22/04/2015, 06h48
  2. Réponses: 1
    Dernier message: 04/01/2012, 23h48
  3. [OpenSTA] Test de montée en charge avec OpenSTA et plusieurs machines
    Par Rrominet dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 07/03/2007, 12h08
  4. [JDBC]Erreur "Not yet implemented" avec Firebird 2
    Par bassim dans le forum Connexion aux bases de données
    Réponses: 3
    Dernier message: 04/12/2006, 19h54
  5. Réponses: 1
    Dernier message: 01/12/2006, 21h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo