7
votes

Impossible d'obtenir la connexion DB à l'aide de Jndi DataSource sur JBoss

J'étudie comment construire Java WebApps pour JBossas 5.1.0 et j'essaie de construire une application Web JSP très basique sur JBossas5 à l'aide d'une source de données JNDI pour l'accès aux données.

Lorsque vous essayez d'ouvrir une connexion, je reçois cette exception: P>

<datasources>
   <local-tx-datasource>
      <jndi-name>hedgehogDB</jndi-name>
      <connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}hedgehogDB</connection-url>
      <driver-class>org.hsqldb.jdbcDriver</driver-class>
      <user-name>sa</user-name>
      <password></password>
      <min-pool-size>5</min-pool-size>
      <max-pool-size>20</max-pool-size>
      <idle-timeout-minutes>0</idle-timeout-minutes>
      <track-statements/>
      <security-domain>HsqlDbRealm</security-domain>
      <prepared-statement-cache-size>32</prepared-statement-cache-size>
      <metadata>
         <type-mapping>Hypersonic SQL</type-mapping>
      </metadata>
      <depends>jboss:service=Hypersonic,database=hedgehogDB</depends>
   </local-tx-datasource>

   <mbean code="org.jboss.jdbc.HypersonicDatabase"
     name="jboss:service=Hypersonic,database=hedgehogDB">
     <attribute name="Database">hedgehogDB</attribute>
     <attribute name="InProcessMode">true</attribute>
   </mbean>

</datasources>


0 commentaires

3 Réponses :


0
votes

En regardant votre code, il semble que vous obtenez correctement la source de données - sinon ce serait null. Donc, le problème se produit lorsque vous essayez d'obtenir la connexion.

En regardant le HSQLDB DOCS , il semble que votre URL a besoin d'un composant "fichier": xxx

et, en tant que commentaire de codage général, (1) Utilisez un package de journalisation standard plutôt que d'une maison à la maison " Journal "Méthode et (2) Lors de la journalisation d'une exception, utilisez l'appel de l'enregistreur (prise en charge par la journalisation de Log4j et des Commons, probablement d'autres) qui prend une exception en tant que paramètre (afin que vous obtenez la trace de la pile complète).


1 commentaires

Fichier - impair, aucun des exemples que j'ai vus d'utiliser, il peut être nécessaire pour le style de connexion JDBC DriverManager, changeant de plus d'exceptions.



0
votes

le figuré:

Le coupable était celui-ci dans hérissonhogdb-ds.xml: xxx

hsqldbrealm a été configuré pour une DS différente et faisait échouer la connexion. .


0 commentaires

1
votes

Il est également possible d'utiliser en -ds.xml Au lieu de , au bail dans JBoss6


0 commentaires