=act #19789 do not log serialization warnings for java.lang.*
This commit is contained in:
parent
c294a22d22
commit
d5eab6edef
2 changed files with 17 additions and 6 deletions
|
|
@ -420,12 +420,19 @@ class DefaultSerializationWarningSpec extends AkkaSpec(
|
|||
ConfigFactory.parseString("akka.actor.warn-about-java-serializer-usage = on")) {
|
||||
|
||||
val ser = SerializationExtension(system)
|
||||
val messagePrefix = "Using the default Java serializer for class.*"
|
||||
|
||||
"Using the default Java serializer" must {
|
||||
|
||||
"log a warning" in {
|
||||
EventFilter.warning(message = "Using the default Java serializer for class.*") intercept {
|
||||
ser.serializerFor(classOf[java.lang.Integer])
|
||||
"log a warning when serializing classes outside of java.lang package" in {
|
||||
EventFilter.warning(message = messagePrefix) intercept {
|
||||
ser.serializerFor(classOf[java.math.BigDecimal])
|
||||
}
|
||||
}
|
||||
|
||||
"not log warning when serializing classes from java.lang package" in {
|
||||
EventFilter.warning(message = messagePrefix, occurrences = 0) intercept {
|
||||
ser.serializerFor(classOf[java.lang.String])
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -246,10 +246,14 @@ class Serialization(val system: ExtendedActorSystem) extends Extension {
|
|||
val serializerByIdentity: Map[Int, Serializer] =
|
||||
Map(NullSerializer.identifier -> NullSerializer) ++ serializers map { case (_, v) ⇒ (v.identifier, v) }
|
||||
|
||||
private def shouldWarnAboutJavaSerializer(serializedClass: Class[_], serializer: Serializer) =
|
||||
settings.config.getBoolean("akka.actor.warn-about-java-serializer-usage") &&
|
||||
private val isJavaSerializationWarningEnabled = settings.config.getBoolean("akka.actor.warn-about-java-serializer-usage")
|
||||
|
||||
private def shouldWarnAboutJavaSerializer(serializedClass: Class[_], serializer: Serializer) = {
|
||||
isJavaSerializationWarningEnabled &&
|
||||
serializer.isInstanceOf[JavaSerializer] &&
|
||||
!serializedClass.getName.startsWith("akka.")
|
||||
!serializedClass.getName.startsWith("akka.") &&
|
||||
!serializedClass.getName.startsWith("java.lang.")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue