Forms在AEM Forms中启动期间序列化失败

升级到AEM Forms后,服务器启动因序列化失败而失败。 发生此情况是因为反序列化防火墙配置缺少所需的类白名单或包含冲突的serialFilter设置。 要解决此问题,请更新反序列化防火墙配置,并从服务器启动配置中删除任何冲突的serialFilter参数。

描述 description

环境

Adobe Experience Manager - Forms (AEM - Forms)

问题/症状

服务器启动期间发生与此类似的错误,导致服务器无法正常启动:

[ com.adobe.idp.scheduler.SchedulerServiceImpl] (ServerService Thread Pool -- 259) Error starting scheduler: org.quartz.SchedulerConfigException: Failure occured during job recovery. [ See nested exception: org.quartz.JobPersistenceException: Couldn't store trigger: filter status: REJECTED [ See nested exception: java.io.InvalidClassException: filter status: REJECTED] ]

解决方法 resolution

  1. 转到位于http://hostname:port/lc/system/console/configMgr的系统控制台。

  2. 查找com.adobe.cq.deserfw.impl.DeserializationFirewallImpl的配置。

  3. 在此配置中,确保com.adobe.cq.deserfw.impl.DeserializationFirewallImpl.firewall.deserialization.whitelist.name包含以下类:

    • org.quartz
    • sun.util.calendar.ZoneInfo
    • sun.security.x509.X509CertImpl
    • com.rsa.certj.cert.X509CRL$X509CrlRep
    • org.apache.xmlbeans.impl.values.XmlObjectBase$SerializedRootObject
    • org.apache.xerces.dom
    • sun.security.rsa.RSAPrivateCrtKeyImpl
    • sun.security.rsa.RSAPublicKeyImpl
    • org.jaxen.dom.DocumentNavigator
    • org.quartz.JobDataMap
    • org.quartz.utils.StringKeyDirtyFlagMap
    • double
    • org.quartz.utils.DirtyFlagMap
    • com.sun.proxy.$Proxy356
    • com.rsa.certj.cert.X509CRL
    • com.sun.proxy.$Proxy383
    • org.apache.xml.xml_soap.Map
  4. 保存更改。

  5. 重新启动应用程序服务器。

如果这些白名单条目存在于反序列化防火墙配置中,则无需添加serialFilter参数即可在Java 11或更高版本上正常操作。 如果跳过这些设置,可能会在服务器启动期间发生Quartz作业持久性错误或拒绝序列化尝试。

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f