Weblogic сервер lib VS экземпляр libext - PullRequest
1 голос
/ 09 июня 2010

Я использую weblogic 10. Он предоставляет драйвер Oracle JDBC 10.2.0.2 (в сервере / lib на weblogic home).

На самом деле кто-то на работе давно установил драйвер 10.2.0.3 в качестве экземпляра.папка libext.

Но в процессе производства мы получили стек драйверов jdbc (nullpointer: O), и, судя по обратному проектированию, мы используем драйвер 10.2.0.2.

Мы знаем, что можем изменитьДрайвер в сервере / lib weblogic, но я хочу понять.

Разве libext не предназначен для переопределения библиотечных библиотек, таких как библиотеки META-INF, переопределяет libext?

Кстати, мы находимся вСтранная ситуация: - У нас есть 2 EAR, и для точно такой же обработки в этих 2, один из них когда-нибудь выкинет нулевой указатель драйвера оракула, а другой нет - мне интересно, если одно ухо не использует 10.2.0.2, а другое -используя 10.2.0.3 (я видел исправленную ошибку, которая могла соответствовать нашей проблеме для этой версии).- Мне нужно выглядеть лучше, но на первый взгляд оба уха используют один и тот же набор данных в weblogic JNDI ресурсах

Есть идеи?

Ответы [ 2 ]

1 голос
/ 09 июня 2010

Как указано в @duffymo и Oracle docs: http://download.oracle.com/docs/cd/E11035_01/wls100/jdbc_admin/third_party_drivers.html#wp1048361 расположение драйвера должно быть server / lib.

Можете ли вы запустить это из JSP на каждом EAR - это должно дать вам файл JAR, откуда загружен драйвер.

try {
  String candidate = "oracle.jdbc.driver.OracleDriver";
  Class clazz = Class.forName(candidate);
  java.security.ProtectionDomain dom = clazz.getProtectionDomain();
  java.security.CodeSource cs = dom.getCodeSource();
  java.net.URL url = cs.getLocation();
  out.println("<TITLE>" + candidate + "</TITLE></head><body>");
  out.println("Path for " + candidate + " = " + url.getFile());
} catch (Exception t) {
  t.printStackTrace(response.getWriter());
}
1 голос
/ 09 июня 2010

Никто не должен помещать что-либо в каталог lib / ext, особенно в JAR-файлы драйвера JDBC.Этот каталог для расширений библиотеки.Я бы немедленно удалил этот JAR из lib / ext.

Как вы говорите, если версия 10.2.0.3 является исправлением ошибки, правильное место для ее размещения будет server / lib, а не lib / ext.

Два EAR означает два отдельных сервера или два разных порта?Я не уверен, почему WebLogic выбрал один драйвер для другого для той же конфигурации.

...