I'm currently facing a problem I'm just not able to solve. Hopefully you can help me.
I'm creating a modular Vaadin application with Apache Felix and iPojo. The dependencies are resolved but when starting the application, Felix tells me the following:
Instance unnamed of type df.ui.core.impl.BaseVaadinServlet is not bound.
Reason: null
I just can't figure out what Felix tries to tell me. Searching the internet was no help and all other instances are valid. In which cases may such errors occur and how to fix this?
I should add, it's only becoming a problem when extending VaadinServlet. I'm using this tutorial. Removing the inheritance solves the problem, however without a working servlet vaadin seems pretty useless ;) .
Greets Kenneth
@Component(immediate = true)
@Instantiate
// Vaadin Servlet annotations
@WebServlet(value = "/*", asyncSupported = true)
@VaadinServletConfiguration(ui = BaseVaadinUI.class, productionMode = false)
public class BaseVaadinServlet
extends VaadinServlet
{
@Requires
private UIProvider provider;
public BaseVaadinServlet(
@Requires
HttpService httpService,
@Requires(from = "df.ui.core.impl.ResourceProvider")
Factory factory
)
throws ServletException, NamespaceException {
System.out.println("registering");
}
@Override
protected VaadinServletService createServletService(DeploymentConfiguration deploymentConfiguration)
throws ServiceException {
VaadinServletService servletService = super.createServletService(deploymentConfiguration);
servletService.addSessionInitListener(sessionInitEvent ->
sessionInitEvent.getSession().addUIProvider(provider)
);
return servletService;
}
}
("registering" is not written to stdout)