0 امتیاز
قبل در برنامه نویسی توسط (15 امتیاز)
برای اینکه تابعی رو در زمانهای مشخصی اجرا اکنیم از @Scheduled استفاده میکنیم

ولی

مشکلی که پیش میاد اینه که بعضی مواقع اون تابع دو بار اجرا میشود و بعضی مواقع یک بار

یا مثلا اون تابع قراره برای یک لیست ورودی یک تابع دیگری رو اجرا کنه که برای بعضی اعضای اون لیست دوبار اجرا میشود وبرای بعضی یکبار

دلیلش چی میتونه باشه؟

1 پاسخ

+1 امتیاز
قبل توسط (693 امتیاز)

دلیلش این میتونه باشه که دو تا instance داره از schedule ساخته میشه البته این که میگید بعضی وقتها این اتفاق میفته یکم عجیبه همانطور که در این قسمت میتونید مطالعه کنید نوشته 

Make sure that you are not initializing multiple instances of the same @Scheduled annotation class at runtime, 
unless you do want to schedule callbacks to each such instance. Related to this, make sure that you do not use 
@Configurable on bean classes which are annotated with @Scheduled and registered as regular Spring beans with the container: 
You would get double initialization otherwise, once through the container and once through the @Configurable aspect, 
with the consequence of each @Scheduled method being invoked twice.

 

 

سوالات مشابه

+1 امتیاز
1 پاسخ 796 بازدید
+2 امتیاز
2 پاسخ 1.1هزار بازدید
0 امتیاز
0 پاسخ 474 بازدید
+1 امتیاز
1 پاسخ 1.6هزار بازدید
0 امتیاز
0 پاسخ 409 بازدید
+1 امتیاز
1 پاسخ 552 بازدید
+1 امتیاز
1 پاسخ 800 بازدید
0 امتیاز
2 پاسخ 1.4هزار بازدید
0 امتیاز
1 پاسخ 465 بازدید
...