gpt4 book ai didi

java - 在 JBoss Standalone.xml 中定义数据源与以与容器无关的方式在 web.xml 中定义数据源

转载 作者:太空宇宙 更新时间:2023-11-04 11:55:50 25 4
gpt4 key购买 nike

我已经在 J​​Boss standalone.xml 中成功配置了 JDBC 数据源,但我还试图弄清楚是否可以以标准的、与容器无关的方式在 web.xml 本身中定义数据源,如 this answer建议。

但是,我在将 JBoss 的 standalone.xml 中的元素转换为我需要放入应用程序的 web.xml 中的元素时遇到了麻烦。

这是我的 JBoss standalone.xml 的摘录:

<datasource jta="false" jndi-name="java:/comp/env/jdbc/sybase/axafusers" pool-name="axafusers" enabled="true" use-ccm="false">
<connection-url>jdbc:jtds:sybase://localhost:12501/axafusers</connection-url>
<driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
<driver>sybasejtds</driver>
<security>
<user-name>username</user-name>
<password>secret</password>
</security>
<validation>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
</validation>
<statement>
<share-prepared-statements>false</share-prepared-statements>
</statement>
</datasource>

按上述方式在服务器中定义数据源是可行的。但是,在 web.xml 中定义数据源的方法失败了,如下所示。

这是我在 web.xml 中放置的内容:

<data-source>
<name>java:/comp/env/jdbc/sybase/axafusers</name>
<class-name>net.sourceforge.jtds.jdbcx.JtdsDataSource</class-name>
<server-name>localhost</server-name>
<port-number>12501</port-number>
<database-name>axafusers</database-name>
<user>username</user>
<password>secret</password>
<transactional>false</transactional>
</data-source>

尽管我尝试准确复制相应元素中的各种参数(最容易出错的部分似乎是翻译 connection-url),但我始终收到 无法创建连接 消息,这些消息最终是由以下原因引起的:

Caused by: java.net.ConnectException: Connection refused (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) [rt.jar:1.8.0_111] at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) [rt.jar:1.8.0_111] at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) [rt.jar:1.8.0_111] at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) [rt.jar:1.8.0_111] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) [rt.jar:1.8.0_111] at java.net.Socket.connect(Socket.java:589) [rt.jar:1.8.0_111] at net.sourceforge.jtds.jdbc.SharedSocket.createSocketForJDBC3(SharedSocket.java:288) [jtds-1.3.1.jar:1.3.1] at net.sourceforge.jtds.jdbc.SharedSocket.(SharedSocket.java:251) [jtds-1.3.1.jar:1.3.1] at net.sourceforge.jtds.jdbc.JtdsConnection.(JtdsConnection.java:331) [jtds-1.3.1.jar:1.3.1]

最佳答案

当您尝试连接的端口上没有监听服务时,通常会发生此异常。可能会发生以下几件事:

  • 您尚未启动服务器。
  • 您的服务器没有等待接受连接。
  • 您正在尝试连接到错误的端口号。

  • 客户端和服务器,其中一个或两个不在网络中。

  • 服务器未运行

  • 服务器正在运行,但未监听端口,客户端正在尝试连接。

  • 主机端口组合不允许使用防火墙

  • 连接字符串中的协议(protocol)不正确

关于java - 在 JBoss Standalone.xml 中定义数据源与以与容器无关的方式在 web.xml 中定义数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41403396/

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