Ошибка при поиске имени источника данных при развертывании httpServlet на сервере weblogic 12 - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь развернуть файл ear на сервере Weblogic 12. Файл ear содержит HttpServlet. Во время развертывания HttpServlet пытается инициализироваться и завершается с ошибкой:

Целевое состояние: сбой развертывания на кластере javax.naming.NameNotFoundException: при попытке поиска "JDBC. не нашел подконтекст 'jdbc'. Постановили '' в weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException (BasicNamingNode.java:1180)

Я протестировал соединение с источником данных на серверах weblogic, и оно прошло успешно.

Источник данных определен в файле свойств, к которому осуществляется доступ, поскольку имя источника данных является правильным. URL-адрес веб-сервера также правильный.

Это метод init ():

public void init(ServletConfig config) throws ServletException
  {
    super.init(config);
    Context jndiContext = null;
    Hashtable ht = new Hashtable();
    try
    {
        PropertyManager.getInstance(PROPS_FILE);
        PropertyManager.getInstance();

        ht.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
        ht.put(Context.PROVIDER_URL, PropertyManager.getProperty("WL_WEBSERVER_URL"));
        jndiContext = new InitialContext(ht);
        ds = (javax.sql.DataSource) jndiContext.lookup(PropertyManager.getProperty("SEC_DATASOURCE"));
    }
}

Я не понимаю, почему он не распознает подконтекст jdbc. Я пытался удалить jdbc. Но ошибка - это NameNotFoundException без jdbc.

UPDATE Я попытался изменить имя источника данных на java:jdbc/scantDS. Я получил другое исключение NameNotFoundException:

". Javax.naming.NameNotFoundException: Пока пытается найти / jdbc / scantDS в / app / webapp / Load / 421643657 .; оставшееся имя '/ jdbc / scantDS' в weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException (BasicNamingNode.java:1180)

1 Ответ

0 голосов
/ 01 ноября 2018

Проблема заключалась в том, что я пытался развернуть, используя неправильный номер порта. Я использовал номер порта, который использовалось консольным приложением, и мне нужен был определенный порт с JNDI.

...