A Kontextus és függőség beszúrás (CDI) 1.1 specifikáció implicit komponens feltérképezési módot vezetett be, ami viselkedés- és teljesítményváltozásokat eredményezett a Java Platform, Enterprise Edition (Java EE) 6 CDI 1.0 megvalósításhoz képest a WebSphere Application Server kiszolgálón. Egy implicit komponens bármilyen archívum lehet, amely komponens osztály(oka)t tartalmaz egy komponenst meghatározó annotációval vagy munkamenet komponensekkel.
Amikor áttér a Java EE 6 CDI 1.0 változatról a Java EE 7 CDI 1.1 vagy újabb változatra, az implicit komponens feltérképezés azt eredményezi, hogy a futási időben elemzett összes WAR és JAR fájl elemezve lesz, még akkor is, ha nem tartalmaznak egy beans.xml fájlt. Ez a keresés egy viselkedésváltozás a Java EE 6 CDI 1.0 változathoz képest, ahol egy hiányzó beans.xml fájl megakadályozta az alkalmazásban lévő archívumok keresését.
Ez a szabály megjelöli a következő komponenst meghatározó annotációkat és Enterprise JavaBeans (EJB) munkamenet komponenseket az összes WAR és JAR fájlban, amely nem tartalmaz egy beans.xml fájlt.
A bináris alkalmazáselemző megjelöli a @NormalScope
annotációval megjelölt annotáció osztályokat. Az Eclipse alapú
alkalmazás forráselemzőtől eltérően, nem észleli a normál hatókör típusú
annotációval megjelölt osztályokat. Lehetséges, hogy ezek az annotációk
az ezeket kifejezetten vagy implicit módon használó
beans.xml fájlok hatókörén kívül vannak
megjelölve.
Ezt a CDI viselkedésváltozást futási időben WAR vagy JAR szinten úgy tilthatja le, hogy hozzáad egy beans.xml fájlt egy none értékre beállított bean-discovery-mode elemmel, ahogy a következő példában látható.
|
Liberty kiszolgálón ezt a viselkedést úgy is letilthatja, hogy hozzáadja a következő tulajdonságot a server.xml fájlhoz.
|
A Java EE 7 CDI 1.2 megvalósítással kapcsolatos további információkért tekintse meg a következőt: Contexts and Dependency Injection 1.2 viselkedésváltozásai.