Je viens de passer trop de temps de ma journée à essayer de comprendre quelques erreurs lors de l'accrochage d'un bean factory JNDI. Le problème est avéré qu'au lieu de cette ...Qu'est-ce que java: comp/env/do?
<bean id="someId" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/loc"/>
</bean>
j'avais écrit ce fait ...
<bean id="someId" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/loc"/>
</bean>
Je déduis que le java: comp/env/peut-être fait référence à une variable d'environnement et fait en sorte que, finalement, mon fichier de contexte est regardé. La seule différence est java: comp/env /. De la bouche d'un expert, qu'est-ce que ça fait?
Sans le préfixe java: comp/env dans la valeur, j'obtiendrais une erreur indiquant que "Name jdbc n'est pas lié dans ce contexte".
Lequel avez-vous initialement utilisé? Votre question implique que vous utilisiez incorrectement le second exemple ('jdbc/loc' et donc' java: comp/env/jdbc/loc' est correct), alors que la réponse de cherouvim implique que vous utilisiez incorrectement le premier exemple (' java: comp/env/jdbc/loc' et donc 'jdbc/loc' est correct). Quoi qu'il en soit, la vraie réponse est: cela dépend du contexte ** actuel **. – BalusC
Celui qui ne fonctionnait pas manquait en effet java: comp/env/jdbc/loc, comme implicite. Le fichier de contexte qui a été pointé à inclus la ressource "loc". Quelles sont les possibilités pour les contextes «actuels»? – Danny