0
votes

NullpointerException dans l'application Java / MySQL

Je construis une application de film d'évaluation de film et chaque fois que je clique sur le lien "Catégories", qui est censé accéder à la base de données et afficher les catégories et la liste des films disponibles, je reçois un message d'erreur:

<Resource 
          auth="Container" 
          driverClassName="com.mysql.jdbc.Driver" 
          logAbandoned="true" 
          maxActive="100" maxIdle="30" maxWait="10000" 
          name="jdbc/MovieThoughts"  removeAbandoned="true" 
          removeAbandonedTimeout="60" type="javax.sql.DataSource" 
          url="jdbc:mysql://localhost:3306/root" 
          username="MovieThoughts" password=[my_password] />


1 commentaires

Vous devriez utiliser des ressources en essayant de toute façon.


3 Réponses :


-1
votes

Difficile à raconter habituellement, j'ai eu cet Erreur si j'ai tort à tort de mot de passe

Avez-vous essayé d'une autre manière que d'utiliser le pool de connexion en utilisant directement la DataSource. Peut-être que quelque chose à tort configure avec le pool de connexion. P>

Context initCtx = new InitialContext();
Context ctx = (Context) initCtx.lookup("java:comp/env");

DataSource ds = (DataSource) ctx.lookup("jdbc/MovieThoughts");

Connection conn = ds.getConnection(); 


0 commentaires

1
votes

En le regardant, je dirais piscine.geconnection () retour null et qui provoque une NPE à Connection.Preparation (requête) , qui est avalé lorsque le bloc enfin jette sa propre NPE.

En général, vous devriez essayer d'écrire votre enfin des blocs de manière à ne pas lancer d'exceptions, à la fois en raison de la déglutition ci-dessus et, si une exception se produit une partie du enfin < / code> le code peut être ignoré.

par exemple. Dans votre code si dbutil.closeresulset (RS) lancers (ce qui pourrait très bien être impossible, en fonction de la mise en œuvre de dbutil est implémentée), les deux étages suivants seront ignorés, éventuellement entraînant une fuite d'une connexion.

Depuis Java 7 (IIRC), le moyen préféré de traiter tout cela est la construction de ressources essais (voir https://docs.oracle.com/javase/tatutorial/essential/Exception/tryResourceclose.html ), qui traite essentiellement de la chaudière pour vous.


0 commentaires

-1
votes

Essayez Désactiver Maxactive = "100" Maxidle = "30" maxwait = "10000"


0 commentaires