Selon vous, quels sont les risques liés à l'utilisation de Spring 4
avec le jersey-spring3
module d'intégration?
J'ai essayé d'utiliser Spring 4.0 avec le exemple de jersey spring et l'exemple fonctionne toujours mais je ne suis pas en mesure d'identifier les risques liés à cette utilisation.
J'ai récemment commencé à utiliser Jersey 2.7 et Spring 4.0.x dans un projet. J'ai configuré une hiérarchie de contexte pour injecter des beans, jusqu'à présent, je n'ai découvert que ne limitation mais cela ne semble pas se rapporter à Spring 4 mais plutôt au module lui-même ou au HK2 Spring Bridge.
Pour donner plus d'informations sur mon utilisation. J'ai un support XJC/JAXB qui est consommé par un service commun, un référentiel et exposé via JAX-WS, et maintenant, espérons-le, via JAX-RS.
Le truc multi-contexte fonctionne maintenant avec @Autowired
avec 2.8-SNAPSHOT
. J'ai appliqué mes modifications et le 2.8-SNAPSHOT
à 2.7
. Voici le diff .
Edit (Michael-O; 2014-10-17): Ici est un module Spring modifié basé sur 2.11 avec un support multi-contexte.
Pas une réponse à la question d'origine, juste des informations connexes
Cela peut être un peu prématuré, mais la nouvelle version Major 3.0 de Jersey utilisera Spring 4, dans la nouvelle jersey-spring4
module. La nouvelle version majeure sera construite avec Java 8. Bien qu'une nouvelle version majeure soit publiée, la ligne 2.x sera toujours activement développée pour maintenir la prise en charge de Java 7
Je mettrai à jour ce post une fois la version 3.0 sortie.
Pour toute personne intéressée, vous pouvez voir cette liste de diffusion pour voir ce que l'équipe de Jersey a à dire sur la nouvelle ligne 3.x.
Je ne sais pas si vous avez rencontré des problèmes, mais j'en suis actuellement confronté à un. Il est décrit dans autre thread .
Simplement, l'utilisation de jersey-spring3 2.12 et spring 4.1.0.RELEASE dans un projet maven conduit à l'incompatibilité de classe suivante:
2014-09-14 01:15:44.175:WARN:oejuc.AbstractLifeCycle:main: FAILED org.Eclipse.jetty.server.handler.HandlerCollection@696
db620[org.Eclipse.jetty.server.handler.ContextHandlerCollection@27abb6ca[o.e.j.m.p.JettyWebAppContext@737d100a{/,file:/C
:/Users/Josef/Workspace/TransitCenter/src/main/webapp/,STARTING}{file:/C:/Users/Josef/Workspace/TransitCenter/src/main/w
ebapp/}], org.Eclipse.jetty.server.handler.DefaultHandler@6968c1d6, org.Eclipse.jetty.server.handler.RequestLogHandler@7
d986d83]: Java.lang.NoSuchMethodError: org.springframework.beans.factory.support.DefaultListableBeanFactory.getDependenc
yComparator()Ljava/util/Comparator;
Java.lang.NoSuchMethodError: org.springframework.beans.factory.support.DefaultListableBeanFactory.getDependencyComparato
r()Ljava/util/Comparator;
at org.springframework.context.annotation.AnnotationConfigUtils.registerAnnotationConfigProcessors(AnnotationCon
figUtils.Java:136)