سؤال

لدي الآن

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 ملف

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