سؤال
لدي الآن
ear
|----test.jar
|-------META-INF
|-------application.xml
|-------test
|-------Test.class
|-------TestEJB.class
|-------TestHome.class
|----test.war
|-------WEB-INF
|-------web.xml
|-------test
|-------TestServlet.class
application.xml
<application>
<display-name>Ejb Test</display-name>
<module>
<ejb>test.jar</ejb>
</module>
<module>
<web>
<web-uri>test.war</web-uri>
<context-root>/test</context-root>
</web>
</module>
</application>
web.xml
<web-app>
<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>test.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>
هل هناك شيء أنا في عداد المفقودين من الأذن التطبيق و ما هو الغرض من تكوين هذه الملفات ؟ كيف يمكنني الوصول إلى الخدمات من ejb من بريمج?
المحلول
سوف تحتاج إلى EJB نشر واصف في test.jar/META-INF/ejb-jar.xml
و الأذن نشر واصف أن يذهب إلى your.ear/META-INF/application.xml
(لا داخل EJB جرة!).
على ejb-jar.xml سوف تحتوي على شيء كما يلي جزء XML الخاص بك EJBs:
<enterprise-beans>
<session>
<ejb-name>MyCoolEJB</ejb-name>
<local-home>test.TestHome</local-home>
<local>test.Test</local>
<ejb-class>test.TestEJB</ejb-class>
</session>
<!-- ... more <session/> or <entity/> entries ... -->
</enterprise-beans>
لقد عملت مع EJB3 نفسي حيث تكون الأمور مختلفة قليلا و أنت لا تملك واجهات المنزل لفترة أطول.حتى تأخذ بلدي على سبيل المثال مع حبة الملح.
داخل web.xml يجب أن يكون المقابل الإشارة إلى EJB:
<ejb-local-ref>
<ejb-ref-name>TheJNDINameOfYourEJB</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<ejb-link>MyCoolEJB</ejb-link> <!-- the value from <ejb-name/> above -->
</ejb-local-ref>
على <ejb-link/>
نقطة المقابلة <ejb-name/>
من EJB, إذا كان المرجع في نفس جرة الخاص بك EJB.وإلا عليك أن preprend اسم جرة مثل <ejb-link>test.jar#MyCoolEJB</ejb-link>
.
ثم في بريمج يمكنك القيام JNDI البحث عن "جافا:شركات/env/TheJNDINameOfYourEJB" للوصول إلى واجهة المنزل الخاص بك EJB.أتمنى أن أعطاك بعض المؤشرات إلى التعمق نفسك.
راجع للشغل:إذا EJB 2.x هو ليس ثابت الشرط ، ثم إلقاء نظرة على EJB 3.x.الكثير من الأمور أصبحت أسهل للاستخدام في هذا الإصدار!
نصائح أخرى
ولا يبدو EJB ديك تعبئتها بشكل جيد: يجب أن يكون في ذلك الخاصة حدة EJB ولا استطيع ان ارى واصف نشر EJB (ملف المنظمة بتبني-jar.xml). إلقاء نظرة على تغليف تطبيقات و <أ href ل = "http://www.iona.com/support/docs/e2a/asp/5.1/platform/dev_intro/J2EEOverview7.html" يختلط = "نوفولو noreferrer"> بنية الدليل في EJB وحدة JAR ملف