ciao a tutti, ho un problema che mi sta facendo diventar matto, praticamente ho settato 2 jndi 1 per accedere ad un db e l'altra per accedere ad un file di properties in modo da poter gestire alcuni parametri esternamente all'applicazione, la jndi jdbc viene letta correttamente, invece la jndi del file di properties mi va in errore.
innanzi tutto vi spiego la mia configurazione, ho un server tomcat 5.5, struts 1.3, winxp, eclipse helios sp1.
poi nel web.xml ho queste righe di codice
codice:
<resource-ref id="ResourceRef1">
<res-ref-name>jdbc/DB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
<resource-ref id="ResourceRef3">
<description>file Properties</description>
<res-ref-name>url/fileprop</res-ref-name>
<res-type>java.net.URL</res-type>
<res-auth>Container</res-auth>
</resource-ref>
invece nel context.xml del server ho queste righe
codice:
<Resource name="jdbc/DB" auth="Container"
type="javax.sql.DataSource" username="user"
password="pass" driverClassName="com.ibm.db2.jcc.DB2Driver"
url="jdbc:db2://192.xxx.xxx.xxx:50000/DBName"/>
<Resource name="url/fileprop" auth="Container"
type="java.net.URL"
url="C:\deploy\file.properties"/>
e infine per richiamare le jndi uso queste istruzioni
codice:
Context initial = new InitialContext();
Context env = (Context) initial.lookup("java:comp/env");
javax.sql.DataSource data = (javax.sql.DataSource)PortableRemoteObject.narrow(
env.lookup("jdbc/DB"),javax.sql.DataSource.class);
URL prop = (URL) PortableRemoteObject.narrow(
env.lookup("url/fileprop"), URL.class);
quando richiamo la connessione db va tutto bene, il db viene letto e scritto.
quando chiamo il file di properties mi ritorna questo errore
codice:
javax.naming.NamingException: Cannot create resource instance
at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:143)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
at org.apache.naming.NamingContext.lookup(NamingContext.java:793)
at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
non riesco a capire il motivo, ho spulciato su google, ma ritrovo solo problemi relativi al jdbc, e nessun riferimento ai file di properties.
Qualcuno sa aiutarmi??