@EJB is used to inject an EJB Remote/local interface. Whilst @Resource is what you would use to inject any resource from your "jndi:comp/env" environment. This could be a datasource, email connection, jms connectionfactory etc
thanks Vignesh Murali Natarajan,
i have read that @EJB is not supported by and we need to explicitly do a loop up(only GlassFish servers support),what and where to configure this JNDI stuff's if am using jboss server.i want to know about this JNDI
AS the name said the @EJB is used only to inject beans. The resource is used to inject other resources (like EJBContext). But the most important aspect here is that the both @EJB and the @Resources are supported by all the application servers and both uses in background JNDI to locate the needed components.