2009-07-16 14 views
1

J'essaie de comprendre comment utiliser les sources de données pour mon service Web. J'ai le fichier oracle-ds.xml déployé sur mon serveur jboss 4.2.3, et les sources de données sont montrées comme étant limitées aux noms JNDI java: TestDS, java: WeatherDS, etc.Comment mapper une source de données pour un service Web Java

J'essaie de faire une initialcontext.lookup mais je Je ne peux pas le trouver. J'ai essayé de référencer la ressource dans le fichier web.xml mais j'ai "java: WeatherDS n'a pas de liaison JNDI valide" ... J'ai essayé de référencer "java:/WeatherDS", "WeatherDS", "java: WeatherDS", "jdbc/WeatherDS "et quelques autres, mais je pense que je dois en quelque sorte mapper le nom de référence au nom jndi.

J'ai trouvé un bout de code qui dit:

... 
<resource-ref> 
    <res-ref-name>jdbc/DefaultDS</res-ref-name> 
    <jndi-name>java:/DefaultDS</jndi-name> 
</resource-ref> 
... 

Mais, il ne dit pas où ce fichier est et quoi d'autre est nécessaire. Je ne sais pas si j'ai besoin d'une référence de ressource à coup sûr ou non. Quelqu'un peut-il me diriger vers des informations plus complètes sur la façon d'accéder à la source de données à partir du code une fois qu'il a été déployé? J'essaie de faire en sorte que les connexions soient regroupées pour mon service Web.

+0

La recherche JNDI est le chemin. Pouvez-vous confirmer dans vos journaux de démarrage que la source de données se déploie réellement? – Yishai

+0

Je reçois ce qui suit lors du démarrage du serveur, je n'ai simplement pas pu le référencer =====> 11: 33: 55,364 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca: service = DataSourceBinding, nom = WeatherDS' au nom JNDI 'java: WeatherDS' J'ai essayé d'ajouter le dans un fichier jboss-web.xml mais je ne peux toujours pas rechercher la source de données. – ravun

Répondre

0

Dans JBoss-4.2.3 vous définissez une source de données dans un fichier XML dans le dossier [JBOSS_HOME]/server/[MYSERVER]/deploy/

Créez un fichier dans ce dossier avec le nom: mydatasource -ds.xml.

contenu XML-fichier:

<datasources> 
    <local-tx-datasource> 
    <jndi-name>mydatasource</jndi-name> 
    <!-- Properties for SQLServer --> 
    <connection-url>jdbc:jtds:sqlserver://hostname:1433/db-name;TDS=8.0;lastUpdateCount=true;sendStringParametersAsUnicode=false</connection-url> 
    <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class> 
    <!-- Properties for SQLServer end --> 
    <user-name>name</user-name> 
    <password>pwd</password> 
    <min-pool-size>5</min-pool-size> 
    <max-pool-size>50</max-pool-size> 
    <idle-timeout-minutes>15</idle-timeout-minutes> 
    <blocking-timeout-millis>15000</blocking-timeout-millis> 
    </local-tx-datasource> 
</datasources> 

Pour accéder à ces datasource de toutes les applications déployées dans le même JBoss par recherche JNDI normale. IMPORTANT: Utilisez le préfixe java:/ dans le nom jndi de votre code. Nom complet JNDI dans votre application pour la source de données ci-dessus est java:/mydatasource