Quelqu'un peut-il me donner un aperçu de la façon dont j'implémente la gestion de session dans Dropwizard 0.8.x ou au-dessus. J'utilisais Dropwizard 0.7.0 jusqu'à maintenant et j'y travaillais parfaitement. Mais je suis vraiment confus par les documents de changement fournis lorsque j'ai migré vers 0.8.x.La gestion de session est Dropwizard 0.8.x
Dans Dropwizard 0.7.0 (que j'utilisais précédemment), il a été fait comme le
suivant/*MainApplication.class session handler */
environment.jersey().register(HttpSessionProvider.class);
environment.servlets().setSessionHandler(new SessionHandler());
/*Resource.class session check*/
HttpSession session = httpServletRequest.getSession(true);
Mais il ne semble fonctionner plus, dire précisément HttpSessionProvider.class est pas là et remplacé par un autre implémentations.
Il serait vraiment utile que quelqu'un montre à quoi cela est changé. Merci.
Hey, avez-vous essayé d'injecter la session dans votre méthode de ressources? Par exemple. dans mon application je fais: @Context HttpServletRequest dans la signature de la méthode. Cela fonctionne à coup sûr, et vous pouvez ensuite obtenir le HttpSession à partir de votre objet de demande. Vous serez probablement en mesure d'injecter la session directement dans votre méthode de ressources. – pandaadb
@pandaadb: J'ai utilisé '@Context' ici, mais la session n'est pas maintenue entre les requêtes. Quelque chose est étrange. De même, devons-nous enregistrer les fournisseurs de sessions comme dans les anciennes versions? –
Je n'avais pas à m'enregistrer et je n'ai jamais regardé en détail ce qui se passe dans la session. Mais maintenir la session, cela n'arriverait-il pas du côté des clients? Par exemple. le serveur obtient juste ce qu'il obtient. Le code dans HttpSessionProvider ne fait rien d'autre que d'appeler obtenir sur la demande elle-même. Dans une version ultérieure de dropwizard, le fournisseur est remplacé, je pense avec SessionFactoryProvider – pandaadb