Ho passato troppo tempo della mia giornata cercando di capire alcuni errori durante l'aggancio di alcuni bean factory JNDI. Il problema si è rivelato che invece di questo ...Cosa fa java: comp/env/do?
<bean id="someId" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/loc"/>
</bean>
realtà avevo scritto questo ...
<bean id="someId" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/loc"/>
</bean>
deduco che il java: comp/env/forse fa riferimento a qualche variabile d'ambiente e fa in modo che, in definitiva, venga esaminato il mio file di contesto. L'unica differenza è java: comp/env /. Dalla bocca di un esperto, che cosa fa?
Senza il prefisso java: comp/env nel valore, otterrei un errore che diceva "Nome jdbc non è associato in questo contesto".
Quale hai usato inizialmente? La tua domanda implica che tu stavi usando erroneamente il secondo esempio ('jdbc/loc' e quindi' java: comp/env/jdbc/loc' è corretto), mentre la risposta di cherouvim implica che tu stavi usando in modo errato il primo esempio (' java: comp/env/jdbc/loc' e quindi 'jdbc/loc' è corretto). Indipendentemente da ciò, la vera risposta è: dipende dal ** corrente ** contesto. – BalusC
Quello che non funzionava mancava davvero java: comp/env/jdbc/loc, come implicito. Il file di contesto indicato includeva la risorsa "loc". Quali sono le possibilità per i contesti "attuali"? – Danny