Версия Simple-JNDI, на которую ссылается klenkes74, больше не находится в активной разработке. Поскольку я столкнулся с некоторыми проблемами, я разобрал это, сделал несколько исправлений ошибок и реализовал некоторые новые функции. Я уже использовал старую версию не только для тестирования, но и в производстве, потому что я предпочитаю шаблон Service Locator вместо Dependency Injection, хотя последняя в настоящее время более модна.
Вы можете легко использовать Simple-JNDI для декларативного определения источника данных или пула соединений и привязки его к контексту JNDI.
Определите файл jndi.properties в вашем пути к классам:
java.naming.factory.initial=org.osjava.sj.SimpleContextFactory
org.osjava.sj.root=[absolute_or_relative_path_to_a_property_file]
Файл свойств выглядит так:
type=javax.sql.DataSource
driver=org.gjt.mm.mysql.Driver
url=jdbc:mysql://localhost/testdb
user=testuser
password=testing
Теперь вы можете получить доступ к своему источнику данных из своего кода следующим образом:
InitialContext ctxt = new InitialContext();
DataSource ds = (DataSource) ctxt.lookup("name_of_your_datasource");
Для получения дополнительной информации см. https://github.com/h-thurow/Simple-JNDI