У меня установлена следующая среда:
- Java 1.5
- Сервер приложений Sun 8.2
- Oracle 10 XE
- Struts 2
- Hibernate
Мне интересно узнать, как я могу написать код для Java-клиента (т.е. вне веб-приложения), который может ссылаться на источник данных JNDI, предоставляемый сервером приложений.
Порты для Sun Application Server все по умолчанию. В конфигурации сервера есть источник данных JNDI с именем jdbc/xxxx, но я заметил, что в конфигурации Hibernate для веб-приложения вместо этого используется имя java: comp/env/jdbc/xxxx.
Большинство примеров, которые я видел до сих пор, включают в себя код типа
Context ctx = new InitialContext();
ctx.lookup("jdbc/xxxx");
Но похоже, что я использую неправильное имя JNDI, или мне нужно настроить jndi.properties или другой файл конфигурации, чтобы правильно указать на прослушиватель? У меня есть appserv-rt.jar с Sun Application Server, в котором есть jndi.properties внутри него, но он, похоже, не помогает.
Здесь есть аналогичный вопрос, но он не дает никакого кода/означает, что iBatis автоматически получает источник данных JNDI: Доступ к источнику данных из внешнего веб-контейнера (через JNDI)