2015-02-04 21 views
7

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 kod org.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.

  1. Czy są jakieś błędy? VFS? Cofająca się fala morska? Nie jestem pewien, czy opisane zachowanie jest zamierzone.
  2. Czy hotdeplowanie zasobów w bibliotekach wojennych powinno być wspierane przez Wildfly? To znaczy. czy to rozsądne?
  3. Jak uzyskać tę funkcjonalność w wersji Wildfly 8.2.0.Final?
    1. Zastępcze wdrożenie wojny w Warsztacie ResourceManager, jakoś zmodyfikować getResource?
    2. Zrobić coś dla VFS.mounts? Co?
    3. 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.
+0

Tu również pytano: https://developer.jboss.org/message/917787 –

+0

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 –

+0

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

Odpowiedz