- Android alkalmazások - szoftver kibeszélő topik
- iPhone topik
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Lesz Xperia 10 VII, méghozzá újratervezett külsővel
- Sony Xperia 1 V - kizárólag igényeseknek
- One mobilszolgáltatások
- Google Pixel topik
- Telekom mobilszolgáltatások
- Poco X6 Pro - ötös alá
- Honor Magic5 Pro - kamerák bűvöletében
Ú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?:))
- HP 65W töltő eladó
- Gamer PC-Számítógép! Csere-Beszámítás! Ryzen 5 8400F / 32GB DDR5 / RX 7800XT 16Gb / 1TB SSD!
- Samsung Galaxy Tab A9+ 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- i5 11400f - RTX 3050 - 16GB Középkategóriás Gamer PC Garanciával!
- Gigabyte GA-P35-DS4 LGA 775 alaplap, + Quad Core Xeon E5420 proci
- GYÖNYÖRŰ iPhone 12 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3194, 94% Akkumulátor
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- Nintendo Switch Joy-Con pair kontrollerek
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Eladó szép állapotban levő Apple iPhone 8 Plus 64GB / 12 hó jótállással
Állásajánlatok
Cég: FOTC
Város: Budapest