는 난,JSF에서 양식을 처리 할 때 모든 스레드가 하나의 스레드에서 발생합니까?
public List<Hour> getHours() {
final List<Hour> hours = IntStream.range(0, Hour.TIME.values().length)
.mapToObj($ -> new Hour()).collect(Collectors.toList());
for (int i = 0; i < 5; i++) {
hours.get(i).setHour(1);
}
return hours;
}
여기가 지금 시간 클래스를
public class Hour {
private int time;
public int getTime() {
return time;
}
public void setTime(int time) {
this.time = time;
}
}
을의 방법을 가지고, 내가
<p:dataTable styleClass="scheduleTable" value="#{todaySchedule.hours}" var="hour">
<p:column headerText="Hour" styleClass="hourColumn" >
#{hour.time}
</p:column>
</p:dataTable>
와 클래스라는 todaySchedule에서이 코드 조각을 말해봐 시간이 지남에 따라 동적 인 dataTable 데이터 반복을 만들기 위해 JSF가 어떤 일을하는지 확신 할 수는 없지만,이 모든 것이 한 스레드에서 발생한다면, 괜찮아. 그러나, 배후에 있다면 getHours는 실제로 생성 열을 수행하고 나쁜 상태로 시간을 보는 다른 스레드에서 사용됩니까? 이것은 내 질문은 후자의 디자인으로 변경되지 않은 경우 기본 동정 JSF 데이터 테이블 렌더링을 사용하는 경우, 일 때문에 가시성이 잘못 될 수 있다는 것입니다, 방법은 그러나
public List<Hour> getHours() {
final List<Hour> hours = new ArrayList<>();
for (int i = 0; i < 5; i++) {
hours.add(new Hour(i + ""));
}
return hours;
}
with the corresponding Hour class being
public class Hour {
private final int time;
public Hour(int time) {
this.time = time;
}
public int getTime() {
return time;
}
}
이었다)합니다 (는 getHours 경우 피할 수 이 Hour 인스턴스를 게시 할 때 Java 관련 문제가 있습니까?
그것은 하나의 스레드 – Kukeltje