لماذا لا تستخدم حبوب الجلسة بدلاً من الفاصوليا التي تعتمد على الرسائل؟

StackOverflow https://stackoverflow.com/questions/3837723

سؤال

أنا أتساءل ، لماذا لا تستخدم حبوب الجلسة بدلاً من الفاصوليا التي تعتمد على الرسائل؟

إذا تمكنت من استدعاء الطرق عن بُعد من 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 لأنه فول خفيف الوزن. وهو يعطي أداء جيد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top