【问题标题】:How to use JDBC Modules in a Java Web App using Weblogic如何使用 Weblogic 在 Java Web App 中使用 JDBC 模块
【发布时间】:2013-11-05 17:47:52
【问题描述】:

规格:

  • Netbeans 7.3
  • JDK 6
  • Java EE 5
  • JSF 2
  • 服务器:Weblogic 11g (10.3.6)

嗨,程序员。我正在我的 Web 应用程序中使用 JDBC 模块和描述符。起初,NetBeans 正在创建在服务器中注册数据库并部署它所需的数据源文件。但是当我想自己在服务器中部署 WAR 文件时,JDBC 连接不存在。它无法识别 JNDI。

我有一个名为“data-source-1-jdbc”的 XML,我从旧版本的项目中复制了它(NetBeans 不再创建文件,我不知道为什么)让 Weblogic 自动创建JDBC 数据源,但是我应该怎么做才能让 Weblogic 获取这个 jdbc 数据源并使用我的 [Java Web App] 部署它?

我刚刚阅读了这个教程:http://docs.oracle.com/cd/E15051_01/wls/docs103/jdbc_admin/packagedjdbc.html

有一个名为“模块”的标签可以满足我的要求。像这样:

<module>
<name> MyFile </name>
<path> {File Path} </path>
</module>

但这仅适用于 weblogic-application.xml,它是用于企业应用程序 (EAR) 而非 WAR 的文件。在我的 Java Web 中,我只有这些:

  • web.xml
  • weblogic.xml

我已经尝试在 weblogic.xml 中使用 &lt;module&gt; 标记,但它不起作用。

我想要的只是避免在服务器中手动创建连接,而是在部署应用程序时使用该 xml 作为配置文件。

那么,你是如何做到这一点的呢?

【问题讨论】:

  • 听起来一个简单的解决方法是将您的 .war 文件放在 .ear 中,这样您就可以访问 weblogic-application.xml 文件。如果你使用 Maven,你可以这样做:stackoverflow.com/questions/5167024/…
  • 是的,better_use_mkstemp!我刚刚回答了,现在我看到你已经说过了。无论如何...谢谢!

标签: java jakarta-ee jdbc weblogic


【解决方案1】:

好的,在我尝试了很多之后,我刚刚在 NetBeans 上看到了一个名为“使用现有资源创建企业应用程序”的选项,我选择 Web 应用程序作为“现有资源”,它使用 Web 创建了一个企业应用程序应用程序作为一个模块。

在那里,现在我有一个 EAR 而不仅仅是一个 WAR,我只是按照 Oracle 官方教程中的过程进行操作。完成。

【讨论】:

  • Java EE 5 不支持部署单个独立 WAR,因此无论如何您都需要一个 EAR 来部署您的应用程序。然后,遵循文档肯定会完成工作。
【解决方案2】:

您可以使用配置文件创建连接池。只需将配置文件放在 domain_dir/config/jdbc 并重新启动服务器,它将自动创建连接池。

//前

<?xml version="1.0" encoding="UTF-8"?>
<jdbc-data-source xmlns="http://xmlns.oracle.com/weblogic/jdbc-data-source">
<name>jdbc/karthick</name>
<jdbc-driver-params>
<url>jdbc:mysql://localhost:3306/karthick</url>
<driver-name>com.mysql.jdbc.Driver</driver-name>
<properties>
<property>
<name>user</name>
<value>mysql</value>
</property>
<property>
<name>password</name>
<value>mysql</value>
</property>
</properties>
</jdbc-driver-params>
<jdbc-data-source-params>
<jndi-name>jdbc/karthick</jndi-name>
</jdbc-data-source-params>
</jdbc-data-source>

使用 jndi(jdbc/karthick) 名称访问 db 连接。

【讨论】:

猜你喜欢
  • 2011-09-13
  • 2017-10-23
  • 2015-07-17
  • 2021-01-13
  • 1970-01-01
  • 2018-01-18
  • 1970-01-01
  • 2014-11-24
  • 1970-01-01
相关资源
最近更新 更多