Ales,
I am reading your article 'Spring and EJB 3.0 in Harmony'
Quote:
anonymous wrote : 
  | However, one big problem with EJB 3.0 dependency injection is that there's 
no way of configuring, defining, and injecting plain Java beans. 
  | You can only inject Java EE component types and <env-entry> only lets you 
inject primitive types. Sure, EJBs look a lot like POJOs and JBoss has the 
concept of a @Service bean, which is a singleton, but do we really have to 
define and inject these component objects that have to run in containers? 
  | And what about beans from third-party libraries and pre-existing code.
  | 
Well, how about this?

  | @Stateless
  | public class OrderEntryBean implements OrderEntry {
  |     
  |     @PersistenceContext(unitName = "titan")
  |     private EntityManager manager;
  |     
  |     private PersonDao personDao;
  | 
  |     @Resource(name = "personDaoImplName")
  |     private String personDaoImplName;
  | 
  |     @PostConstruct
  |     public void postConstruct() {
  |             try {
  |                  personDao = (PersonDao) (Class.forName(personDaoImplName))
  |                                     .newInstance();
  |             } catch (Exception e) {
  |                     throw new ValidationException(e);
  |             }
  |             personDao.setManager(manager);
  |     }
  | }
  | 

  | <enterprise-beans>
  |             <session>
  |                     <ejb-name>OrderEntryBean</ejb-name>
  |                     <env-entry>                             
<env-entry-name>personDaoImplName</env-entry-name>
  |                             
<env-entry-type>java.lang.String</env-entry-type>
  |                             <env-entry-value>
  |                                     com.arno.dao.impl.PersonDaoImpl
  |                             </env-entry-value>
  |                     </env-entry>
  |  </session>
  | </enterprise-beans>
  | 

It might be heavy, it might be not-elegant the way Spring provides solution 
(LOC), injected object cannot be configured externally. But to all practical 
purposes  as long as a class has an interface it can be injected into EJB and 
serve the purpose of injection - runtime definition of implementation. Not so? 
;)

Cheers,
Arno

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3961917#3961917

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3961917
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to