لماذا لا تستخدم حبوب الجلسة بدلاً من الفاصوليا التي تعتمد على الرسائل؟
-
27-09-2019 - |
سؤال
أنا أتساءل ، لماذا لا تستخدم حبوب الجلسة بدلاً من الفاصوليا التي تعتمد على الرسائل؟
إذا تمكنت من استدعاء الطرق عن بُعد من EJBS ، فلماذا تهتم بإرسال/استلام الرسائل مع الفاصوليا التي تعتمد على الرسائل (والتي يصعب تطويرها من حبوب الجلسة)؟
في أي سيناريوهات ، تصبح الفاصوليا التي تحركها رسالة مفيدة؟
المحلول
أنا أتساءل ، لماذا لا تستخدم حبوب الجلسة بدلاً من الفاصوليا التي تعتمد على الرسائل؟
حسنًا ، إنها لا تخدم نفس الغرض ، حيث تتيح الفاصوليا التي تعتمد على الرسائل تطبيقات Java EE لمعالجة الرسائل بشكل غير متزامن.
إذا تمكنت من استدعاء الطرق عن بُعد من EJBS ، فلماذا تهتم بإرسال/استلام الرسائل مع الفاصوليا التي تعتمد على الرسائل (والتي يصعب تطويرها من حبوب الجلسة)؟
لأن MDBs يمنحك التزامن واقتران فضفاض ، وهو شيء قد تريده/تحتاجه في بعض الحالات:
- للوظائف طويلة المدى
- عندما لا تكون الموارد متاحة دائمًا
- عندما تريد موازية المعالجة
بالمناسبة ، لقد وجدت دائمًا أن MDBs هي أسهل حبوب المؤسسة التي يجب تطويرها.
في أي سيناريوهات ، تصبح الفاصوليا التي تحركها رسالة مفيدة؟
أنظر فوق.
أنظر أيضا
نصائح أخرى
تستمع للفاصوليا المدفوعة بالرسالة إلى طوابير JMS بشكل غير متزامن على عكس حبوب الكيان/الجلسة.
هذا لا يحظر موارد الخادم لأن المعالجة تحدث فقط عند وصول الرسالة إلى قائمة الانتظار.
بخلاف الكثير من منتديات ومواقع Java ، لدى Wikipedia مجموعة جيدة من الأوعية حيث تأتي MDBs في متناول اليد
http://en.wikipedia.org/wiki/enterprise_javabean#message_driven_beans
كلاهما يخدم غرض مختلف.
1) إذا كنت ترغب في استخدامه لاستخدام الأساليب البعيدة فقط ، فما عليك سوى استخدام Bean
2) ولكن إذا لم يكن Responce/Result لا يتمتع بالرسالة اللاحقة ، فستذهب إلى JMS لأنها تقوم بإنشاء قائمة الانتظار لجعلها تعمل وتعيين الرسالة. لكن قضية perfomance ستكون هناك.
إذا كنت بحاجة إلى استخدام الطريقة فقط ، فما عليك سوى استخدام Bean Session لأنه فول خفيف الوزن. وهو يعطي أداء جيد.