Conselhos práticos sobre o uso de Jersey e Guice no serviço RESTful

Pelo que posso encontrar on-line, o estado da arte da integração da Guice + Jersey estagnou desde 2008, quando parece que ambas as equipes chegaram a um impasse. O cerne da questão é que as anotações JAX-RS executam injeção de campo e método e isso não funciona muito bem com a injeção de dependência do Guice.

Alguns exemplos que eu encontrei não vão longe o suficiente para elucidar:

Publicação de Iqbalyusuf naJersey + Guice no Java do Google App Engine sofre de muita clichê (obter e chamar manualmente o injetor). Quero que a ligação e a injeção ocorram nos bastidores por meio das anotações do Guice.

Artigo de Jonathan CurranCriando um serviço RESTful com Jersey, Guice e JSR-250 me deu esperança porque é muito mais atual (2010), mas foi além de mostrar como iniciar um serviço de Jersey dentro de um Guice ServletModule. No entanto, não há exemplos de injeção de dependência real. Suponho que isso tenha sido deixado como um exercício para o leitor. O post de Curran pode de fato ser o primeiro passo correto para conectar Guice e Jersey, e por isso planejo começar com isso.

tentadoramenteJames Strachan escreve:

O JAX-RS funciona bem com estruturas de injeção de dependência, como Spring, Guice, GuiceyFruit ou JBossMC - você pode escolher basicamente o que preferir.

Mas não vejo nenhuma evidência verdadeira do ponto de vista de um praticante.

O que acho que faltam são exemplos práticos e explicações sobre como combinar anotações JAX-RS e Guice. Por exemplo:

Acredito que não posso usar injeção de construtor com nenhum recurso, pois Jersey quer controlar issoNão tenho certeza se posso combinar @Inject com @PathParam, @QueryParam, et al.Como usar a injeção em uma implementação MessageBodyWriter

Alguém tem exemplos, de preferência com a fonte, de aplicação não trivial que combina Jersey e Guice sem sacrificar um ou outro no processo? Eu continuo nessa estrada de qualquer maneira, mas os trechos das listas de Jersey e Guice me fazem pensar que estou repetindo o trabalho de outras pessoas que vieram antes de mim.

questionAnswers(11)

yourAnswerToTheQuestion