簡體   English   中英

無法在 Weblogic 上部署

[英]Impossible to deploy on Weblogic

我試圖在這些問題中應用所有解決方案:

Tomcat 與 Weblogic JNDI 查找

javax.naming.NameNotFoundException:試圖查找 jdbc

但他們沒有解決我的問題。 我正在使用 Maven 和 WebLogic。

在我的 web.xml 中,我使用了標簽“res-ref-name”。

非常感謝!

您已使用名稱“ jndi /ConsipGfrDS”注冊數據源,但使用“ jdbc /ConsipGfrDS”查找。 在這兩種情況下都使用一個(無論如何,但相同的)名稱。

我建議您在 JNDI 中使用名稱“ jdbc /ConsipGfrDS”,因為如果您在 JNDI 中有很多對象,那么將對象分類會更容易。

這是老式的 JNDI,這里有幾個問題。

您的web.xml已正確定義

<res-ref-name>jdbc/ConsipGfrDS</res-ref-name>

這些資源引用在 JNDI java:comp/env命名空間中定義名稱,也稱為 web 應用程序本地的組件環境命名空間。 這意味着 web 應用程序中數據源的完整 JNDI 名稱實際上是java:comp/env/jdbc/ConsipGfrDS ,因此您的查找代碼應該是:

@Bean
public DataSource dataSource() throws NamingException {
    Context ctx = new InitialContext();
    return (DataSource)ctx.lookup("java:comp/env/jdbc/ConsipGfrDS");
}

到目前為止,我們已經有了獨立於平台(即應用服務器)的代碼。 您已將平台相關部分正確推送到weblogic.xml文件中。

但是,這是您的第二個問題所在。 weblogic.xml包含一個小錯誤。 您提供的顯示 JDBC 數據源配置的 weblogic 控制台圖像顯示 JNDI 名稱為jdbc/ConsipGfrDS 因此,更新如下:

<?xml version="1.0" encoding="UTF-8" ?>
<weblogic-web-app
    xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://xmlns.oracle.com/weblogic/weblogic-web-app http://http://www.oracle.com/technology/weblogic/weblogic-web-app/1.1/weblogic-web-app.xsd">

    <resource-description>
        <!-- match jndi name in weblogic -->
        <jndi-name>jdbc/ConsipGfrDS</jndi-name>
        <!-- match res-ref-name name in web.xml -->
        <res-ref-name>jdbc/ConsipGfrDS</res-ref-name>
    </resource-description>

</weblogic-web-app>

玩得開心!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM