كيفية تحديد مختلف JNDI اسم غير الافتراضي لEJB في جبوس 4.2.2.GA؟
سؤال
وافتراضيا يبدو ويستند اسم JNDI من الفول على الأذن الذي يرد عليه. MyBean على EJB اسمه سوف بلدي app.ear يكون اسم "بلدي التطبيق / MyBean / المحلية".
وكيف يمكنني تغيير ذلك السلوك إلزامي؟ أريد اسم JNDI أن يكون "شيء آخر-/ MyBean / المحلية". يجب أن يكون التعريفي بدلا من تعليق توضيحي ب / ج لا أستطيع تعديل مصدر MyBean.java. ليس لدي سوى جرة، التي أنا التعبئة والتغليف إلى الأذن للنشر.
المحلول
ويمكنك توفير هذه في jboss.xml
وعنصر اسم JNDI هو ما تريد.
مثال:
<jboss>
<enterprise-beans>
<service>
<ejb-class>org.jboss.ejb3.test.service.ServiceSix</ejb-class>
<local>org.jboss.ejb3.test.service.ServiceSixLocal</local>
<remote>org.jboss.ejb3.test.service.ServiceSixRemote</remote>
<management>org.jboss.ejb3.test.service.ServiceSixManagement</management>
<jndi-name>serviceSix/remote</jndi-name>
<local-jndi-name>serviceSix/local</local-jndi-name>
</service>
</enterprise-beans>
</jboss>
نصائح أخرى
وأنا لست الاتحاد الافريقي الأمر الواقع مع EJB3 (هو القليل جدا جدا في وقت متأخر بقدر ما انا قلق)، ولكن مع EJB2 يمكنك القيام بذلك عن طريق modifyig واصف jboss.xml أن يذهب داخل JAR EJB في META-INF. على وجه التحديد، يمكنك تعديل عنصر من عناصر تعريف EJB.
إذا هذا لا ينطبق على EJB3 (وأنا أدرك أن EJB3 هو واصف لايت)، اعتذاري، من فضلك لا أسفل التصويت لي:)