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
--------------------------------------------------------------


Odpovedet emailem