У меня есть источник данных, который настроен на Tomcat 6 в Context.xml как MyDataSource. И я получаю это следующим образом:
DataSource dataSource;
try {
dataSource = (DataSource) new InitialContext().lookup("java:comp/env/MyDataSource");
} catch (NamingException e) {
throw new DaoConfigurationException(
"DataSource '" + url + "' is missing in JNDI.", e);
}
Все работает нормально. Теперь я экспортирую этот код в jboss ap 6. и я настроил мой источник данных и пул подключения в виде DataSource Local-Tx под тем же именем.
Когда я выполняю код выше, я получаю исключение NamingException. После некоторого расследования я нашел, что правильный способ назвать моим источником DataSource под jboss
dataSource = (DataSource) new InitialContext().lookup("java:/MyDataSource");
Может кто-нибудь может объяснить мне, почему я должен опускать «комп / env» в моем пути JNDI под JBOSS?