Acabo de pasar demasiado tiempo tratando de descubrir algunos errores al conectar un bean de fábrica JNDI. El problema resultó ser que en lugar de esto ...¿Qué hace java: comp/env/do?
<bean id="someId" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/loc"/>
</bean>
De hecho, me había escrito esto ...
<bean id="someId" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/loc"/>
</bean>
deduzco que el java: comp/env/quizá hace referencia a alguna variable de entorno y lo hace para que, finalmente, mi archivo de contexto sea mirado. La única diferencia es java: comp/env /. Por la boca de un experto, ¿qué hace eso?
Sin el prefijo java: comp/env en el valor, me sale un error que dice "El nombre jdbc no está vinculado en este contexto".
¿Cuál usó inicialmente? Su pregunta implica que estaba usando incorrectamente el segundo ejemplo ('jdbc/loc' y por lo tanto' java: comp/env/jdbc/loc' es correcto), mientras que la respuesta de cherouvim implica que estaba usando incorrectamente el primer ejemplo (' java: comp/env/jdbc/loc' y por lo tanto 'jdbc/loc' es correcto). De todos modos, la respuesta real es: depende del contexto ** actual **. – BalusC
El que no funcionó realmente no tenía java: comp/env/jdbc/loc, como está implícito. El archivo de contexto que se señaló incluía el recurso "loc". ¿Cuáles son las posibilidades para los contextos "actuales"? – Danny