Использование Guice 3 с JAX-WS в Java 6 вне веб-контейнера

У нас есть ситуация, когда мы используем инъекции на основе JSR-330 для конфигурирования наших автономных приложений Java 6, что очень хорошо работает для получения параметров конфигурации на всех уровнях.

Мы также довольно долго использовали веб-сервисы JAX-WS, используя первый автономный дистрибутив Metro с Java 5 внутри веб-контейнера, но с Java 6 мы просто используем класс Endpoint, чтобы получить меньшую площадь.

Итак, теперь у меня есть ситуация, когда у меня есть

  • Автономное приложение Java 6 - без контейнера сервлетов (Jetty, Tomcat)
  • Инжектор Guice 3, настроенный так, как мне нравится.
  • Endpoint, обрабатывающий мой @javax.jws.WebService аннотированный класс, который раскрывает мои методы как веб-сервисы.

Я бы хотел, чтобы методы веб-сервиса либо прозрачно обрабатывали свои поля @Inject, либо получали доступ к инжектору. Я могу получить его как статическое поле из главного метода, но мне хотелось бы более чистого решения.

Есть предложения?

(Как я понял из JAX-WS и Guice 3, модуль http://jax-ws-commons.java.net/guice/ не работает с Guice 3, а предложенный обходной путь специфичен для Tomcat)

Будут ли здесь полезны аннотации JSR-250 @Resource?

5
задан Community 23 May 2017 в 12:30
поделиться