2010-10-01 13 views
7

Próbuję użyć planu wdrażania w sieci Web, aby dodać wartości init-param do pliku web.xml podanego przez dostawcę .war.Jak wyświetlić wyniki planu wdrożenia WebLogic

Podczas gdy zdaję sobie sprawę, że mogę otworzyć plik .war i po prostu edytować plik wewnątrz, wolałbym użyć planu wdrożenia, aby to osiągnąć, ponieważ będę musiał wdrożyć plik .war na wielu serwerach o różnych wartościach dla danego init-param.

Znalazłem wiele przykładów tego, jak to zrobić w Internecie, ale moje wysiłki są trafione. Myślę, że gdybym mógł zobaczyć wpływ planu wdrożenia na mój wdrożony plik wojenny, byłbym w stanie szybko dowiedzieć się, co robię źle.

Czy istnieje sposób, aby wyświetlić deskryptory wdrażania środowiska wykonawczego aplikacji weblogic (10.3.3) po zastosowaniu planu wdrożenia?

Odpowiedz

3

Spędziłem trochę czasu, sprawdzając to chwilę, i chociaż WL10 rozpakowuje WAR w katalogu tymczasowym, nie modyfikuje plików wymienionych w planie wdrożenia w tej lokalizacji. Próbowałem również użyć getResource/getResourceAsStream do przeczytania całego pliku web.xml i okazało się, że jest to również oryginalny, niezmodyfikowany plik.

Nigdy nie dowiedziałem się, w jaki sposób WL stosuje zmiany, aby zostały pobrane przez ServletContext bez ich widoczności nigdzie indziej. Domyślam się, że używa sztuczek, aby nadpisać ładowanie tych plików i dynamicznie je stosować.

Po walce z nim przez jakiś czas, w końcu osiadł na coś takiego do listy z wartościami parametrów startowych na starcie:

if (log.isTraceEnabled()) { 
     final Enumeration<String> names = context.getInitParameterNames(); 
     while (names.hasMoreElements()) { 
      final String key = names.nextElement(); 
      final String value = context.getInitParameter(key); 
      log.trace("Init Parameter '{}' = '{}'", key, value); 
     } 
    } 

(Korzystanie slf4j do logowania)

Oczywiście to nie pomaga, jeśli coś jest nie tak z planem wdrożenia, a wartości nie są ustawiane, ale najlepsze, co mogę wymyślić.

1

W 12.2.1 jest ustawienie debugowania DebugDeploymentPlan Server, jeśli na serwer rejestruje coś podobnego

<After applying the overrides from the deployment plan, the descriptor "META-INF/ejb-jar.xml" is: