gpt4 book ai didi

java - 如何映射 Java Web 服务的数据源

转载 作者:行者123 更新时间:2023-12-01 05:59:55 26 4
gpt4 key购买 nike

我正在尝试弄清楚如何将数据源用于我的网络服务。我在 jboss 4.2.3 服务器上部署了 oracle-ds.xml,并且数据源显示为绑定(bind)到 JNDI 名称 java:TestDS、java:WeatherDS 等。

我尝试执行initialcontext.lookup,但找不到它。我尝试引用 web.xml 中的资源,但得到“java:WeatherDS 没有有效的 JNDI 绑定(bind)”...我尝试引用“java:/WeatherDS”、“WeatherDS”、“java:WeatherDS”、“jdbc/WeatherDS”和其他一些,但我认为我需要以某种方式将引用名称映射到 jndi 名称。

我发现了一段代码,上面写着:

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

但是,它没有说明该文件在哪里以及还需要什么。我不知道我是否需要资源引用。任何人都可以向我指出一些更完整的信息,说明如何在部署代码后从代码访问数据源吗?我正在尝试将连接集中到我的网络服务中。

最佳答案

在 JBoss-4.2.3 中,您可以在文件夹 [JBOSS_HOME]/server/[MYSERVER]/deploy/ 中的 XML 文件中定义数据源

在此文件夹中创建一个文件,名称为:mydatasource-ds.xml

XML 文件内容:

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

可以通过正常的 JNDI 查找从部署在同一 JBoss 中的每个应用程序访问这些数据源。

重要提示:在代码中的 jndi 名称中使用前缀 java:/。您的应用程序中上述数据源的完整 JNDI 名称为 java:/mydatasource

关于java - 如何映射 Java Web 服务的数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1138618/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com