0

I did everything according to instructions.

application.conf contains:

smtp.host=smtp.gmail.com
smtp.port=465
smtp.ssl=true
smtp.user=myemail@gmail.com
smtp.password=xxxxxx
smtp.debug=false

The code contains

    package controllers;


import ninja.postoffice.Mail;
import ninja.postoffice.Postoffice;
import com.google.inject.Inject;
import com.google.inject.Provider;

public class MailController {

    @Inject
    Provider<Mail> mailProvider;

    @Inject
    Postoffice postoffice;

    public void sendMail(String to) {
        try {
        Mail mail = mailProvider.get();
......

It fails at mailProvider.get() giving the java.lang.NullPointerException

What am I missing ??

EDIT, THE STACK TRACE:

java.lang.NullPointerException
        at controllers.MailController.sendMail(MailController.java:19)
        at controllers.RegisterResendController.confirmation(RegisterResendController.java:37)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at ninja.params.ControllerMethodInvoker.invoke(ControllerMethodInvoker.java:57)
        at ninja.FilterChainEnd.next(FilterChainEnd.java:49)
        at ninja.NinjaDefault.onRouteRequest(NinjaDefault.java:102)
        at ninja.servlet.NinjaServletDispatcher.service(NinjaServletDispatcher.java:86)
        at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:287)
        at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:277)
        at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:182)
        at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)
        at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119)
        at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133)
        at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130)
        at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203)
        at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
        at org.eclipse.jetty.server.Server.handle(Server.java:497)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
        at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
        at java.lang.Thread.run(Thread.java:745)
3xCh1_23
  • 1,491
  • 1
  • 20
  • 39

1 Answers1

2

Somehow your RegisterResendController must get an instance of MailController. I suspect that instance of MailController is not injected into RegisterSendController. And therefore lacking any instances provided by Guice. Make sure you don't create instances of your class on your own (via 'new MailController' and such).

Please also paste line numbers and RegisterSendController if you want to get more feedback.

Ra_
  • 569
  • 5
  • 13