Nelle applicazioni che osservo il seguente comportamento dei controllori più semplice Primavera (Boot), diconometodo simultaneo voce nel controller di primavera
@CrossOrigin
@RestController
public class MyController {
//...
@RequestMapping(value = {"/lazy-dog"})
@ResponseBody
public Rest lazyDog() {
//...
Thread.sleep(10000);
//
return Message("Dog exiting")
}
@RequestMapping(value = {"/quick-fox"})
@ResponseBody
public Rest quickFox() {
//...
return Message("Fox exiting")
}
}
vale a dire: l'ingresso simultaneo in lazyDog()
non è consentito (chiamandolo due volte da due schede del browser dura 20sec
), mentre l'esecuzione simultanea di lazyDog()
e quickFox()
è consentita (mentre cane attende, Fox può eseguire rapidamente, dire in una scheda separata del browser).
Cosa si deve fare per consentire l'esecuzione simultanea di due o più chiamate a lazyDog()
?
Nota: Attualmente sto lanciando l'applicazione tramite:
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Sì, era così; grazie. (Chiamata simultanea da Firefox e Chrome a 'lazyDog()' eseguita simultaneamente.) –
Ho riscontrato lo stesso problema con Chrome. Puoi collegare/fornire maggiori informazioni su questo comportamento? @Madhusudana Reddy Sunnapu – Sundeep
@Sundeep Potrebbe essere possibile fare riferimento alla sezione "Transazioni HTTP persistenti" del [seguente link] (http://blog.catchpoint.com/2010/09/17/anatomyhttp/) che dice che più richieste possono essere sottoposti a manutenzione sulla stessa connessione. –