Mi piacerebbe eseguire un'applicazione di avvio a molla ma farla ascoltare su più porte.Spring Boot sperate @Configurazioni per più contesti applicativi
L'obiettivo è di consentire a un Apache di inoltrare più domini (sottodistretti) all'applicazione di avvio a molla (Tomcat) su porte diverse. Esempio:
example.com/** -> PORT 8080
client.example.com/** -> PORT 8090
employee.example.com/** -> PORT 8100
Per quanto ho capito da diversi thread su SO, sono meglio fuori il lancio multiplo @SpringBootApplication
classi annotate da una classe principale, giusto? (https://stackoverflow.com/a/25870132/1510659)
Ciò che non ho ancora capito, è come configurare ciascuna di queste applicazioni separatamente.
Diciamo che ho lanciato queste tre applicazioni, come indicato nel post linkato sopra:
MainExampleApplication
ClientExampleApplication
EmployeeExampleApplication
Ora, per esempio, voglio avere separati Primavera sicurezza @Configuration
classi per ciascuna di queste applicazioni, così come @RequestMappings
che potrebbe avere lo stesso valore (ad esempio "/").
Come indicare alle classi @Configuration
o @Controller
a quale applicazione sono assegnate?
Oppure ci sono proprietà che possono essere passate alle applicazioni all'avvio per specificare quali risorse sono responsabili del contesto?
Spero di non andare in una direzione totalmente sbagliata qui. Ho esperienza con Spring MVC e ho configurato alcune applicazioni Spring piuttosto semplicistiche - ma non con più contesti. Sarei davvero felice se qualcuno potesse guidarmi nella giusta direzione. Grazie in anticipo.
UPDATE
Come accennato nella risposta di iamiddy e commentare di Xeon, ho usato Primavera Profili per questo. Ho fornito a SpringApplicationBuilder un profilo per ciascuno dei contesti delle mie applicazioni all'avvio e ho utilizzato @Profile("some_profile")
su @Components
che dovrebbe essere disponibile solo per alcuni dei contesti.
Potresti prendere in considerazione l'utilizzo di [Profili Spring] (http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html) per quello? – Xeon