Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    312

    Configurare il context.xml in tomcat 6

    Salve a tutti,
    ho un problema con il context di tomcat che non riesco a risolvere.
    Praticamente, se creo il context nella cartella META-INF (uso eclipse) tutto funziona correttamente. Se invece configuro quello di tomcat in catalinaHome/conf/context.xml ho questa eccezione: javax.naming.NameNotFoundException: Name XXXX is not bound in this Context. Riporto il file:
    <Context>


    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <Resource
    auth="Container"
    description="Oracle Database"
    name="jdbc/XXXX"
    user="user"
    password="password"
    driverClassName="oracle.jdbc.driver.OracleDriver"
    maxIdle="3"
    maxWait="3000"
    validationQuery="select sysdate from dual;"
    url="jdbcracle:thin:@urlorta:sid"
    maxActive="50"
    type="oracle.jdbc.pool.OracleDataSource"
    factory="oracle.jdbc.pool.OracleDataSourceFactory"
    removeAbandoned="true"
    removeAbandonedTimeout="5"
    logAbandoned="true"
    connectionCachingEnabled="true"
    connectionCacheName="dummy2"
    connectionCacheProperties="{MinLimit=1, MaxLimit=50, InitialLimit=1}"
    />
    Considerando che il file è identico sia se lo metto in locale sia su tomcat cosa c'è che non va?
    Devo obbligatoriamente configuralo su tomcat....forse devo configurare qualche altro file?

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    309
    Ciao,
    i data source li configuro nel server.xml del tomcat e non nel context. In questo modo sono visibili a tutte le web application del server. Viceversa se li inserisci nel context dell'applicazione, saranno disponibili solo per quest'ultima
    tomcat 6.016
    netbeans 6.1

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    312
    Scusami ma se lo configuro nella cartella tomcat/conf/context.xml a chi sono visibili? Cmq devo replicare una situazione già esistente ed è configurato li....come fare?

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    309
    sinceramente nel conf del tomcat non l'ho mai toccato, non saprei dirti.
    in produzione ho sia il tomcat 5 che il 6 ed entrambi hanno configurati i datasource in tomcat/conf/server.xml. Non so se potrebbe centrare l'uso di eclipse. Personalmente uso netbeans e se devo agire sul server ho a disposizione una parte generale e un'altra che può variare rispetto al profilo dell'utente che ha eseguito il login sul pc, e quindi devo configurare quest'ultima (il tomcat è integrato con l'editor).
    tomcat 6.016
    netbeans 6.1

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    312
    Io sapevo che va configurato nel conf/context, lo dice anche la guida ufficiale:

    http://tomcat.apache.org/tomcat-5.5-...g/context.html

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    309
    be in effeti hai ragione
    provo a dare un'occhiata anche io, tempo permettendo. Sono operazioni che ho fatto un pò di tempo fa e una volta appurato che funzionano le ho date per buone
    tomcat 6.016
    netbeans 6.1

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    309
    in effetti dice:
    For Tomcat 5, unlike Tomcat 4.x, it is NOT recommended to place <Context> elements directly in the server.xml file. This is because it makes modifying the Context configuration more invasive since the main conf/server.xml file cannot be reloaded without restarting Tomcat

    in pratica devi riavviare tutto il server.
    Forse il tuo problema è che devi editare il file xml in:
    conf\Catalina\localhost. Il file deve avere il nome della tua applicazione.
    tomcat 6.016
    netbeans 6.1

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    312
    Cosa e come devo editare? In quella directory ho soltanto 2 file:manager.xml e host_manager.xml

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    309
    il file dovrebbe crearsi da solo dopo che hai fatto il deploy dell'applicazione. hai messo il war sotto web apps? una volta che il server lo scompatta (se hai impostato l'autodeploy) dovrebbe crearti il file xml.
    dentro dovresti avere qualcosa del genere:
    codice:
    <?xml version="1.0" encoding="UTF-8"?>
    <Resource
    auth="Container" 
    description="Oracle Database"
    name="jdbc/XXXX" 
    user="user"
    password="password"
    driverClassName="oracle.jdbc.driver.OracleDriver" 
    maxIdle="3"
    maxWait="3000"
    validationQuery="select sysdate from dual;" 
    url="jdbc:oracle:thin:@url:porta:sid"
    maxActive="50"
    type="oracle.jdbc.pool.OracleDataSource"
    factory="oracle.jdbc.pool.OracleDataSourceFactory"
    removeAbandoned="true"
    removeAbandonedTimeout="5"
    logAbandoned="true"
    connectionCachingEnabled="true" 
    connectionCacheName="dummy2"
    connectionCacheProperties="{MinLimit=1, MaxLimit=50, InitialLimit=1}"
    />
    in pratica dovrebbe riportare cio che hai scritto nel context.xml della tua applicazione.
    Di solito lo crea lui. In alcuni casi (non ho capito la ragione) non lo fa. è capitato anche a me in passato e inizialmente mi ha fatto venire dei gran mal di testa.

    Spero sia la soluzione anche per te
    tomcat 6.016
    netbeans 6.1

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    312
    Colgo l'occasione per porti un'altra domanda ovviamente inerente.
    Se il context lo metto in meta-inf, funziona tutto correttamente anche se elimino dal web.xml il
    tag <resource-ref>. Invece se il context lo inizializzo in tomcat devo impostare la risorsa nel web.xml. Perchè questa differenza, a cosa è dovuta?
    In sostanza, quando c'è l'obbligo di mappare la risorsa nel web.xml?
    Il metodo per ottenere la connessione è sempre il solito, in entrambi i casi:

    InitialContext initContext = new InitialContext();
    Context envContext = (Context)initContext.lookup("java:/comp/env");
    .....

    la stringa java:/comp/env legge il context dell'applicazione impostato in tomcat o guarda prima il web.xml?

    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.