Korzystanie z Wildfly 8.2.0.Final, Windows 7, JBoss Developer Studio 8.0.2.GA.Gorące rozmieszczanie zasobów w bibliotekach wojennych
Staramy się podzielić naszą wojnę na moduły. Wydaje się, że najbardziej naturalnym sposobem na to jest poleganie na fragmentach sieciowych + zdolność JSF/Facelet do znajdowania zasobów w słojach wojny/WEB-INF/lib.
Problem polega na tym, że zmiany w szablonach znaczników Xhtml i statycznych zasobach nie mają zastosowania w locie, jak to się dzieje, gdy te same rzeczy znajdują się w samej wojnie.
Jak rozumiem to, ponieważ:
- fragment słoiki są coraz wdrożony przez IDE zapakowane, nie eksplodowała;
- VFS tworzy kopie słoików w katalogu tmp, który następnie rozpakowuje;
VFS3 User Guide mówi "Gdy tylko jest to możliwe, JavaZipFileSystem próbuje użyć JarEntry do obsługi operacji w systemie plików, a gdy to nie jest możliwe, zapisuje kopię JarEntry w katalogu tymczasowym". Nie rozumiem, co oznacza "kiedy nie jest to możliwe" i przechodzenie przez kodorg.wildfly.extension.undertow.deployment.WarStructureDeploymentProcessor
wydaje się, że zawsze wykonywana jest kopia słoika. - org.jboss.vfs.spi.JavaZipFileSystem wydaje się próbować oglądać ostatni zmodyfikowany czas słoika, ale patrzy na kopię, nie na oryginał; JBoss Developer Studio i tak nie zmienia czasu ostatniej modyfikacji słoika, np. podczas aktualizowania xhtml.
Pytania.
- Czy są jakieś błędy? VFS? Cofająca się fala morska? Nie jestem pewien, czy opisane zachowanie jest zamierzone.
- Czy hotdeplowanie zasobów w bibliotekach wojennych powinno być wspierane przez Wildfly? To znaczy. czy to rozsądne?
- Jak uzyskać tę funkcjonalność w wersji Wildfly 8.2.0.Final?
- Zastępcze wdrożenie wojny w Warsztacie ResourceManager, jakoś zmodyfikować getResource?
- Zrobić coś dla VFS.mounts? Co?
- Zrzuć to podejście. Zamiast tego uczyń te submoduły wojenne EJB na poziomie ucha, aby mogły zostać rozłożone. Dodaj te "EJB" jako korzenie zasobów w trakcie wojny, takie jak WarStructureDeploymentProcessor.
Tu również pytano: https://developer.jboss.org/message/917787 –
Wygląda, że w Wildfly 8.2 jest sposób na użycie bibliotek znaczników z plików JAR, które znajdują się w pliku EAR, obok WAR: https: //issues.jboss.org/browse/WFLY-1172 –
Nie jestem pewien co do JBoss Developer Studio, ale to wszystko działa dobrze dla mnie z prostym Eclipse + JRebel (i Maven, ale nie odgrywa tu tutaj żadnej roli), także po wdrożeniu w WildFly. Być może powinieneś wypróbować JRebel i sprawdzić, czy rozwiązuje twój problem. – BalusC