[SPRING] PostConstruct가 두 번 호출됩니다.
SPRINGPostConstruct가 두 번 호출됩니다.
나는 사용한다,
내 콩은 @ PostConstruct의 init () 메소드를 두 번 호출하는 것으로 나타났습니다. 여기에 두 번 초기화 된 샘플 빈이 있습니다. web.xml이나 다른 것이 필요하다면 그냥 게시하십시오. 아이디어가 없습니다.
@ManagedBean(name = "userBean")
public class UserBean implements Serializable {
private static final long serialVersionUID = -1347081883455053542L;
@ManagedProperty(value = "#{param.username}")
private String username;
private Users user;
private Authentication authentication;
private StreamedContent avatar;
@PostConstruct
public void init() {
System.out.println("userbean init and username: " + username);
user = Users.findByUsername(username);
authentication = SecurityContextHolder.getContext()
.getAuthentication();
if (user == null) {
Navigator.redirect("/601");
return;
}
if (user.isKeepPrivate() == true && !username.equals(authentication.getName())) {
Navigator.redirect("/600");
return;
}
avatar = new DefaultStreamedContent(UserUtils.getAvatar(user), "image/png");
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public StreamedContent getAvatar() {
return avatar;
}
public void setAvatar(StreamedContent avatar) {
this.avatar = avatar;
}
}
해결법
-
==============================
1.우리는 여기서이 문제를 가지고 있지만 WebSphere 6에서는 문제가 있습니다 (websphere에서 폭주 : D).
우리는 여기서이 문제를 가지고 있지만 WebSphere 6에서는 문제가 있습니다 (websphere에서 폭주 : D).
그래서 ... 우리는 @PostConstruct를 사용하는 약간의 해결 방법을 사용합니다 ... 아마 너를 도울 수있어.
public boolean firstInit() { boolean firstInit= false; try { FacesContext context = FacesContext.getCurrentInstance(); firstInit= context != null && context.getExternalContext().getRequestParameterMap().containsKey(ResponseStateManager.VIEW_STATE_PARAM); } catch (Exception e) { firstInit= false; } return firstInit; } public void init(){ if (firstInit()) return; //init methods }
그리고 @PostConstruct 메서드는 동일한 요청에 대해 두 번 호출했는데 이것 역시 당신을 도울 수 있습니다 ...
obs : 나는 코멘트를 쓸 수 없다 : /
from https://stackoverflow.com/questions/21145238/postconstruct-is-called-twice by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] javax.faces.el.VariableResolver SpringBeanFacesELResolver를 사용하는 클래스 캐스트 예외 (0) | 2019.05.01 |
---|---|
[SPRING] 스프링 배치를 구성하여 메타 데이터를 저장하기위한 배치 테이블을 자동으로 생성하지 않으려면 어떻게해야합니까? (0) | 2019.05.01 |
[SPRING] 컨테이너 외부의 jta 데이터 소스 정의하기 (0) | 2019.05.01 |
[SPRING] WMQ 용 JMS 연결 풀 구성 (스프링) 구성 방법 (0) | 2019.05.01 |
[SPRING] Spring 부트 외부 구성 및 xml 컨텍스트 (0) | 2019.05.01 |