Sono curioso di una sfuggente - ma potenzialmente molto potente - funzione DropWizard denominata Bundles. Secondo i documenti:Quando utilizzare i pacchetti DropWizard?
Un pacchetto Dropwizard è un gruppo riutilizzabile di funzionalità, utilizzato per definire i blocchi del comportamento di un'applicazione.
Dato che DropWizard (DW) è estremamente ben documentato, sono scioccato che questo è davvero l'unica spiegazione su fasci. Vedo alcuni esempi di loro in natura:
Ma quello che non capisco è: fasci sembrano essere solo il codice confezionato e distribuito in vasetti. Quindi, perché non posso scrivere solo classi Java "raw" (non "bundle") per fare quello che mi serve, schiaffarle in un JAR, quindi includere quel JAR sul mio classpath di compilazione/compilazione, quindi usarle in la mia app DW? A che cosa serve un pacchetto DW e quando è necessario utilizzarli?
Grazie a @ user3354059 (+1) - così ho * capito * che i pacchetti sono pensati per riutilizzare le funzionalità dell'app DW in più app DW. Immagino di non capire il motivo per cui ho bisogno di creare un "pacchetto", ma solo di impacchettare il codice comune in un JAR e di utilizzare ciascuna delle mie app DW per le classi definite in quel JAR. Tutti gli esempi citati (Migrations/Liquibase/etc.) Potrebbero anche essere impacchettati in un normale JAR - non conforme a nessuna API Bundle - e quindi tutte le mie app DW potrebbero dipendere da quel JAR e usare le sue classi per realizzare DB migrazioni. So che mi manca * qualcosa *, semplicemente non lo vedo. – smeeb
Probabilmente è una cosa facile da usare. Trovo molto più facile aggiungere le poche righe di codice per aggiungere i bundle piuttosto che creare un'intera libreria per le poche funzioni necessarie. – user3354059
Grazie a @ user3354059, stavo cercando su google "come creare un bundle personalizzato per dropwizard", ma non ho fatto alcun tutorial che mi aiuti a creare il mio bundle. Ho solo un link che è la tua risposta. Ma ancora, varie, le cose non lo sono. Capisco che creiamo un componente riutilizzabile come pacchetto DW (dropwizard), ma non è ancora chiaro quale sia il ciclo di vita del bundle DW, quali sono le interfacce necessarie per implementarlo, puoi puntare ad alcuni tutorial che mi aiutano a creare il mio proprio pacchetto DW. –