GetCameraImageResponse

GetCameraImageResponse

我有一个“可运行”的类“A”,并且用Java解码器制作了新对象。 MainGUI线程尝试通过类“A”中已经存在的get()访问这些实例。我在A类中创建的实例使它们成为静态的,因此它们将永远可用,但是当我得到一个具有不同属性的新完整实例时,我不得不将新实例与先前实例的数据进行比较,并保留该实例,这是一个问题。新的那一个。

有没有更好的方法或设计来解决该问题?

如何获得在运行时创建的类“A”的实例而不使其成为静态对象?

样例代码:

    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();

}

最佳答案

尝试Producer-Consumer模式。

10-06 08:37