component injection seam 1.2.1. ga
ccode Oct 15, 2007 5:23 AMenvironment
jboss 4.2
seam 1.2.1
i have seam component
package iu.ce.ejb.service; import javax.ejb.Local; import iu.ce.entity.User; @Local public interface UserService { public User getUser(String username, String password); }
import iu.ce.service.UserService; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.NoResultException; import javax.persistence.PersistenceContext; import javax.persistence.Query; import org.jboss.seam.annotations.In; import org.jboss.seam.annotations.Logger; import org.jboss.seam.annotations.Name; import org.jboss.seam.annotations.Out; import org.jboss.seam.log.Log; import org.jboss.seam.security.Identity; @Stateless @Name("userServiceBean") public class UserServiceBean implements UserService { @In Identity identity; @Logger Log log; @PersistenceContext(unitName = "iuce") private EntityManager entityManager; public User getUser(String username, String password) { try { Query q = entityManager.createQuery("from User u where" + " username=:username and password=:password"); q.setParameter("username", username); q.setParameter("password", password); return (User) q.getSingleResult(); } catch (NoResultException e) { return null; } } public void authenticate() { log.info("authenticating #0", identity.getUsername()); getUser("", ""); //getUser("h","h"); //userServiceBean.getUser("h", "h"); // write your authentication logic here, // return true if the authentication was // successful, false otherwise identity.addRole("admin"); //return true; } }
authentication works fine
in application server log
00:47:29,153 INFO [Component] Component: userServiceBean, scope: STATELESS, type: STATELESS_SESSION_BEAN, class: iu.ce.bean.UserServiceBean, JNDI: iuce-ear/UserServiceBean/local
component seems installed
i have another component standart Authentication component which wizards creates.
when i tried to insert this
@In(create=true) UserBeanService userBeanService
or
@In UserBeanService userBeanService
it gives following error
In attribute requires non-null value ...
UserServiceBean returns null.
i want to learn how can i inject seam component to another component.