Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Resource Injection.

 
sasinda Rukshan
Greenhorn
Posts: 4
Java Java ME Oracle
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
concider following entity manager factory injection.
<enterprise-beans>
<session>
<ejb-class>com.ex.A</ejb-class>
<ejb-name>BeanName</ejb-name>
<persistence-unit-ref>
<persistence-unit-ref-name>jndiname</persistence-unit-ref-name>
<injection-target>
<injection-target-class>com.ex.A</injection-target-class>
<injection-target-name>fieldName</injection-target-name>
</injection-target>
</persistence-unit-ref>

</session>
</enterprise-beans>
We have specified the <ejb-class> so why do we need to have a <injection-target-class> ?
 
Mihai Radulescu
Ranch Hand
Posts: 918
IntelliJ IDE Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Sasinda

The ejb-class represents the bean corresponding class for the a given environment and the injection-* represents the injection applying point.
More precisely, the ejb-class is used to declare entries in the bean context, all the bean instances from this type may use this entries (via JNDI calls) - please notice the "may use it"; there is no must this is just a declaration.
The injection-target-class is used to specify the injection application point - it means inject this instance in this field.

Even if both elements (ejb-class and injection-target-class) have the same meaning they are used in different contexts.

If you dislike to see the "class" in two places you can remove the <ejb-class> element and use <remote> or <local> with the implemented interface.

Regards,
Mihai

 
sasinda Rukshan
Greenhorn
Posts: 4
Java Java ME Oracle
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic