Différence entre application et service dans Dropwizard

Je suis nouveau dans Dropwizard. Dans la documentation la plus récente, il est fait référence à “Service” comme point d’entrée principal de toute application. Mais dans l’exemple de code, il utilise en réalité “Application”. Je suppose que “Application” est un nouveau nom pour “Service”, car je ne trouve pas “Service” dans le nouveau code source.

J’ai également remarqué que l’espace de noms est passé de “com.yammer” à “com.codehaus” en “io.dropwizard“. Je suppose que cela reflète l’évolution du projet lui-même. Juste par curiosité, quelqu’un peut-il append un contexte à la façon dont cela est arrivé?

Les modifications de nom que vous avez citées sont en réalité des modifications pour la version 0.7 à venir. La documentation n’est pas encore à jour (et est en fait le principal obstacle à la publication de la version 0.7 selon la liste de diffusion).

Les notes de version actuelles se trouvent dans la twig principale .

  • Mis à niveau vers Java 7.
  • Déplacé vers l’ID de groupe io.dropwizard et l’espace de noms.
  • Extraire un certain nombre de bibliothèques réutilisables: dropwizard-configuration dropwizard-jackson , dropwizard-jackson , dropwizard-jersey , dropwizard-jetty dropwizard-lifecycle , dropwizard-lifecycle , dropwizard-logging dropwizard-servlets , dropwizard-servlets , dropwizard-util , dropwizard-validation .
  • Extraction de divers éléments de Environment dans des classes distinctes: JerseyEnvironment , LifecycleEnvironment , etc.
  • dropwizard-views-freemarker et de dropwizard-views-mustache . dropwizard-views ne fournit qu’une infrastructure maintenant.
  • Renommé Service en Application .
  • Ajout des dropwizard-forms , qui prennent en charge les entités MIME en plusieurs parties.
  • Ajouté dropwizard-spdy .
  • Ajout de AppenderFactory , permettant la journalisation des ajouts d’appender pour les journaux d’applications et de requêtes.
  • Ajout de ConnectorFactory , permettant des connecteurs Jetty arbitraires.
  • Ajout de ServerFactory , avec des implémentations à un ou plusieurs connecteurs.
  • Ajout de ReporterFactory , pour les protractors de mésortingques, avec les implémentations Graphite et Ganglia.
  • Ajout de ConfigurationSourceProvider pour permettre le chargement de fichiers de configuration à partir de sources autres que le système de fichiers.
  • Ajout du support setuid. Configurez l’utilisateur / groupe pour qu’il s’exécute en tant que et limite de fichier ouverte / souple / dure dans ServerFactory . Pour vous connecter aux ports privilégiés (par exemple 80), activez startAsRoot et définissez l’ user et le group , puis démarrez votre application en tant qu’utilisateur root.
  • Ajout de générateurs pour les exécuteurs gérés.
  • Ajout d’une commande de check par défaut, qui charge et valide la configuration du service.
  • Ajout de la prise en charge du client HTTP Jetty sur dropwizard-client .
  • Ajout du support Jackson Afterburner.
  • Ajout du support pour les demandes et les réponses codées par déflate.
  • Ajout du support pour les sessions HTTP. Ajoutez le paramètre annoté à votre méthode de ressource: @Session HttpSession session pour que le contexte de session soit injecté.
  • Ajout de la prise en charge du message “flash” à propager dans les demandes. Ajoutez le paramètre annoté à votre méthode de ressource: @Session Flash message pour qu’un message flash existant soit injecté.
  • Ajout de la prise en charge de la désérialisation des enums Java avec des règles de correspondance floue (par exemple, suppression des espaces, équivalence - / _ , insensibilité à la casse, etc.).
  • Ajout de HibernateBundle#configure(Configuration) pour la personnalisation de la configuration Hibernate.
  • Ajout de la prise en charge des arguments et des résultats Joda Time DateTime lors de l’utilisation de JDBI.
  • Ajout d’une option de configuration pour inclure les traces de stack d’exception lors de la journalisation dans syslog. Les traces de stack sont maintenant exclues par défaut.
  • Ajout du nom de l’application et du PID (si détectable) au début des messages syslog, conformément à la convention.
  • Ajout de l’option de ligne de commande --migrations-file pour la commande migrate afin de fournir explicitement le fichier de migrations.
  • Les erreurs de validation sont maintenant renvoyées sous forme de réponses application/json .
  • AsyncRequestLog simplifié; maintenant normalisé sur le format Jetty 9 NCSA.
  • Renommé DatabaseConfiguration en DataSourceFactory et ConfigurationStrategy en DatabaseConfiguration .
  • La journalisation a été modifiée pour être asynchrone. Les messages sont maintenant mis en mémoire tampon et mis en mémoire avant d’être remis aux appendeurs configurés.
  • Modification du traitement des erreurs de configuration d’exécution. N’affichera plus de trace de stack d’exception et présentera une description plus utile du problème, y compris des suggestions, le cas échéant.
  • Modification de la gestion des erreurs pour qu’elle repose davantage sur le mappage des exceptions Jersey.
  • dropwizard-db tomcat-jdbc au lieu de tomcat-dbcp .
  • Modification de la mise en forme par défaut lors de la consignation des exceptions nestedes pour afficher d’abord la cause.
  • ResourceTest remplacé par ResourceTestRule , une JUnit TestRule .
  • Suppression du support Scala.
  • Dropped ManagedSessionFactory .
  • Dropped ObjectMapperFactory ; utilisez plutôt ObjectMapper .
  • Validator abandonné; utilisez plutôt javax.validation.Validator .
  • Correction d’un bug d’arrêt dans dropwizard-migrations .
  • Correction du formatage des lignes “Caused by” non préfixées lors de la journalisation des exceptions nestedes.
  • Tous les points de terminaison Jersey disponibles n’étaient pas résolus et étaient consignés au démarrage.
  • Mis à niveau vers argparse4j 0.4.1.
  • Mis à jour en goyave 15.
  • Mis à niveau vers Hibernate Validator 5.0.1.
  • Passé à Jackson 2.2.3.
  • Mis à niveau vers JDBI 2.50.
  • Mis à niveau vers Jetty 9.0.5.
  • Mis à niveau vers Liquibase 3.0.4.
  • Mise à niveau vers Logback 1.0.13.
  • Mis à niveau vers Mesortingcs 3.0.1.
  • Mis à niveau vers Moustache 0.8.13.
  • Mis à niveau vers SLF4J 1.7.5.