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 testypotřebujipoužívat testovací databázi. Po deploymentu na produkční serverpotř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 --------------------------------------------------------------
smime.p7s
Description: S/MIME Cryptographic Signature
