用户来了,例如他想预约,在那里他必须输入他的电子邮件,电话号码等许多个人数据。在用户点击进入之前,他必须接受隐私声明,其中包括我们存储他的个人信息的时间。因此,当用户单击Enter时,后端将事件源用户输入的所有信息。他的所有隐私数据都将存储到Axon的域事件条目表中,用于创建事件的聚合。可以在有效载荷中找到用户的个人数据。因此,当存储时间到期时,我必须从所有表中删除所有的个人数据,包括Axon的域事件条目表。
所以我的问题是如何从域事件条目中删除聚合。
我尝试了这个解决方案:
@EventSourcingHandler
public void on(CampaignDeletedEvent event) {
markDeleted();
}
谢谢,Máté
事件源要求应用程序的状态更改不作为新状态(覆盖以前的状态)显式地存储在数据库中,而是作为一系列不可变的事件。不应删除这些事件和/或更改内容。这样你就不会丢失任何数据/信息。系统中发生的一切都被存储。如今,信息远比存储的价格更有价值,不要扔掉它;)
但是,事件的某些属性不应该被所有使用者读取,我们应该能够删除
这些属性,而不会触及事件存储(一系列事件)。此问题的常见解决方案之一是对敏感属性进行加密,对每个资源使用不同的加密密钥。只把钥匙给需要它的消费者。当需要删除敏感信息时,请删除加密密钥,以确保信息永远不会再次被访问。这实际上使敏感数据的所有副本和备份都无法使用。这种模式被称为密码分解。当然,加密分解模式只与您的加密和密钥管理实践一样好,在我看来,它是一个比仅仅在SQL表上运行delete更好的选择(您真的删除所有数据吗--日志呢?)
Axon为此提供了一个商业模块Axon数据保护模块
(https://axoniq.io/product-overview/axon-data-protection)。
我在这个问题上挣扎了一段时间,我似乎没有找到任何答案。 谢了。
问题内容: 我想从下表中删除多个重复的键: 希望它像 我正在使用mysql。这是可能的吗?我不能使用 查询来进行唯一的输入,因为我希望将这些重复的输入输入到表中。 问题答案: 一种方法是使用将表联接到子查询上。子查询得到最低为每。当记录在子查询上不匹配时,仅表示它没有匹配的记录并且可以安全地删除。 SQLFiddle演示 但是,如果的记录可以具有不同的名称,则您需要在子句中包括它们,否则将仅保留最
问题内容: 我错误地 从Windows计算机中 删除了Java文件夹 。 现在我在各种插件以及所有插件中都遇到了问题,它要求我 下载最新的JRE 。当我尝试这样做时,它说 JRE已经存在 ,您是否要删除旧的JRE并安装新的JRE?我说是,然后给我错误“ 1723”。 简而言之, JRE不会被卸载 。 我重新安装了Java SDK,但是仍然无法正常工作。我再次卸载了Java SDK,并尝试卸载JRE
问题内容: 我目前正在使用Hibernate Envers。 如何删除审核表中与我要删除的实体相关的条目?我的实体与其他实体没有任何关系。 我发现必须在自定义侦听器的方法中执行此操作: 我已经阅读了文档,论坛以及许多内容,但我无法弄清楚。也许这是不可能的,我不知道。 有人做过吗? 问题答案: 好吧,对于那些想知道的人,我已经完成了50%。 感谢Hibernate Envers的创建者Adam Wa
问题内容: 我需要编写一个简单的函数,该函数将删除包含类对象的所有条目。我编写了函数,但是如果的大小大于1 ,则该函数将不起作用。 编辑#1 错误消息如下: 问题答案: 该代码无法编译。什么啊 无论如何,如果要在迭代时删除元素,则必须使用迭代器的remove方法进行操作: 不过,您的方法可以做到。更直接,更有效。
问题内容: 在遍历列表时,我想根据条件删除列表中的项。请参见下面的代码。 这给了我一个例外。 如何才能做到这一点? 问题答案: 您需要使用和调用上,而不是使用循环。