2

我目前面临一个我无法解决的问题。希望你能帮助我。

我正在使用 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;
    }
}

(“注册”不写入标准输出)

4

0 回答 0