Switching to getDeclaredConstructor.newInstance as a fallback

This commit is contained in:
Viktor Klang 2012-06-13 15:19:58 +02:00
parent 1eb6681b3c
commit 6bb1bf6795

View file

@ -186,9 +186,10 @@ case class Props(
* able to optimize serialization.
*/
private[akka] case class FromClassCreator(clazz: Class[_ <: Actor]) extends Function0[Actor] {
def apply(): Actor = {
val ctor = clazz.getDeclaredConstructor()
ctor.setAccessible(true)
ctor.newInstance()
def apply(): Actor = try clazz.newInstance catch {
case iae: IllegalAccessException
val ctor = clazz.getDeclaredConstructor()
ctor.setAccessible(true)
ctor.newInstance()
}
}