मैं Spring Boot to build a RESTful web service का उपयोग कर रहा हूं। मेरा आईडीई एक्लिप्स ऑक्सीजन है।स्प्रिंग-बूट: एकाधिक अनुरोधों को एक साथ संभालते हैं
मैं क्रोमके माध्यम से हर 2 सेकंड में कई HTTP GET अनुरोध भेजने, लेकिन वे एक द्वारा एक ट्रिगर कर रहे हैं। प्रत्येक अनुरोध पिछले अनुरोध को समाप्त करने की प्रतीक्षा करेगा।
@RestController
@RequestMapping("/dummy")
public class DummyController {
@RequestMapping(method = RequestMethod.GET)
public ResponseEntity<Map<String, String>> dummytsp(@RequestParam(value="msg", defaultValue="Hello") String msg) {
System.out.println("" + new Date() + ": ThreadId " + Thread.currentThread().getId());
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Map<String, String> response = new HashMap<>();
response.put("message", msg);
return new ResponseEntity<>(response, HttpStatus.OK);
}
}
मेरे कंसोल बाहर डाल है:
Thu Sep 14 11:31:15 EDT 2017: ThreadId 25
Thu Sep 14 11:31:20 EDT 2017: ThreadId 26
Thu Sep 14 11:31:25 EDT 2017: ThreadId 28
Thu Sep 14 11:31:30 EDT 2017: ThreadId 30
सांत्वना उत्पादन पता चलता है कि नियंत्रक हर 5 सेकंड कहा जाता है
यहाँ मेरी नियंत्रक कोड है। लेकिन मैं अनुरोध प्रत्येक 2 सेकंड अनुरोध भेज रहा हूं।
मैं कई आने वाले अनुरोधों को एक साथ कैसे संभाल सकता हूं? (मैं सांत्वना उत्पादन हर 2 सेकंड देखना चाहिए)
अद्यतन:
अगर मैं विभिन्न ब्राउज़र में अनुरोध भेजने के लिए, यह पूरी तरह से काम करता है। यदि मैं इसे उसी ब्राउज़र/एप्लिकेशन में परीक्षण करता हूं जो सत्र साझा करता है, तो समस्या आ जाएगी।
क्या से समान सत्र से समवर्ती एकाधिक अनुरोध स्वीकार करना संभव है?
धन्यवाद!
मैं इसे पुन: पेश नहीं कर सकता। डिफ़ॉल्ट रूप से स्प्रिंग बूट वेब अनुप्रयोग बहु-थ्रेडेड होते हैं और एक साथ कई अनुरोधों को संभाल लेंगे। क्या आप एंबेडेड टोमकैट का उपयोग कर रहे हैं? क्या आपने किसी भी डिफ़ॉल्ट थ्रेड सेटिंग्स को बदल दिया है (उदा। 'Server.tomcat.max-threads')? –
@KyleAnderson कोड ठीक काम करता है अगर मैं विभिन्न ब्राउज़रों से अनुरोध भेजता हूं। जब मैं एक ही ब्राउज़र में अनुरोध (खुले टैब) भेजता हूं तो समस्या दिखाई देती है। मैंने अपनी पोस्ट पीएलएस चेक अपडेट की। Ty! –
यह _might_ एक ब्राउज़र विशिष्ट क्विर्क हो। विंडोज 10 पर, क्रोम और फ़ायरफ़ॉक्स एक ही यूआरएल के लिए कई अनुरोध कतार लगते हैं, जबकि आईई, एज, और कर्ल नहीं करते हैं। –