【问题标题】:Spring Database Connection Configuration ProcessSpring数据库连接配置流程
【发布时间】:2014-08-26 11:43:35
【问题描述】:

对于你们中的一些人来说,这可能是一个非常简单的问题,尽管我需要帮助来理解在我的 Spring MVC 应用程序之间建立数据库连接的过程,该应用程序目前在 Glassfish 4 和 MySQL 上运行。这样做的步骤是什么?我在下面概述了我的想法,但是我仍然不清楚这个过程。

到目前为止,我已经在 Glassfish 4 管理面板中创建了一个 JDBC 连接池,并使用定义的参数成功连接; ping 返回成功。我现在是否需要创建一个 JNDI 数据源,因为我认为这是连接到数据库连接池所必需的?

如果到目前为止这是正确的步骤;接下来执行哪些步骤?我的假设是需要配置 web.xml 以便它链接到 JNDI 数据源?这是正确的吗?

我们将不胜感激。

[更新]

我已经弄清楚了这一切,现在一切都按预期进行。但是,在此过程中我遇到了一个暗示,我不太明白为什么连接不想在某一时刻起作用。

这是我在 web.xml 中遇到问题的配置:

<resource-ref> <res-ref-name>jdbc/application</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>

我在尝试从我的一张表中提取记录时收到所有类型的错误。错误消息大致如下:

"javax.servlet.jsp.JspException: 无法获取连接,DataSource 无效:“java.sql.SQLException:分配连接时出错。 原因:无法分配连接,因为: java.net.ConnectException:连接到服务器 localhost 时出错 端口 1527"

虽然我找到了解决方案,我将 &lt;mapped-name&gt; 元素包含在 web.xml 中的父 &lt;resource-ref&gt; 元素中

这是我应用更新后文件的样子:

<resource-ref> <res-ref-name>jdbc/application</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <mapped-name>jdbc/application</mapped-name> </resource-ref>

&lt;mapped-name&gt; 节点的作用是什么让我能够正确建立此连接?我的假设是找到并将其映射到正确的 JNDI 记录,尽管我认为此映射是由最初定义的 &lt;re-ref-name&gt; 元素执行的。

请指教,对此的解释将不胜感激。

【问题讨论】:

    标签: java mysql spring spring-mvc glassfish


    【解决方案1】:

    我现在需要创建 JNDI 数据源吗?

    这不是强制性的,但也是受欢迎的。您可以像访问对象一样访问您的数据库。 (jndi/YourDatasource)

    如果到目前为止这是正确的步骤;接下来执行哪些步骤?我的假设是需要配置 web.xml 以便它链接到 JNDI 数据源?这是正确的吗?

    在这种情况下,应用服务器可能会有所不同。 web.xml 是一种选择或 sun-resources.xml

    【讨论】:

      猜你喜欢
      • 2012-02-16
      • 1970-01-01
      • 2022-12-05
      • 2019-02-07
      • 2011-01-26
      • 1970-01-01
      • 2018-09-11
      • 1970-01-01
      • 2021-10-03
      相关资源
      最近更新 更多