البيانات التعسفية المنتسبين مع سياق استدعاء المنظمة بتبني

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

  •  21-08-2019
  •  | 
  •  

سؤال

ولقد حصلت على حفنة من عديمي الجنسية المنظمة بتبني 3.0 الفاصوليا يدعو بعضها البعض في سلسلة. النظر، BeanA.do (الرسالة) -> BeanB.do () -> BeanC.do () -> BeanD.do (). الآن أود الوصول إلى البيانات رسالة من BeanD.do (). الحل الواضح هو لتمرير رسالة كمعلمة إلى كل ما تفعل () يدعو (في الواقع هذه هي الطريقة التي يعمل الآن)، ولكن أريد بعض الحلول أجمل.

هل هناك نوع من سياق استدعاء؟ ويمكنني ربط البيانات التعسفية معها؟

وما أود القيام به، هو ببساطة وضع الرسالة في BeanA.do (الرسالة) لبعض التخزين المحلي المرتبطة استدعاء دالة الفول واسترجاعها في BeanD.do ().

وأي أفكار؟

هل كانت مفيدة؟

المحلول

وأنا لا أعتقد أن هناك أي شيء في المواصفات EJB التي توفر هذه الوظيفة. إذا كنت في الخادم تطبيق معين، قد تكون قادرا على استخدام الخادم التطبيق أشياء محددة (على ما أظن جبوس يسمح لك بإضافة الاشياء لسياق المكالمة). أنت أيضا قد تكون قادرة على شيء وهمية حتى باستخدام JNDI.

وشخصيا، وهذا يبدو (بالنسبة لي) مثل سوء التصميم. كنت أرى القيام بذلك إذا كان لديك بعض التعليمات البرمجية في منتصف أنك لا تستطيع السيطرة عليها، ولكن لماذا تفعل ذلك على خلاف ذلك؟ كنت ترغب بجعل منطق التعليمات البرمجية من الصعب جدا تتبع لديك مجموعة من البيانات "السحر" الذي يظهر فقط في وظيفة الخاص بك.

نصائح أخرى

هل يمكن أن يكون فئة مع طرق الحصول على / مجموعة ثابتة أن الوصول إلى حقل ThreadLocal ثابت. ولكن أود أن تأخذ المشورة جيمس "والنظر بعناية جدا إذا كنت تريد أن زوجين لل EJBs لتلك الفئة الأخرى. بالتأكيد نقرا مزدوجا التحقق من مستندات الخادم التطبيق الخاص بك وأنا لست متأكدا إذا كانت مدعومة باستخدام ThreadLocals في بيئة المنظمة بتبني.

ولقد بالضبط نفس المشكلة. الجزء المثير للسخرية هو أن هذا من السهل القيام به مع SOAP في JAX-WS أو جاكس جنة الحماية من الإشعاع، ولكن من الصعب القيام به مع EJB.

وأنا مناقشة ما إذا كان للتخلي عن استخدام EJB الواجهات المحلية أو عن بعد، وبدلا من تمرير رسائل عبر الدائرة، الأمر الذي يجعل أيضا هذا سهلا.

وهناك حالات المشروعة حيث تكون هناك حاجة إليها، ولا يمثل عيبا التصميم.

وهذا ما يوفر التماس. ومن محرجا بعض الشيء للحصول على تشغيل مع خدمات الويب نقية (أي لا على شبكة الإنترنت واجهة المستخدم الرسومية الواجهة الأمامية). ومع ذلك، لقد تمكنت، وأنها تعمل بشكل جميل.

ولست بحاجة لاستخدام سياق الدعوة في JAX WS. يقول برنت "الجزء المثير للسخرية هو أن هذا من السهل القيام به مع SOAP في JAX-WS أو جاكس جنة الحماية من الإشعاع، ولكن من الصعب القيام به مع EJB."

هل يمكن أن اسمحوا لي أن أعرف كيفية استخدام سياق الدعوة في JAX WS

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