Przeprowadzamy migrację niektórych naszych usług danych z Jersey 1.x, stosując koszulkę-sprężynę do Jersey 2.x, używając koszulki-sprężyny3.Określanie niestandardowego kontekstu aplikacji
Mamy kilka klas testowych, które dziedziczą po JerseyTest. Niektóre z tych klas używają niestandardowych plików applicationContext.xml, które nie są określone w pliku web.xml.
W Jersey 1.x klasy testowe, które rozszerzyły JerseyTest, mogą wywołać super konstruktora za pomocą WebappDescriptor.Builder, do którego można przekazać parametr kontekstu w celu ustawienia lub zastąpienia ścieżki kontekstu aplikacji.
E.g.
public MyTestClassThatExtendsJerseyTest()
{
super(new WebAppDescriptor.Builder("com.helloworld")
.contextParam("contextConfigLocation", "classpath:helloContext.xml")
.servletClass(SpringServlet.class)
.contextListenerClass(ContextLoaderListener.class)
.requestListenerClass(RequestContextListener.class).build());
}
Jak można to samo osiągnąć w przypadku produktu Jersey 2.x?
Przeszedłem przez API docs, user guides i niektóre z sources, ale nie mogłem znaleźć odpowiedzi.
Dziękuję.
dostrzegłem 'metody property' w API dokumentacji, ale nie było dla mnie jasne, czy metoda może być zastosowana do parametrów kontekstu. Zaktualizowałem swój kod zgodnie z twoim bardzo pouczającym przykładem. Z moich dzienników wyjściowych i testów wynika, że teraz wywoływany jest właściwy plik kontekstu aplikacji. Bardzo ci dziękuje za pomoc. Mam teraz dodatkowe pytanie, jak pobrać instancje komponentów bean z działającej konfiguracji. Czy mogę utworzyć nowe pytanie? –
Jeśli odpowiedź na to pytanie brzmi "tak", utwórz nowe pytanie. Dzięki. –
Dziękuję. Wysłałem kolejne pytanie. [Pobierz zarządzaną fasolę z pojemnika JerseyTest z jersey-spring3] (http://stackoverflow.com/questions/18282409/retrieve-a-managed-bean-from-a-jerseytest-container- with-jersey-spring3). Łączę to tutaj, ponieważ może to być korzystne dla osób czytających tę odpowiedź. –