شرح EJB بخصوص الأذن مقابل الحرب
سؤال
لقد بدأت للتو في القراءة على EJBS.
حتى أثناء المغامرة فيه ، لدي بعض الأسئلة بناءً على ما سمعت عنه.
- هل يجب دائمًا نشر التطبيقات التي تستخدم EJBs كأذن؟
- هل يمكن نشر التطبيقات التي تحتوي على EJBs تمامًا مثل مشاريع الويب الأخرى الأخرى لـ Java باستخدام Eclipse وبدون استخدام ANT؟
المحلول
1. هل يجب نشر التطبيقات التي تستخدم EJB دائمًا كأذن؟
رقم.
يتم تجميع وحدة EJB في جرة ، ودعنا نسميها myapp-ejb.jar كاتفاقية تسمية.
يحتوي هذا على رمز EJB وكذلك ملف واصف النشر يسمى EJB-Jar.xml في EJB 2.x. في EJB 3.0 ، يحتوي الكود نفسه على التعليقات التوضيحية المطلوبة للخادم لفهم النشر ، وبالتالي فإن واصفات النشر اختيارية. يغطي واصف/التعليقات التوضيحية للنشر الأشياء الأساسية اللازمة لنشر EJB مثل JNDI و DataSource Look Up وما إلى ذلك.
مجموعة من وحدات EJB المتعددة ووحدات الويب الأخرى (WAR) معًا تشكل " أذن. كما أشار ISAAC ، لا يتعين على الأذن تضمين أي ملف حرب فيه. الشرط الوحيد لملف الأذن هو احتواء وحدة J2EE واحدة على الأقل من أي نوع.
الأذن تحتاج META-INF/application.xml
الذي يسرد جميع الجرار والحروب EJB الموجودة في الأذن. لذلك يمكنك الذهاب للحصول على أذن عندما يكون لديك عدة وحدات EJB التي عادة ما تكون هي الحالة ، وبالتالي فإن النشر المعتاد هو أذن.
يظهر مثال على هذا الملف أدناه مأخوذة من http://download.oracle.com/docs/cd/b32110_01/web.1013/b28221/undejdev003.htm. هذه مقالة جيدة لك لقراءتها.
<application>
<display-name>master-application</display-name>
<module>
<ejb>ejb1.jar</ejb>
</module>
<module>
<ejb>ejb2.jar</ejb>
</module>
<module>
<java>appclient.jar</java>
</module>
<module>
<web>
<web-uri>clientweb.war</web-uri>
<context-root>webapp</context-root>
</web>
</module>
<module>
<ejb>ejb3.jar</ejb>
</module>
2. يمكن نشر التطبيقات التي تحتوي على EJB تمامًا مثل مشاريع ويب Java الأخرى باستخدام Eclipse وبدون استخدام ANT
نعم ، بمجرد تجميع جرة الأذن/الجرة ، يمكن نشرها في خادم (عبر Eclipse إذا كنت ترغب في ذلك).
ANT هي أداة بناء لا علاقة لها بالنشر الفعلي لرمز EJB. يتم استخدامه لتجميع وتجميع الجرة - والتي يمكن القيام بها من Eclipse كذلك.
هنا هو برنامج تعليمي يفعل ذلك.
قراءة متعمقة