È possibile utilizzare Spring Boot con OSGi? In caso contrario, si prevede di avere un avvio a molla OSGi (Apache Felix o Eclipse Equinox)? A mio parere, l'applicazione Cloud deve essere altamente modulabile e aggiornabile come le offerte OSGi.È possibile utilizzare Spring Boot con OSGi? In caso contrario, qualsiasi piano per avere un avvio a molla OSGi?
risposta
No, non supporta OSGi. Spring Boot ha lo scopo di creare microservizi come applicazioni pacchettizzate con ogni dipendenza e persino i contenitori servlet confezionati in un JAR eseguibile, quindi è altamente modulare e aggiornabile, senza la necessità di fornire e configurare un contenitore OSGi.
Una possibilità è incorporare OSGi nella tua applicazione di avvio a molla, per rendere accessibili alcune parti della tua applicazione attraverso il framework. Vedere https://stackoverflow.com/a/4673904/173101 per vedere come è possibile avviare OSGi a livello di programmazione.
Ma in generale non c'è niente come "OSGi-Support". OSGi può essere integrato in ogni applicazione Java e, viceversa, è possibile impacchettare ogni codice Java (anche l'applicazione Spring-Boot) in un bundle OSGi per avviarlo all'interno di un contenitore OSGi (anche se probabilmente non renderebbe molto senso a tutti).
Ho una domanda per la tua risposta. Hai scritto che ogni codice Java (anche l'app Spring-Boot) può essere impacchettato in OSGi-bundle per avviarlo all'interno di un contenitore OSGi. La domanda è, come confezionare un'applicazione Spring-Boot in OSGi-bundle? – xmlParser
Ci sono in realtà molte buone ragioni per l'implementazione di Spring Boot in OSGi, il principale delle prestazioni, in particolare le prestazioni di avvio se il servizio Spring Boot è un servizio funzionale (vale a dire inizia, restituisce risultati, termina). Un'applicazione che sto attualmente testando beta in Spring Boot si avvia in ~ 0.5 secondi distribuiti su Equinox contro 3.5 secondi da solo. Altri motivi potrebbero essere l'integrazione con un'applicazione o un server Java EE basati su OSGi.
Detto questo, è anche possibile eseguire OSGi da Spring Boot, per motivi di prestazioni probabilmente preferirei Concierge come implementazione OSGi su Felix o Equinox, semplicemente a causa delle sue ridotte dimensioni (a meno che l'app non abbia bisogno di tutte le funzionalità del più grande
Un'altra alternativa sarebbe quella di avvolgere le librerie Spring utilizzate dall'applicazione Spring Boot in MSF4J (da WSO2). Ciò non richiede molto lavoro e può darvi un avvio 10x più veloce con 1/10 dell'utilizzo della memoria
- 1. È possibile integrare OSGi con Spring Data?
- 2. Avvio del bundle OSGi
- 3. Utilizzo libreria non osgi in un'applicazione osgi
- 4. Utilizzare l'attuatore di avvio a molla senza un'applicazione di avvio a molla
- 5. Come utilizzare servlet con osgi
- 6. Integrazione liquibase con avvio a molla
- 7. Combinare il progetto di OSGi e la configurazione della molla
- 8. Avvio a molla con origine dati JNDI
- 9. Avvio a molla con Hazelcast e Tomcat
- 10. OSGi + Hibernate
- 11. OSGi: Blueprint vs DM Primavera
- 12. granularità moduli/bundle OSGi
- 13. Avvio a molla + Websocket (SockJS)
- 14. disabilitazione della sicurezza a molla nell'app di avvio a molla
- 15. Aggiornamento bundle OSGi all'avvio
- 16. Come evitare l'autoconfigurazione di avvio a molla per spring-web?
- 17. accesso contesto Spring nel pacchetto OSGi
- 18. Aspetti per il boot di avvio a molla
- 19. Logout JWT avvio a molla
- 20. Avvio automatico dell'applicazione Spring Boot
- 21. Test di avvio a molla con memoria db
- 22. Avvio a molla + credenziali client Oauth2
- 23. New Relic per Spring Boot
- 24. Esecuzione di microservizi di avvio a molla multipli con Gradle
- 25. Come mostrare Servlet metriche Dropwizard con avvio a molla?
- 26. Livello registro applicazione di avvio a molla
- 27. Punto di pareggio per OSGi
- 28. JasperReports: è possibile utilizzare più origini dati o, in caso contrario, utilizzare le raccolte nei parametri?
- 29. Componente scansione a primavera in OSGi non trova nulla
- 30. Quando un frammento OSGi è collegato all'host?
Cosa succede se si desidera distribuire un'app di microservizio come app standalone.Ad esempio, per karat sarebbe bello disporre di un microservice di avvio primaverile come pacchetto OSGi ... – Patrice