I am creating Java application that uses JSF with @EJB injection. Does your server support that because I always get null for "userBeam" that is defined in @ManagedBean when I call loginBean.loginProject from xhtml file. If I call it from Webservlet then it works. I am using trial account.
Code example:
LoginBean.java
@ManagedBean(name = "loginBean")
@SessionScoped
public class LoginBean implements Serializable {
private static final long serialVersionUID = 1L;
private String password;
private String message, uname;
@EJB
UserBeam userBeam;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String loginProject() {
if (userBeam == null) <--userBeam IS NULL
{
System.out.println("userBeam == null");
}
boolean result = userBeam.login(uname, password);
}
public String logout() {
HttpSession session = Util.getSession();
session.invalidate();
return "login";
}
}
UserBeam.java
@Stateless
@LocalBean
public class UserBeam {
@PersistenceContext
private static EntityManager em;
public List<User> getAllPersons() {
System.out.println("getAllPersons()");
return em.createNamedQuery("AllUsers").getResultList();
}
public void addUser() {
User newUser = new User();
newUser.setFirstName("name");
newUser.setLastName("surname");
newUser.setUsername("user");
newUser.setPassword("pass");
newUser.setPhone("054354353");
newUser.setCompany("Company");
em.persist(newUser);
em.flush();
}
public boolean login(String user, String password) {
System.out.println("login(String user, String password)");
System.out.println("USER: " + user + " PASS: " + password );
return true;
}
}