当前位置: 首页 > 知识库问答 >
问题:

使XMLSignature可序列化以将其存储在Hazelcast中

琴修为
2023-03-14

我在 Java 项目中使用 javax.xml..加密.dsig.XML签名来签署一个组织.w3c.dom.Document 对象(在签名对象元素中)。然后,我需要序列化签名以将其存储黑泽尔卡斯特中。

XMLSignature不实现< code>Serializable。如何使XMLSignature可序列化以存储在Hazelcast中?

我在使用XMLSignature对象保存地图时遇到了这个Hazelcast异常:

com.hazelcast.nio.serialization.HazelcastSerializationException:java.io.NotSerializableException:org.apache.jcp.xml.dsig.internal.dom.DOMXMLSignature

我试图将XMLSignature包装到MyXMLSignature到实现Serializable的类,但没有成功。

共有1个答案

咸晨
2023-03-14

我试图在Hazelcast存储的实体中避免使用系统类和其他第三方类,但如果绝对需要,我会将不可序列化类进行子类化或包装,并实现数据序列化。您可能会喜欢IdentifiedDataSerializable和Portable,但我怀疑在这种情况下是否有必要。

无论如何,标准可序列化是一个可怕的选择。即使在20K成员上,它也会在查询期间显示。它需要在最内部的超类级别实现,以序列化其内容,您无法在此处添加内容。

阅读本文,了解不同序列化方法的比较。比较黑泽尔铸造序列化方法

 类似资料:
  • 问题内容: 我有以下课程: 我想序列化HashMap以便将其保存在Redis中。 java.io.NotSerializableException:关键字 问题答案: 使您和类实现。 您要序列化的所有内容都应实现,并且默认情况下可以序列化,因此您无需为它们做任何事情。 请阅读此。

  • 问题内容: 问题是,当我将序列化对象存储在.txt文件中时,它的格式不是可读的,并且包含一些随机的符号和字母。首先,我想知道其背后的原因是什么,然后如何解决此问题。 好了,这是我的代码:我要序列化的对象 序列化 } 反序列化 输出: 问题答案: 存储在文件中的序列化对象不可读 除了通过反序列化之外,它们并不可读。 问题是,当我将序列化对象存储在.txt文件中时,它的格式不是可读的,并且包含一些随机

  • 我有以下一段代码在我的程序,我正在运行SonarQube 5的代码质量检查后,它与Maven集成。 然而,Sonar要求将“UserProfile”序列化,或者不将其存储在会话中。 为什么? 面对问题在第10行-(ENumGlobal.用户配置文件

  • 问题内容: 我需要将一些时间序列数据存储到Redis中。我有unix时间戳,并且我需要关联一个值(时间戳<->值) 我尝试将时间戳记作为得分(以便我可以在时间戳记上进行zrange)并将值作为成员的排序集。 但是我遇到了一个问题,成员没有重复,而对于不同的时间戳,我的值可以相同。知道如何处理吗?其他数据类型更好吗? 问题答案: 解决此问题的一个简单技巧是将时间戳记和值连接起来。 而不是存储: 您可

  • 如果接口只是一个标记接口,用于在 java 中传递有关类的某种元数据 - 我有点困惑: 在阅读了java的序列化算法(元数据从下到上,然后从上到下的实际实例数据)的过程之后,我无法真正理解哪些数据不能通过该算法进行处理。 简而言之: 哪些数据可能导致? 我怎么知道我不应该为我的类添加子句?

  • 问题内容: 我在存储过程中有以下SQL。有没有一种方法可以删除IF语句,并将’ASC’/’DESC’选项作为变量传递? 我知道我可以用多种不同的方式进行查询,或者返回一个表并在外部对其进行排序等。我只想知道是否可以避免重复CASE语句。 问题答案: 传入@OrderBy int,其中正数是ASC,负数是DESC,实际数字是要排序的列 只需确保您构建的字符串能够正确排序,请注意,我使用’YYYY-M