Let's start off with an example. I have a Users class with a private singleton, e.g.
@Mixin(Whatever) class Users{ private static Users instance = new Users() def doGetUserByEmail(){} static def getUserByEmail(){ instance.doGetUserByEmail() } }
Unfortunately, this is not working as Users.instance is constructed within the class before Groovy does more thing with its interpreter (at this point, I still have limited knowledge about Groovy, but that's the basic idea).
So I let Groovy to handle the construction of the singleton for me, with @Singleton - resulted with the same effect.
However, @Singleton(lazy = true) solves the problem, as the late/lazy instantiation happens on a "ready" POGO class.
1 comment:
+1, I found this out myself after much hair pulling. Glad to see I'm not just insane.
Post a Comment