Это была моя первая попытка Spring с JNDI, но при попытке создать ApplicationContext, например:
ApplicationContext context = new ClassPathXmlApplicationContext("master-job.xml");
файл конфигурации Spring выглядит следующим образом:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="/jdbc/Eqpstatus"/>
<property name="resourceRef" value="true" />
</bean>
<bean id="masterDao" class="com.dao.MasterDao">
<property name="dataSource" ref="dataSource"/>
</bean>
На сервере у меня есть требуемая запись ресурса для имени JNDI.
<Resource auth="Container" driverClassName="oracle.jdbc.OracleDriver"
maxActive="10" maxIdle="2" maxWait="10000" name="jdbc/Eqpstatus"
password="xxxx" type="javax.sql.DataSource"
url="jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=TCP)(HOST=xxxx) (PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=xxxx) (PORT=1521))(CONNECT_DATA=(SERVICE_NAME=xyz)))"
username="xxx"/>
Я вижу ошибку:
javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
Буду очень признателен за любые материалы по этому вопросу, поскольку я новичок в интеграции Spring-JNDI.