我正在使用Modeshape 2.6.0。我有两种类型的内容:二进制内容和元数据..
二进制文件保存在CR节点的jcr:data属性中。我通过content.getProperty(“jcr:data”)获取内容.getBinary()...(其中内容属于Node类型)
Project使用ehcache缓存解决方案。此缓存机制应扩展到我的二进制内容。 为了使它工作,我需要将节点的内容变成实现Serializable的东西。
我的第一个目标是Binary,使用content.getProperty(“jcr:data”)。getBinary() 但是我得到了错误,因为Binary没有实现Serializable。
23:44:49,255 ERROR [net.sf.ehcache.store.compound.factories.DiskStorageFactory] 7690f9c6-a6f0-412e-ba47-b8e43f77d1af磁盘写入失败(将被驱逐):: java.io. NotSerializableException:org.modeshape.jcr.JcrBinary
有什么建议吗?
谢谢。
答案 0 :(得分:1)
找到了办法......
我正在构建一个ByteArrayOutputStream对象,我正在编写我正在从contentNode.getProperty(“jcr:data”)读取的字节.getBinary()。getStream()。 最后,我将返回一个对象(我编写的实现Serializable的类的实例),它封装来自bout.toByteArray()的byte []
如果有更好的方法,请分享。
感谢。