デフォルトの Java ロガーを注入したかったのです。ただし、Eclipse は下線を引き、「インジェクション ポイントへのインジェクションに適格な Bean はありません [JSR-299 §5.2.1]」と述べています。
とにかくデプロイすると、次の例外がスローされます。Java Logger の注入に失敗するのはなぜですか? EntityManager についても同じですが、自分の UserRepository Bean についてはそうではありません。
org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [Logger] with qualifiers [@Default] at injection point [[field]
コード:
import java.util.logging.Logger;
import javax.ejb.Stateless;
import javax.enterprise.event.Event;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import com.terry.webapp.data.UserRepository;
import com.terry.webapp.model.usermgmt.User;
// The @Stateless annotation eliminates the need for manual transaction demarcation
@Stateless
public class LoginService {
@Inject
private Logger log;
@Inject
private EntityManager em;
@Inject
private UserRepository repository;
public User login(User user) {
log.info("login " + user.getUsername());
User rUser = repository.findByCredentials(user.getUsername(), user.getPassword());
return rUser;
}
}