2009-07-16 19 views
1

Ich versuche herauszufinden, wie Sie Datenquellen für meinen Webdienst verwenden. Ich habe die Oracle-ds.xml auf meinem jboss 4.2.3 Server bereitgestellt, und die Datenquellen werden als JNDI-Namen angezeigt java: TestDS, Java: WeatherDS, etc.So ordnen Sie eine Datenquelle für einen Java-Webdienst zu

Ich versuche, ein initialcontext.lookup aber ich kann es nicht finden. Ich habe versucht, die Ressource in der web.xml zu referenzieren, aber ich bekomme "java: WeatherDS hat keine gültige JNDI-Bindung" ... Ich habe versucht, "java:/WeatherDS", "WeatherDS", "java: WeatherDS", "jdbc/WeatherDS "und einige andere, aber ich denke, ich muss den Referenznamen irgendwie dem JNDI-Namen zuordnen.

fand ich einen Code-Snippet, das sagt:

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

Aber es sagt nicht, wo diese Datei ist und was sonst noch benötigt wird. Ich weiß nicht, ob ich eine Bezugsquelle brauche oder nicht. Kann mir jemand auf die vollständigere Information hindeuten, wie ich nach dem Deployment aus dem Code auf die Datenquelle zugreifen kann? Ich versuche es so zu machen, dass die Verbindungen für meinen Webservice zusammengefasst werden.

+0

JNDI-Lookup ist der Weg. Können Sie in Ihren Startprotokollen bestätigen, dass die Datenquelle tatsächlich bereitgestellt wird? – Yishai

+0

Ich bekomme Folgendes beim Starten des Servers, ich konnte es nur nicht verweisen =====> 11: 33: 55,364 INFO [ConnectionFactoryBindingService] gebunden ConnectionManager 'jboss.jca: service = DataSourceBinding, name = WeatherDS' zu JNDI Name 'java: WeatherDS' Ich habe versucht, die in eine jboss-web.xml Datei hinzuzufügen, aber ich kann immer noch nicht die Datenquelle nachschlagen. – ravun

Antwort

0

In JBoss-4.2.3 definieren Sie eine Datenquelle in einer XML-Datei in Ordner [JBOSS_HOME]/server/[MYSERVER]//

erstellen in diesem Ordner mit dem Namen einer Datei bereitstellen: MyDatasource -ds.xml.

XML-Datei Inhalt:

<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> 

Um diese Datenquelle aus jeder Anwendung im gleichen JBoss durch normale JNDI-Suche eingesetzt zugreifen kann.

WICHTIG: Verwenden Sie das Präfix java:/ im JNDI-Namen in Ihrem Code. Der vollständige JNDI-Name in Ihrer Anwendung für die obige Datenquelle lautet java:/mydatasource

Verwandte Themen