díky všem za zaslané příspěvky. prozatím jsem šel cestou nejmenšího odporu a udělal to tedy tak, že v GlobalNamingResources server.xml jsem si vytvořil JDBC resource na na něj se pak odkazuji v context.xml. Ve web.xml pak už nemám žádný odkaz a funguje to. Tak nevím, jestli je to v tom web.xml nutné uvádět.
Martin Kuba <[EMAIL PROTECTED]> Odeslal: [EMAIL PROTECTED] 25.04.2008 15:17 Odpovězte prosím uživateli Java <[email protected]> Komu Java <[email protected]> Kopie Předmět Re: Testovací vs produkční databáze Od Tomcatu 6 dokonce už není nutné dělat JNDI vyhledávání, stačí do servletu dát import javax.sql.DataSource; import javax.annotation.Resource; public class NejakyServlet extends HttpServlet { @Resource(name="jdbc/moje") private DataSource pool; ... } a Tomcat to sám injektuje. Samozřejmě je pořád nutné mít ve WEB-INF/web.xml odkaz <resource-ref> <res-ref-name>jdbc/moje</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> a v META-INF/context.xml případně v $CATALINA_BASE/conf/Catalina/localhost/_aplikace_.xml spojení na databázi, např. <Context> <Resource name="jdbc/moje" auth="Container" type="javax.sql.DataSource" driverClassName="org.apache.derby.jdbc.ClientDriver" username="nekdo" password="heslo" url="jdbc:derby://localhost:1527/nejakadb" /> </Context> Makub Tomas Hubalek napsal(a): > Elegantni reseni (podle meho) je JNDI na data sourcy. V produkcnim mate datasource se stejnym jmenem jako na developmentu, ale jinymi konfiguracnimi udaji. > > Tom > >> -----Original Message----- >> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On >> Behalf Of Ing. Jan Novotný >> Sent: Friday, April 25, 2008 2:46 PM >> To: Java >> Subject: Re: Testovací vs produkční databáze >> >> Buď je možné buildovat odlišné artefakty pro různé stroje (např. přes >> profily v Mavenu) a nebo pokud byste chtěl mít stejný artefakt pro >> různé stroje je možné to dělat např. tak, že při inicializaci se budou >> nahrávat data z properties (nebo z XML, to už je jedno) souborů, >> obsahující konfiguraci pro různé stroje. Property soubory mohou být >> buď na disku nabo na classpath. Odlišení toho, že na testovacím >> prostředí se nahraje jeden property soubor s konfiguračními daty a na >> ostré jiný je možné zajistit buď odlišením přes parametr javy (při >> spouštění javy dodat na commandline např. -Dinstance=test a potom >> System.getProperty("test")) a nebo můžete jako odlišovací String >> použít název stroje, na kterém je aplikace spuštěná tímto kódem: >> >> InetAddress addr = InetAddress.getLocalHost(); >> String thisMachineName = addr.getHostName(); >> >> Doufám, že odpovídám na to, na co jste se ptal. Už párkrát se mi >> stalo, že jsem byl trochu "mimo" :-) >> >> S pozdravem, >> Honza Novotný >> >> 2008/4/25 Pavel Zelenka <[EMAIL PROTECTED]>: >>> Zdravím, >>> >>> vyvvíjím webovou aplikaci (JSF, JPA, Tomcat). Pro vývoj a testy >> potřebuji >>> používat testovací databázi. Po deploymentu na produkční server >> potřebuji, >>> aby aplikace používala již ostrou databázi. >>> Jak toto řešíte v praxi? >>> >>> Díky >>> >>> Pavel Zelenka >>> >> >> >> -- >> -------------------------------------------------------------- >> Ing. Jan Novotný >> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ >> http://blog.novoj.net >> Myšlenky dne otce Fura >> -------------------------------------------------------------- -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Supercomputing Center Brno Martin Kuba Institute of Computer Science email: [EMAIL PROTECTED] Masaryk University http://www.ics.muni.cz/~makub/ Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775 --------------------------------------------------------------
