"runnable" olan bir "A" sınıfı var ve Java unmarshallers'den yeni nesneler yapıyorum. MainGUI iş parçacığı, bu örneklere zaten "A" sınıfında olan get() tarafından erişmeye çalışır. Sınıf A'da oluşturduğum örnekler, onları kalıcı hale getirdim, böylece sonsuza kadar kullanılabilirlerdi, ancak farklı özelliklere sahip yeni bir tam örnek aldığımda problem, yeni örneği bir önceki verilerle karşılaştırmalı ve yeni olan.Nesneleri farklı iş parçacıklarının arasında geçirmenin en iyi yolu?
Bu sorun için daha iyi bir yol veya tasarım var mı?
Çalışma zamanında oluşturulmuş "A" sınıfı örneklerini statik yapmadan nasıl edinebilirim?
Örnek Kod:
public class SOAPMessagesFactory {
private static GetCameraImageResponse getCameraImageResponse;
// process here the msgs in another thread, not shown here in that snipped
if (messageTag.equalsIgnoreCase("GetCameraImageResponse")) {
try {
JAXBElement<GetCameraImageResponse> cameraImageResponse = unmarshaller.unmarshal(SoapBodyReader, GetCameraImageResponse.class);
getCameraImageResponse = cameraImageResponse.getValue();
} catch (Throwable ex) {
ex.printStackTrace();
}
}
public GetCameraImageResponse getCameraImageResponse() {
if (getCameraImageResponse != null) {
return getCameraImageResponse;
} else {
return null;
}
}
// in main gui
public void UpdateGUI() {
GetCameraImageResponse cameraImageResponse = messageFactory.getCameraImageResponse();
}
Birinin önceki verileriyle ne demek istiyorsun ve yenisini saklıyorsun? Örneği değiştiriyor musunuz? –
OP, son nesnenin durumunu (karşılaştırmak için) ve yeni bir tane de – Freak
kod snippet'leri sağlamanız anlamına mı geliyor? –