Zdroj anotace v Servlety jsou pouze pracovat s Java 8, a ne s Java 11 na Tomcat 8 serveru

0

Otázka

Jsem vyvinul HTTP servlet, který implementuje MessageListener a připojí se k JMS-založené MQ systém pomocí javax.jms.ConnectionFactoy.

Připojení továrna je vstřikován do servlet přes Zdroj anotace.

@Resource(name = "jms/ConnectionFactory")
private ConnectionFactory connectionFactory;

Zdroj je definován v context.xml konfigurační soubor.

Co jsem zažil, je, že když jsem se zkompilovat pomocí Java servlet 11, javax.anotace.Ressource je jednoduše ignoroval, když jsem si ještě vyhledávání zdrojů založených na jeho jméno v souvislosti se přímo. Ale, když jsem se zkompilovat pomocí Java 8, zdroj je aplikován na komentovaný pole v servlet.

Může mi někdo vysvětlit tohle?

Dalším bodem je, že javax obor názvů je nahrazen jakarate, při přechodu z Java EE do Jakarta EE. Většina JMS knihovny jsou stále realizovány pomocí javax.jms.* rozhraní, jako ConnectionFactory, Fronty, atd.

Má někdo zkušenosti, jak kompatibilitu vypadá, nebo je reimplementace JMS libs nutné?

annotations java servlets tomcat8
2021-11-23 12:23:33
1

Nejlepší odpověď

0

tl;dr

Pro Java 11 nasazení, použití Tomcat 10.1.x, Jakarta EE balíček pojmenování, Servlet 6 API, a Jakarta Messaging 3.1 API.

Dřívější verze může běžet na Javě 11 taky, ale tato verze je postavena speciálně pro Java 11 jako minimální požadavek.

Tato kombinace bude pravděpodobně pracovat na Java 17, stejně jako Java 11. Java 17 je nejnovější Dlouhodobé Podpory (LTS) verze. Zatímco podpora není oficiálně vyžadováno v Jakartě EE, různé týmy se zdají být zaměřené na jejich nejnovější verze fungovat i na Java 17.

Použít Tomcat Verze 10.1 pro Java 11

Podle Apache Tomcat Verze, Verze 10.1 Tomcat podporuje Java 11, zatímco verze 9 a 10.0 jsou zaměřeny na Java 8.

Název balíčku

Budete muset změnit své import výpisy z javax.*balíček jakarta.*. Tato změna v balíčku pojmenování je vzhledem k přechodu z Oracle, Eclipse Foundation jako správci Jakarta EE technologie (dříve Java EE).

Servlet API

Přepnout na příslušnou verzi Servlet API, verze 6. Viz Servlet specifikace stránce.

Messaging API

Všimněte si, že JMS se stala Jakarta Zpráv. Budete muset upravit svůj import prohlášení a číslo verze odpovídajícím způsobem. Viz specifikace stránce.

Podobně, aktualizovat své Jakarta Zpráv provedení.

2021-11-23 17:47:04

Tomcat verze podporují "nějaké stabilní verzi prostředí Java, která splňuje požadavky ". To znamená, že OP může bezpečně používat Tomcat 9 s Java 11 až do jeho oblíbené JMS implementace přepne na JMS 3.0.
Piotr P. Karwasz

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................