2016-02-09 19 views
5

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); 
    } 
} 

risposta

4

Credo che si deve essere in prova con l'apertura di due schede in un unico browser (o unico fornitore del browser). Puoi provare ad accedere contemporaneamente all'URL in due diversi browser (ad esempio Chrome & IE o Chrome & Firefox ecc.).

Sospetto che molto probabilmente potrebbe essere l'implementazione specifica del browser di richieste HTTP simultanee che inviano allo stesso host/url.

+0

Sì, era così; grazie. (Chiamata simultanea da Firefox e Chrome a 'lazyDog()' eseguita simultaneamente.) –

+0

Ho riscontrato lo stesso problema con Chrome. Puoi collegare/fornire maggiori informazioni su questo comportamento? @Madhusudana Reddy Sunnapu – Sundeep

+1

@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. –

Problemi correlati