Merge pull request #27308 from 412b/fix-java9+-ctor-call-compat

Java 9+ compilation compat nitpicks
This commit is contained in:
Patrik Nordwall 2019-07-10 15:43:13 +02:00 committed by GitHub
commit a4f090b622
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 5 deletions

View file

@ -116,7 +116,7 @@ class DnsExt private[akka] (val system: ExtendedActorSystem, resolverName: Strin
override def apply(r: String): ActorRef = {
val settings =
new Settings(system.settings.config.getConfig("akka.io.dns"), "async-dns")
val provider = system.dynamicAccess.getClassFor[DnsProvider](settings.ProviderObjectName).get.newInstance()
val provider = system.dynamicAccess.createInstanceFor[DnsProvider](settings.ProviderObjectName, Nil).get
system.log.info("Creating async dns resolver {} with manager name {}", settings.Resolver, managerName)
system.systemActorOf(
props = Props(
@ -163,7 +163,7 @@ class DnsExt private[akka] (val system: ExtendedActorSystem, resolverName: Strin
// System DNS resolver
val provider: DnsProvider =
system.dynamicAccess.getClassFor[DnsProvider](Settings.ProviderObjectName).get.newInstance()
system.dynamicAccess.createInstanceFor[DnsProvider](Settings.ProviderObjectName, Nil).get
// System DNS cache
val cache: Dns = provider.cache

View file

@ -42,14 +42,15 @@ private[akka] object Reflect {
* @param clazz the class which to instantiate an instance of
* @return a new instance from the default constructor of the given class
*/
private[akka] def instantiate[T](clazz: Class[T]): T =
try clazz.newInstance
private[akka] def instantiate[T](clazz: Class[T]): T = {
val ctor = clazz.getDeclaredConstructor()
try ctor.newInstance()
catch {
case _: IllegalAccessException =>
val ctor = clazz.getDeclaredConstructor()
ctor.setAccessible(true)
ctor.newInstance()
}
}
/**
* INTERNAL API