For websocket testing purpose, I would like to run multiple SpringBoot Application based on JSON configuration:
[{
port:11000,
UUID:"server"
},
{
port:11001,
UUID:"client1"
}
{
port:11001,
UUID:"client2"
}
]
My application.java:
@SpringBootApplication(exclude = {XADataSourceAutoConfiguration.class})
@ComponentScan( {"com.olo"})
public class ServerApplication
{
@Inject
WebSocketAsNetworkConnectionManager connectionManager;
public static void main(final String[] args) {
SpringApplication.run(ServerApplication.class, args);
}
@Bean
public ServletRegistrationBean atmosphereServlet() {
// Dispatcher servlet is mapped to '/home' to allow the AtmosphereServlet
// to be mapped to '/chat'
connectionManager.setCurrentUUID(new NetworkNode().setId(UUID));
final ServletRegistrationBean registration = new ServletRegistrationBean(
new AtmosphereServlet(), "/ws/*");
registration.addInitParameter(ApplicationConfig.ANALYTICS, "false");
registration.addInitParameter(ApplicationConfig.ANNOTATION_PACKAGE, "com.itesoft");
registration.addInitParameter(ApplicationConfig.CLIENT_HEARTBEAT_INTERVAL_IN_SECONDS, "10");
registration.addInitParameter(ApplicationConfig.WEBSOCKET_MAXTEXTSIZE, "10485760");
registration.addInitParameter(ApplicationConfig.WEBSOCKET_BUFFER_SIZE, "128000");
registration.addInitParameter(ApplicationConfig.MESSAGE_DELIMITER, "|");
registration.setLoadOnStartup(0);
// Need to occur before the EmbeddedAtmosphereInitializer
registration.setOrder(Ordered.HIGHEST_PRECEDENCE);
return registration;
}
}
The result that I want is:
Running ServerApplication multiple time on different port with parameters. Do you have any ideas to do that?
Aucun commentaire:
Enregistrer un commentaire