Определить, действительно ли объект Serializable сериализуем?

Есть ли встроенный метод — или кто-нибудь может указать мне на хороший шаблон — для определения того, действительно ли объект, реализующий Serializable, сериализуем во время создания? Мне нужно что-то, что не имеет побочных эффектов, поэтому я не могу просто вызывать методы на своем сервере приложений, которые фактически сериализуют объекты.

Я бы предпочел что-то, что я могу использовать в конструкторе без изменения подписи конструктора. Тем не менее, я не против построить фабрику для этих объектов, если это облегчит задачу.

ИЗМЕНИТЬ

Согласно этот вопрос принятый ответ похоже, я могу просто создать свой собственный канал ObjectOutputStream -> ObjectInputStream для проверки сериализуемости объектов во время создания.


person Matt Mills    schedule 01.05.2012    source источник
comment
Почему (нормальная) сериализация вызывает побочные эффекты? (Могут быть созданы новые объекты, но такие побочные эффекты деталей окружения игнорируются даже в функциональном программировании). вопрос ловли исключения.   -  person    schedule 01.05.2012
comment
Как модульный тест покажет мне, что любая реализация интерфейса или подкласса суперкласса, которая была передана и сохранена по ссылке, сериализуема?   -  person Matt Mills    schedule 01.05.2012
comment
@pst - в моем случае единственный раз, когда эти объекты в настоящее время сериализуются, - это когда они отправляются по сети, что может либо даже не быть подключено при создании объекта, либо может вызвать побочные эффекты, когда сообщение получен.   -  person Matt Mills    schedule 01.05.2012
comment
@arootbeer Если сериализация не удалась, как отправляются сообщения?   -  person    schedule 01.05.2012
comment
@pst - Это не так, но тем временем в локальной среде могли быть сделаны другие вещи. В данном конкретном случае я имею дело с распределенными ключами кеша, поэтому, если сериализация не удалась, удаленные кеши не становятся недействительными.   -  person Matt Mills    schedule 01.05.2012
comment
Так что же должен иметь объект (кроме реализации интерфейса Serializable), чтобы соответствовать вашим требованиям?   -  person Daniel Gabriel    schedule 02.05.2012
comment
@DanielGabriel - я специально ищу обобщенный тест; Я не хочу, чтобы это было связано с каким-либо другим требованием.   -  person Matt Mills    schedule 02.05.2012
comment
Можно поподробнее, что за тест? Потому что тот факт, что он реализует Serializable, уже делает его сериализуемым, но вы говорите, что этого недостаточно.   -  person Daniel Gabriel    schedule 02.05.2012