Suppress Java Serializer warnings when extending NoSerializationVerificationNeeded (#19963) (#20785)
This commit is contained in:
parent
625413e413
commit
08aa41c818
4 changed files with 82 additions and 5 deletions
|
|
@ -247,13 +247,20 @@ class Serialization(val system: ExtendedActorSystem) extends Extension {
|
|||
Map(NullSerializer.identifier → NullSerializer) ++ serializers map { case (_, v) ⇒ (v.identifier, v) }
|
||||
|
||||
private val isJavaSerializationWarningEnabled = settings.config.getBoolean("akka.actor.warn-about-java-serializer-usage")
|
||||
private val isWarningOnNoVerificationEnabled = settings.config.getBoolean("akka.actor.warn-on-no-serialization-verification")
|
||||
|
||||
private def shouldWarnAboutJavaSerializer(serializedClass: Class[_], serializer: Serializer) = {
|
||||
|
||||
def suppressWarningOnNonSerializationVerification(serializedClass: Class[_]) = {
|
||||
//suppressed, only when warn-on-no-serialization-verification = off, and extending NoSerializationVerificationNeeded
|
||||
!isWarningOnNoVerificationEnabled && classOf[NoSerializationVerificationNeeded].isAssignableFrom(serializedClass)
|
||||
}
|
||||
|
||||
isJavaSerializationWarningEnabled &&
|
||||
serializer.isInstanceOf[JavaSerializer] &&
|
||||
!serializedClass.getName.startsWith("akka.") &&
|
||||
!serializedClass.getName.startsWith("java.lang.")
|
||||
!serializedClass.getName.startsWith("java.lang.") &&
|
||||
!suppressWarningOnNonSerializationVerification(serializedClass)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue