Podobný Čo do jta-data-source of persistence.xml? a Ako mapovať zdroje údajov JPEG vo WildFly?
Žiadam však niečo, čo by bolopracovať na všetkých predajcoch alebo aspoň na divočine WildFly, Glassfish / Payara, WebSphere Application Server classic, WebSphere Application Server Liberty, TomEE. Nehľadám niečo, čo by fungovalo pri teste Java SE Unit.
Zatiaľ som to zistil java:comp/env/jdbc/xxx
funguje na serveroch WebSphere Application Server a TomEE. Je to mapovacie cvičenie (ktoré sa očakáva), aby to fungovalo, ale nemôžem dostať to isté, aby som pracoval na GlassFish / Payara a JBoss / WildFly.
Konkrétne nechcem používať predvolený zdroj údajov, pretože pre môj scenár v skutočnosti pracujem na dvoch rôznych zdrojoch údajov. Napr. pre referenčné údaje a ďalšie pre transakčné.
odpovede:
0 pre odpoveď č. 1Ak sú všetky aplikačné servery, s ktorými pracujete, kompatibilné s Java EE 7, môžete použiť predvolený zdroj údajov, ktorý sa vyžaduje podľa špecifikácie EE7, aby bol k dispozícii na adrese:
java:comp/DefaultDataSource
Aplikačný server, na ktorom pracujete, by vám mal umožniť prispôsobiť konfiguráciu zdroja DefaultDataSource.
Keďže som oboznámený s produktom WebSphere Liberty, môžem vás v tomto dokumente upozorniť na predvolené zdroje údajov v službe Liberty:
Konfigurácia predvoleného zdroja údajov
Ak používate WebSphere traditional, od verzie v9.0 podporuje Javu EE 7 a má k dispozícii predvolený zdroj údajov z poľa (pod špecifikovaným názvom JNDI).
0 pre odpoveď č. 2
Ak chcete použiť rovnaký názov JNDI, ktorý funguje na všetkých serveroch, je najlepšie použiť odkazy na zdroje, ako je vysvetlené v Na čo sa v web.xml používa refinančné zdroje?
V podstate by ste definovali ľubovoľný názov JNDI (ideálne bez neho) java:comp
predpona alebo podobné, len niečo podobné„myDatasource“) a potom ich namapujte na konkrétny názov JNDI poskytovaný cieľovým serverom. Museli by ste definovať deskriptor špecifický pre server pre každý server s mapovaním, ak server nemôže priamo použiť JNDI (napr. glassfish-web. xml pre GlassFish / Payara, jboss-web.xml pre WildFly, ibm-web-bnd.xml pre WebSphere Classic a Liberty). Zdá sa, že TomEE podporuje odkazy bez akejkoľvek predpony, takže by mal byť schopný nakonfigurovať zdroj údajov bez dodatočného mapovania, ak vyberiete meno bez predpony.