Thanks for the suggestion Jan.
I now check if the logger is null in the matcher which gets me passed that
issue.
Also, I think I solved my second issue with the listener itself throwing
NPEs from the encounter. I don't think I was using it right before.
Basically, the fix was something like this:
1. When I register a new injection listener with the encounter, I get
the providers from the encounter as fields in the listener. (Before I was
trying to get the objects from the providers as fields which resulted in
the NPEs.)
2. Then in the afterInjection method, I use the providers to actually
get() the instances.
i.e. In my InjectionListener class:
// Fetch the log object provider from guice
private final Provider<Logger> logProvider =
encounter.getProvider(Logger.class);
@Override
public void afterInjection(I injectee)
{
Logger log = logProvider.get();
...
Hope that helps anyone else that runs into this.
On Saturday, 1 September 2012 02:14:04 UTC-4, Jan Galinski wrote:
>
> You are using "requestInject()" which also triggers the listener. I dont
>> know any lifecycle variable that I could check, so in cases like yours, I
>> manually check if injection has already taken place.
>
> So use "if log != null" to avoid the NullPointer
> Alternatively, adopt your Matcher, so that it excludes Log, then the
> listener wont get called.
>
--
You received this message because you are subscribed to the Google Groups
"google-guice" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/google-guice/-/4EX2OTdGsT8J.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-guice?hl=en.