Bonjour,
J'ai téléchargé la dernière version de STS et j'ai compilé l'application d'exemple petclinic proposée à titre de référence dans le Tutoriel associé à STS.
Je l'ai ensuite déployée sur Glassfish 4.
Elle échoue quasi-immédiatement sur un :
À lire son POM, elle n'a été testée que pour fonctionner sur Tomcat 7.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 [2014-05-04T04:38:54.207+0200] [glassfish 4.0] [INFO] [] [] [tid: _ThreadID=19 _ThreadName=Thread-3] [timeMillis: 1399171134207] [levelValue: 800] [[ WARN warn - Handler execution resulted in exception java.lang.IllegalArgumentException: setAttribute: Non-serializable attribute with name owner at org.apache.catalina.session.ManagerBase.checkSessionAttribute(ManagerBase.java:835) ~[web-core.jar:na] at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1840) ~[web-core.jar:na] at org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:178) ~[web-core.jar:na] at org.springframework.web.context.request.ServletRequestAttributes.setAttribute(ServletRequestAttributes.java:131) ~[spring-web-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.web.bind.support.DefaultSessionAttributeStore.storeAttribute(DefaultSessionAttributeStore.java:55) ~[spring-web-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.web.method.annotation.SessionAttributesHandler.storeAttributes(SessionAttributesHandler.java:124) ~[spring-web-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.web.method.annotation.ModelFactory.updateModel(ModelFactory.java:202) ~[spring-web-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.getModelAndView(RequestMappingHandlerAdapter.java:852) ~[spring-webmvc-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:755) ~[spring-webmvc-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689) ~[spring-webmvc-4.0.3.RELEASE.jar:4.0.3.RELEASE]
Et cela m'ennuie beaucoup.
Parce que Tomcat 7, j'en ai fait. Je sais que c'était une évolution côté paramétrage vis-à-vis de Tomcat 6.
Mais aujourd'hui, c'est Tomcat 8 le serveur web up to date, et le petclinic n'en tient pas compte.
Même ainsi, j'ai aussi fait du JBoss AS 7 et du Glassfish 3 puis 4 aux paramétrages encore différents.
J'ai cru que Spring, container léger, s'affranchissait de tout cela.
Et j'ai l'impression qu'en fait, non, pas du tout. Il semble est tout aussi lié à un paramétrage spécifique que ne le sont les autres serveurs d'applications.
D'où mes deux questions :
1) Pour finalement réussir à exécuter Petclinic
Existe t-il des consignes quelque-part qui disent pour petclinic :
si vous déployez sur Glassfish, faites ces dix modifs là,
si vous déployez sur JBoss, ces quinze là,
sur Tomcat 8, celles-ci ? (sur Tomcat 8, il s'exécute).
2) Quelle est l'application de démo officielle qui s'exécute sur tous les serveurs ?
Celle qui quand on la compile en war, s'exécute immédiatement et sans problème sur :
- Tomcat 8
- Tomcat 7
- Glassfish 4
- JBoss AS 7
Merci !
Partager