정적 HashMap에서 데이터를 직렬화해야한다. 이지도가 존재하는 클래스의 인스턴스가 없기 때문에이 정적 데이터가 필요합니다. 나는 직렬화 가능 인터페이스를 구현하고이 두 가지 방법을 구축 :직렬화를위한 메소드는 결코 호출되지 않았다
private synchronized void writeObject(ObjectOutputStream out) throws IOException
{
System.out.println("start serialization ...");
Collection<TaskUpdateListener> tasks = listeners.values();
out.writeInt(tasks.size());
for(TaskUpdateListener task : tasks)
{
out.writeObject(task);
}
}
private synchronized void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
{
System.out.println("start deserialization ...");
int size = in.readInt();
for(int index = 0; index < size; index++)
{
addTaskUpdateListener((ComponentScheduleTable) in.readObject());
}
}
을하지만이 방법은 호출되지 않습니다. 누구나이 문제와 동일한 문제 또는 해결책이 있습니까?
어떻게 수업을 사용하고 있습니까? 직렬화 코드를 살펴보면 호출되지 않는 이유를 알아 내기가 어렵습니다. – twain249
그냥 HashMap을 직렬화하지 않는 이유는 무엇입니까? –
클래스에는 정적 메서드 만 있고 일부 정적 변수에는 user_id가 일부 캐시됩니다. – Happo