همانطور که میدانیم تمامی درایور های موجود برای اتصال به پایگاه داده در جاوا بلاکینگ میباشند البته به استثنا ReactiveMongo که با استفاده از استریم ها پلی پیاده سازی شده است.
جستجو هایی که توی چند روز اخیر انجام دادم منو به این نتیجه رسونده که فعلا ساز و کاری برای استفاده ار دیتا بیس به صورت non blocking موجود نمیباشد. البته یک کتابخانه mysql-asyn-connector پیدا کردم که بر اساس توضیحات توش فراخوانی های دیتابیس به صورت asyn انجام میشه. ولی برای دیتابیس های دیگر مخصوصا اوراکل (که مورد استفاده ما هستش) چیزی پیدا نکردم. حتی میتونم بگم که پروژه های تستی هم وجود ندارد. واین میتونه نشون دهنده این موضوع باشه که هنوز نیازی در این زمینه احساس نشده.
این منو برمیگردونه به سوالم که در شرایطی که درایور های دیتابیس ها در جاوا بالذات به صورت بلاکینگ کار میکنن ایا استفاده از پلی که نقطه قوتش non blocking بودنش هست ایا کاری منطقی است و ایا استفاده از پلی در این شرایط هم مزیتی دارد و به افزایش عملکرد سیستم کمک میکند یا خیر؟
البته این نکته رو در نظر دارم که با استفاده ازساختار های پلی حداقل thread pool ای که برای request handling هستش درگیر نمیشه، ولی به هر حال یک ترد دیگر در جای دیگر بلاک باقی میمونه.