0 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)

در استاندارد Servlet 3 قابلیتی با نام asynchronous Servlet اضافه شده است، این مدل Servlet چه تفاوتی با Servlet های معمولی قدیمی دارند و کاربرد آنها کجاست؟

1 پاسخ

+1 امتیاز
قبل توسط (1.1هزار امتیاز)
ویرایش شده قبل توسط
 
بهترین پاسخ

ساختار کلی پاسخ گویی به درخواست های کلاینت در مدل قدیمی Servlet و asynchronous Servlet تفاوتی ندارد، در مدل قدیمی وقتی یک در خواست از سمت کلاینت به servlet container می رسد، servlet container یک thread از thread pool بر می دارد و به آن درخواست رسیدگی می کند، این thread در صورتی که جوابگویی به درخواست زمانبر باشد مشغول می ماند. حال اگر این زمانبر بودن بدلیل ارتباط با یک سیستم جانبی باشد (برای مثال فراخوانی یک web service) مشغول ماندن thread بی دلیل است و می توان تا زمان بازگشت جواب web service آن را به thread pool بازگرداند، این کار در مدل قدیمی servlet امکان پذیر نبود ولی در Servlet 3 و با استفاده از asynchronous Servlet می توان کاری کرد که ادامه کار servlet متوقف شود و بدون بسته شدن connection کلاینت و فرستاده شدن پاسخ، thread به thread pool باز گردد و servlet در حالت wait باقی بماند تا جواب فراخوانی web service بازگردد، سپس مجددا به servlet یک thread تخصیص داده شود و پاسخ کلاینت داده شود.

سوالات مشابه

0 امتیاز
1 پاسخ 7.9هزار بازدید
+3 امتیاز
2 پاسخ 1.3هزار بازدید
+1 امتیاز
1 پاسخ 1.7هزار بازدید
+1 امتیاز
1 پاسخ 669 بازدید
سوال شده 8 سال قبل در برنامه نویسی توسط HS (12 امتیاز)
0 امتیاز
1 پاسخ 465 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط bahrambb (308 امتیاز)
0 امتیاز
2 پاسخ 1.0هزار بازدید
0 امتیاز
0 پاسخ 259 بازدید
...