我目前面临一个我无法解决的问题。希望你能帮助我。
我正在使用 Apache Felix 和 iPojo 创建一个模块化 Vaadin 应用程序。依赖关系已解决,但在启动应用程序时,Felix 告诉我以下内容:
Instance unnamed of type df.ui.core.impl.BaseVaadinServlet is not bound.
Reason: null
我只是想不通菲利克斯试图告诉我什么。搜索互联网没有帮助,所有其他实例都是有效的。在哪些情况下可能会发生此类错误以及如何解决此问题?
我应该补充一点,只有在扩展 VaadinServlet 时才会出现问题。我正在使用本教程。删除继承解决了问题,但是没有工作的 servlet vaadin 似乎毫无用处;)。
问候肯尼斯
@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;
}
}
(“注册”不写入标准输出)