การกำหนดชื่อของ Service
- property name เทียบกับ ejb-jar.xml คือ ejb-name
- property mappedName ใช้กำหนด global JNDI name
@Stateless // name() defaults to "A2"
public class A1 implements A { ... }
@Stateless(name="A2", mappedName="A2Global") // force product-specific JNDI name to "A1Global"
public class A2 implements A { ... }
การเรียกใช้
- property name เทียบกับ ejb-jar.xml คือ ejb-ref-name ไว้สำหรับใช้เรียกผ่าน java:comp/env
- property beanName เทียบกับ ejb-jar.xml คือ ejb-link
- property mappedName เทียบกับ ejb-jar.xml คือ mapped-name ไว้เรียก global JNDI name
ภายใต้ application เดียวกัน(อยู่ภายใต้ ear เดียวกัน)
@EJB
private A a;
@EJB(beanName="A2")
private A a;
ต่าง application กัน
@EJB(mappedName="A1/local") // for JBoss
private A a;
@EJB(mappedName="A2Global")
private A a;
หมายเหตุ mappedName เป็น product-specific JNDI name ฉะนั้นระวังด้วยหาก application ต้องการความสามารถ portability ซึ่งใน EJB 3.1 ที่มีการกำหนดเรื่อง portable JNDI name ไว้ แนะนำให้ใช้ property lookup แทน
อ้างอิง
forums.sun.com
What is the relationship between @EJB and ejb-ref/ejb-local-ref?
Partial Deployment Descriptors
ไม่มีความคิดเห็น:
แสดงความคิดเห็น