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 :

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]
À lire son POM, elle n'a été testée que pour fonctionner sur Tomcat 7.
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 !