2016-02-09 9 views
5

W najprostszej sprężyna (Boot) wnioski obserwuję następujące zachowanie kontrolerów, powiedzmyJednoczesne wejście metoda w sterownikach Wiosna

@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") 
    } 

} 

mianowicie: jednoczesne wejście w lazyDog() nie jest dozwolony (nazywając go dwukrotnie z dwóch zakładek przeglądarek trwa 20sec), podczas gdy jednoczesne wykonywanie lazyDog() i quickFox() jest dozwolone (tak jak pies czeka, lis może szybko wykonać, powiedzmy w oddzielnej zakładce przeglądarki).

Co należy zrobić w celu umożliwienia jednoczesnego wykonywania dwóch lub więcej połączeń do lazyDog()?

Uwaga: Obecnie jestem uruchomienie aplikacji poprzez:

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

Odpowiedz

4

wierzę, musisz być testowanie otwierając dwie karty w jednym przeglądarce (lub jednego dostawcy przeglądarki). Czy możesz spróbować jednocześnie uzyskać dostęp do adresu URL w dwóch różnych przeglądarkach dostawców (na przykład Chrome & IE lub Chrome & Firefox itp.).

Podejrzewam, że najprawdopodobniej może być realizacja przeglądarka specyficzny jednoczesnych żądań HTTP wysyłanych do tego samego hosta/url.

+0

Tak, to było to; Dziękuję Ci. (Równoczesne wywołania z Firefoxa i Chrome na 'lazyDog()' wykonywane jednocześnie.) –

+0

W Chrome wystąpił ten sam problem. Czy możesz połączyć/podać więcej informacji o tym zachowaniu? @Madhusudana Reddy Sunnapu – Sundeep

+1

@ Sundeep Może odwołać się do sekcji "Trwałe transakcje HTTP" [link] (http://blog.catchpoint.com/2010/09/17/anatomyhttp/), która mówi, że wiele żądań może być obsługiwane na tym samym połączeniu. –

Powiązane problemy