Wildfly 서버에서 Java 및 JSF로 작업하고 있습니다. 함수가 Bean의 객체를 수정하는 원격 EJB가 있습니다.내 개체 할당 또는 값 설정의 차이점
이 2의 차이점은 무엇입니까? 는 값
설정 객체public void updateStatus() {
for (TCSInstance i : tcsInstanceObjects) {
i = tcsClient.updateServerStatus(i);
}
}
할당
public void updateStatus() {
for (TCSInstance i : tcsInstanceObjects) {
TCSInstance obj = tcsClient.updateServerStatus(i);
i.setStatus(obj.getStatus());
i.setVersion(obj.getVersion());
}
}
내 원격 EJB
public TCSInstance updateServerStatus(TCSInstance tcsInstanceObject) {
List<String> returnValues = new ArrayList<String>();
String pattern = ".*(\\d{2}\\.\\d{2}\\.\\d{2}\\.\\d{2}).*";
Pattern p = Pattern.compile(pattern);
if (connect(tcsInstanceObject.host, tcsInstanceObject.port)) {
returnValues = readFromServer(stopValueBeforeLog);
tcsInstanceObject.setStatus("Active");
Matcher m = p.matcher(returnValues.toString());
if (m.find()) {
tcsInstanceObject.setVersion(m.group(1));
} else {
tcsInstanceObject.setVersion(returnValues.toString());
}
disconnect();
} else {
tcsInstanceObject.setStatus("Not Active");
}
return tcsInstanceObject;
}
에서
updateServerStatus 기능 당신은 내가 EJB의 버전 및 상태를 설정하고 있습니다 볼 수 있듯이 및 그런 다음 객체를 반환합니다.
옵션 1 할당이 작동하지 않습니다. 버전 및 상태가 정의되지 않았습니다.
옵션 2는 완벽하게 작동합니다.
하지만 왜? 누군가 제발 말해 줄 수 있니?
편집 TCSInstance 클래스
package com.six_group.dsx.tat.tcs.web.data;
import java.io.Serializable;
public class TCSInstance implements Serializable {
public String env;
public String host;
public int port;
public String dir;
public String version;
public String status;
public TCSInstance(String _env, String _host, String _port, String _dir, String _version) {
this.env = _env;
this.host = _host;
this.port = Integer.parseInt(_port);
this.dir = _dir;
this.version = _version;
this.status = null;
}
public TCSInstance() {
// TODO Auto-generated constructor stub
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getEnv() {
return env;
}
public void setEnv(String env) {
this.env = env;
}
public String getDir() {
return dir;
}
public void setDir(String dir) {
this.dir = dir;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public void setHost(String host) {
this.host = host;
}
public void setPort(int port) {
this.port = port;
}
public int getPort() {
return port;
}
public String getHost() {
return host;
}
}
'TCSInstance' 클래스의'getStatus()'와'getVerison()'메소드에 치료법이 있습니까? –
'i = tcsClient.updateServerStatus (i);'행은 나에게 이상하게 보인다. – px06
@andolsizied 아니요 그냥 값 – Sundaze