Я просто потратил слишком много времени на свой день, пытаясь выяснить некоторые ошибки при подключении некоторых фабричных компонентов JNDI. Проблема оказалась в том, что вместо этого ...Что делает java: comp/env/do?
<bean id="someId" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/loc"/>
</bean>
На самом деле я написал это ...
<bean id="someId" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/loc"/>
</bean>
я делаю вывод, что Java: комп/ENV/возможно, ссылается на некоторую переменную окружения и делает так, что в конечном итоге мой контекстный файл рассматривается. Единственное отличие - java: comp/env /. Что из этого делает эксперт?
Без java: префикс comp/env в значении, я получаю сообщение об ошибке «Имя jdbc не связано в этом контексте».
Какой вы изначально использовать? Ваш вопрос подразумевает, что вы неправильно использовали второй пример ('jdbc/loc' и, следовательно,' java: comp/env/jdbc/loc' правильный), в то время как ответ cherouvim подразумевает, что вы неправильно использовали первый пример (' java: comp/env/jdbc/loc', и поэтому 'jdbc/loc' является правильным). Независимо, реальный ответ: он зависит от ** текущего ** контекста. – BalusC
Тот, который не работал, действительно отсутствовал java: comp/env/jdbc/loc, как подразумевалось. Указанный контекстный файл включал ресурс «loc». Каковы возможности для «текущих» контекстов? – Danny