Új hozzászólás Aktív témák
-
Szmeby
tag
Szoktatok több wart közös jvm-ben futtatni?
Én most egy embedded jettyvel küzdök. Adott néhány war, egy jettyben, de külön contextHandlerben. Látszik, hogy mindegyik war kap saját classloadert, még jó is lenne, ha ezek nem akadnának össze úton útfélen.
A probléma gyökere, hogy a resteasy egy uri feloldásakor a javax.ws.rs.core.UriBuilder-t használja (pontosabban annak egy resteasy-féle leszármazottját), az pedig a (szintén resteasy-féle) javax.ws.rs.ext.RuntimeDelegate kvázi-singletonhoz. Itt borul a bili, mivel a webapp1 már létrehozta ezt a singletont a saját classloaderével. Lazy init, hurrá!
public UriBuilder createUriBuilder() {
return new ResteasyUriBuilder();
}Érdekes, hogy amikor ráhívunk ennek a példánynak a createUriBuilder() metódusára, akkor az a webapp1 classloaderével betöltött objektumot gyártja le, függetlenül attól, hogy a metódus hívásakor a webapp2 környezetében járunk, a currentThread contextClassLoadere is a webapp2 classloaderére mutat.
Nem volt még alkalmam megismerkedni a classloaderek világával, valakinek van ebben tapasztalata? Hogyan is kellene - illene - több wart futtatni 1 embedded jetty alól?
Meg egyáltalán... nem a thread contextclassloaderét kellene használnia egy objektum legyártásakor? Vagy ilyenkor a legyártást végző osztály classloaderét örökli az új objektum? Ezekszerint az utóbbi.És persze a problémát az okozza, hogy a visszakapott UriBuilder objektumot ez a szerencsétlen castolná önmagára... vagyis majdnem, hiszen az cast során már képes a webapp2 által betöltött típust használni.

Eredmény: ClassCastException
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Cyberpunk 2077
- Milyen légkondit a lakásba?
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Garancia kérdés, fogyasztóvédelem
- Honor Magic6 Pro - kör közepén számok
- Gumi és felni topik
- Kerékpárosok, bringások ide!
- Alaposan helyretette az AI ellenzőit az NVIDIA vezetője
- PlayStation 5
- További aktív témák...
- Apple iPhone 14 Pro 256GB (Csak Esim), Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 15 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- iPhone 13 Mini 256GB Midnight Független A2628 92% Akku
- iPad Pro 12,9" 4.gen Wifi+Cellular 128GB A2232 Space Grey + Pen + Magic Keyboard (HU)
- HP LaserJet Pro 400 M425dn
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest


