Привет У меня есть следующие вопросы. Мы используем Hazelcast IdentifiedSeializeable. Можно ли десериализовать объект, который был сериализован как один класс, например User, и десериализовать его как еще один класс AdminUser, основанный на предположении, что два класса имеют одинаковые поля?Hazelcast deserialize в другом классе
0
A
ответ
2
Если вы строите свою фабрику соответствующим образом и читаете элементы/поля в том же порядке, они были написаны - да. Вам нужно только знать, что есть еще одна «маленькая» проблема, поскольку конфигурации должны быть в основном похожи или новые узлы не могут присоединиться. Поэтому вам, скорее всего, придется добавить волшебство на свой завод.
С другой стороны, для чего вы хотите это сделать? Не проще ли обернуть свой пользовательский объект в экземпляр AdminUser после десериализации, когда вы выяснили, что это AdminUser?
Смежные вопросы
- 1. Всегда ли Hazelcast deserialize при вызове IMap.get()?
- 2. Deserialize JSON string в классе
- 3. Deserialize на другом языке
- 4. Доступ в другом классе
- 5. FileInputStream в другом классе?
- 6. KeyListener в другом классе
- 7. Создать в другом классе
- 8. NSURLсоединение в другом классе
- 9. MessageShow в другом классе?
- 10. jTextField.getText() в другом классе
- 11. GSON-JSON Deserialize Object в классе
- 12. Deserialize MapWritable в пользовательском классе java
- 13. Deserialize удаленный объект в узком доступном классе
- 14. Установить делегат в другом классе
- 15. setText в другом классе - Android
- 16. Использование строки в другом классе
- 17. Назначение структуры в другом классе
- 18. Печать массива в другом классе
- 19. Установить переменную в другом классе
- 20. метод доступа в другом классе
- 21. Изменения стека в другом классе
- 22. Переменная недоступна в другом классе
- 23. доступа [х] в другом классе
- 24. переменная экземпляра в другом классе
- 25. Заменить метод в другом классе
- 26. Использование переменной в другом классе?
- 27. Использовать AsyncTask в другом классе
- 28. Android SeekBarListener в другом классе
- 29. Реализовать INotifyPropertyChanged в другом классе
- 30. Swift: LocationManager в другом классе
Это может быть глупо, но я как бы мыслю в смысле Microservices, где один объект домена может существовать в нескольких контекстах, содержащих различную бизнес-логику. В основном я думаю в ситуации, когда кто-то реализует сервис, поддерживающий свою модель домена, которая может быть другим аспектом с точки зрения логики для одного и того же. –
Я предполагаю, что serializationID записывается в массив байтов вместе с идентификатором factoryID. Я действительно не знаю, что это за волшебство может быть :) –
Не уверен, никогда не пытался сделать smt вот так. Если вы микросервисы являются клиентами, нет проблем, просто десериализуйтесь в другой объект (если вы сохраните порядок свойств), если вы используете внедренные узлы, это может быть более сложным, и вы можете захотеть использовать StreamSerializer вместо хранения дополнительных данных или логики. – noctarius