簡體   English   中英

上下文查找Java上的javax.naming.NameNotFoundException

[英]javax.naming.NameNotFoundException on Context lookup Java

我正在使用Payara應用程序服務器,在該服務器上定義了一個連接池,以便在應用程序中查找它。 從應用程序服務器到數據庫的ping操作正常。

在我的domain.xml中,數據庫資源配置如下:

<jdbc-resource pool-name="MasterPool" jndi-name="jdbc/master"></jdbc-resource>
    <jdbc-connection-pool datasource-classname="org.apache.derby.jdbc.ClientDataSource40" name="MasterPool" res-type="javax.sql.DataSource">
      ...
    </jdbc-connection-pool>

上下文的設置是基於servlet的init方法。

public void init() throws ServletException {

        Context env = null;
        Hashtable ht = new Hashtable();
        ht.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.fscontext.RefFSContextFactory");
        try {
            env = new InitialContext(ht);
            pool = (DataSource) env.lookup("master");
            System.out.println("Data source found");
        }
        catch(NamingException ne) {
            throw new ServletException(ne);
        }


    }

您能否提供有關此消息的一些見解:

javax.servlet.ServletException: javax.naming.NameNotFoundException: master

我試圖在jdbc / master和java:/ comp / env / jdbc / master之后進行查找

問候,

確保在META-INF / context.xml中有以下行

<Resource auth="Container" 
      driverClassName="com.mysql.jdbc.Driver" 
         ......
      name="master" // this line is important      
        .......    
/>

暫無
暫無

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

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