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

Tomcat et TomEE Java Discussion :

Erreur HTTP 500 lors de l'arrêt redémarrage de la base Oracle


Sujet :

Tomcat et TomEE Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien SIG
    Inscrit en
    Février 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien SIG
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2005
    Messages : 6
    Points : 9
    Points
    9
    Par défaut Erreur HTTP 500 lors de l'arrêt redémarrage de la base Oracle
    Bonjour,

    Sur un serveur virtuel sur lequel est installé Windows Server 2008 R2 Standard SP1 64bit.

    J'ai déployé un site web sur Apache Tomcat/6.0.35, installé à partir du 32-bit/64-bit Windows Service Installer téléchargé sur le site Apache Tomcat pour avoir l'interface graphique.

    J'ai installé java et j'ai déclaré le Path JAVA_HOME : "C:\Program Files\Java\jdk1.7.0_03".

    Dans Tomcat, j'ai configuré Java :
    • jvm : C:\Program Files\Java\jdk1.7.0_03\jre\bin\server\jvm.dll
    • java class path : C:\Tomcat\bin\bootstrap.jar;C:\Tomcat\bin\tomcat-juli.jar


    puis : Java Options :
    • -Dcatalina.home=C:\Tomcat
    • -Dcatalina.base=C:\Tomcat
    • -Djava.endorsed.dirs=C:\Tomcat\endorsed
    • -Djava.io.tmpdir=C:\Tomcat\temp
    • -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
    • -Djava.util.logging.config.file=C:\Tomcat\conf\logging.properties
    • -Djava.security.auth.login.config=C:\Tomcat\conf\jaas.login
    • -XX:MaxPermSize=256M
    • -XX:-HeapDumpOnOutOfMemoryError


    et enfin :
    • Initial memory pool : 512 MB
    • Maximum memory pool : 2048 MB
    • Thread stack size :


    A 23h, l'administrateur oracle fait un stop/start de la base oracle pour ensuite lancer une sauvegarde complète.

    Après cette sauvegarde, apparaît une erreur HTTP 500 :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    oct. 16, 2012 11:17:25 PM org.apache.catalina.core.ApplicationDispatcher invoke
    Grave: "Servlet.service()" pour la servlet jsp a lancé une exception
    java.sql.SQLRecoverableException: Il n'y a plus de données à lire dans le socket
    	at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1200)
    	at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1155)
    	at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:279)
    	at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)
    	at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521)
    	at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:205)
    	at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:861)
    	at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1145)
    	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1267)
    	at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3449)
    	at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3493)
    	at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1491)
    	at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
    	at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
    	at org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.doEndTag(QueryTagSupport.java:224)
    	at org.apache.jsp.jsp.cadastre.consultation.fiche_005fparcelle.dico_005flut_005fdgi_jsp._jspx_meth_sql_005fquery_005f0(dico_005flut_005fdgi_jsp.java:175)
    	at org.apache.jsp.jsp.cadastre.consultation.fiche_005fparcelle.dico_005flut_005fdgi_jsp._jspx_meth_c_005fif_005f0(dico_005flut_005fdgi_jsp.java:135)
    	at org.apache.jsp.jsp.cadastre.consultation.fiche_005fparcelle.dico_005flut_005fdgi_jsp._jspService(dico_005flut_005fdgi_jsp.java:87)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
    	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
    	at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
    	at org.apache.jsp.jsp.cadastre.consultation.fiche_005fparcelle_jsp._jspService(fiche_005fparcelle_jsp.java:236)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at com.imagis.geowt.core.server.filter.XSLTFilter.doFilter(XSLTFilter.java:98)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at com.imagis.geowt.core.server.filter.GeoWTServiceResponseHeaderFilter.doFilter(GeoWTServiceResponseHeaderFilter.java:30)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877)
    	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:594)
    	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675)
    	at java.lang.Thread.run(Thread.java:722)
     
    oct. 16, 2012 11:17:25 PM org.apache.catalina.core.StandardWrapperValve invoke
    Grave: "Servlet.service()" pour la servlet jsp a généré une exception
    java.sql.SQLRecoverableException: Il n'y a plus de données à lire dans le socket
    	at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1200)
    	at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1155)
    	at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:279)
    	at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)
    	at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521)
    	at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:205)
    	at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:861)
    	at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1145)
    	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1267)
    	at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3449)
    	at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3493)
    	at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1491)
    	at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
    	at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
    	at org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.doEndTag(QueryTagSupport.java:224)
    	at org.apache.jsp.jsp.cadastre.consultation.fiche_005fparcelle.dico_005flut_005fdgi_jsp._jspx_meth_sql_005fquery_005f0(dico_005flut_005fdgi_jsp.java:175)
    	at org.apache.jsp.jsp.cadastre.consultation.fiche_005fparcelle.dico_005flut_005fdgi_jsp._jspx_meth_c_005fif_005f0(dico_005flut_005fdgi_jsp.java:135)
    	at org.apache.jsp.jsp.cadastre.consultation.fiche_005fparcelle.dico_005flut_005fdgi_jsp._jspService(dico_005flut_005fdgi_jsp.java:87)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
    	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
    	at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
    	at org.apache.jsp.jsp.cadastre.consultation.fiche_005fparcelle_jsp._jspService(fiche_005fparcelle_jsp.java:236)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at com.imagis.geowt.core.server.filter.XSLTFilter.doFilter(XSLTFilter.java:98)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at com.imagis.geowt.core.server.filter.GeoWTServiceResponseHeaderFilter.doFilter(GeoWTServiceResponseHeaderFilter.java:30)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877)
    	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:594)
    	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675)
    	at java.lang.Thread.run(Thread.java:722)
    D'où peut provenir cette erreur? Je commence à manquer d'idée après avoir tenter de changer la jvm et la librairie ojdbc6.

    Merci de votre aide.

    Guillaume.

    ps : pour info, sur le tomcat manager :

    Version de serveur : Apache Tomcat/6.0.35
    Version de la JVM :1.7.0_03-b05
    Fournisseur de la JVM : Oracle Corporation
    Nom d'OS : Windows Server 2008 R2
    Version d'OS : 6.1
    Architecture d'OS : amd64

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 241
    Points : 399
    Points
    399
    Par défaut
    Bonjour,

    ta JSP plante lors de l'exécution d'une requête vers le serveur.

    J'ai déjà vécu des situations où les connexions JDBC du pool n'étaient pas considérées comme invalides, et plantaient l'applicatif.

    Il te faut vérifier la configuration de déploiement de la DataSource:
    - valider la connexion ( paramètres validationQuery & validationQueryTimeout )
    - garantir la validité à l'acquisistion ( paramètre testOnBorrow )
    - éventuellement regarder du côté du paramètre testWhileIdle.

    Si on relève le nez du simple aspect technique, est-ce que ta database est fonctionnelle pendant la plage "restart + backup"? si non, il peut être préférable de travailler sur une plage d'indisponibilité de ton applicatif.

    Cordialement,
    S. Desbois

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Technicien SIG
    Inscrit en
    Février 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien SIG
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2005
    Messages : 6
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Pour ce qui est de la disponibilité de la base pendant le backup, elle l'est car :
    - une autre application se connecte au même moment sur la même base et fonctionne (et même d'autre jsp du même site fonctionne).
    - seul un restart de Tomcat refait fonctionner la connexion donc la connexion n'est pas cassé du au backup mais bien au stop.

    Pour contourner le problème, j'ai mis en place en planification de tache, un redémarrage de tomcat, une vingtaine de minutes après le stop pour être sûr que la base soit restart.

    Je vais maintenant investiguer avec tes informations :

    - valider la connexion ( paramètres validationQuery & validationQueryTimeout )
    - garantir la validité à l'acquisistion ( paramètre testOnBorrow )
    - éventuellement regarder du côté du paramètre testWhileIdle.
    Merci.

    Guillaume

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Technicien SIG
    Inscrit en
    Février 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien SIG
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2005
    Messages : 6
    Points : 9
    Points
    9
    Par défaut
    Merci de vos indices. A partir de ces dernier j'ai pu trouver ma solution : Perte connexion Tomcat/Oracle en prod suite à sauvegarde à froid.

    Ca marche ! Merci !

    Guillaume

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

Discussions similaires

  1. [MVC] Afficher un message personnalisé lors d'une erreur http 500
    Par andlio dans le forum Spring Web
    Réponses: 6
    Dernier message: 06/04/2012, 23h41
  2. Erreur HTTP 500
    Par nicolasferraris dans le forum ASP
    Réponses: 6
    Dernier message: 09/03/2007, 09h45
  3. erreur http 500 sur un servlet
    Par 2tsiris dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 04/05/2006, 09h08
  4. Erreur HTTP 500 Tomcat
    Par kobe dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 19/01/2006, 12h16
  5. [Tomcat] Erreur HTTP 500
    Par gandalf_le_blanc dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 23/08/2004, 15h26

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