Jcr (Modeshape) Двоичный контент Сериализуемый
Я использую Modeshape 2.6.0. У меня есть два типа контента: двоичный контент и метаданные.
Двоичный файл сохраняется в свойстве jcr:data узла CR. Я получаю контент через content.getProperty("jcr:data"). GetBinary()...(где контент имеет тип Node)
Проект использует решение для кэширования ehcache. Этот механизм кэширования должен быть расширен до моего двоичного содержимого. Чтобы это работало, мне нужно перевести содержимое узла в нечто, реализующее Serializable.
Моей первой целью был Binary с использованием content.getProperty("jcr:data"). GetBinary () Но я получаю сообщение об ошибке ниже, так как Binary не реализует Serializable.
23: 44: 49,255 ОШИБКА [net.sf.ehcache.store.compound.factories.DiskStorageFactory] Диск Запись 7690f9c6-a6f0-412e-ba47-b8e43f77d1af не удалась (вместо этого будет удалено):: java.io.NotSerializableException: org.modeshape.jcr.JcrBinary
Любое предложение?
Спасибо.
1 ответ
Нашел способ сделать это...
Я строю объект ByteArrayOutputStream, bout, где я пишу байты, которые я читаю из contentNode.getProperty("jcr:data"). GetBinary(). GetStream(). Наконец, я возвращаю объект (экземпляр класса, который я написал, который реализует Serializable), который инкапсулирует byte[] из bout.toByteArray()
Если есть лучшие способы сделать это, пожалуйста, поделитесь.
Благодарю.