3

我想将 vaadin 7 与 osgi 集成,但不再有任何 AbstractApplicationServlet 类。

我已经使用 Neil Bartlett https://github.com/njbartlett/VaadinOSGi的 vaadin 桥进行了集成。

我尝试过以某种方式使用 VaadinServlet,但没有运气。

我还搜索了其他解决方案,但没有找到。

你有什么建议吗?

谢谢

4

1 回答 1

4

Vaadin 7 有许多默认用例不可见的设计更改,但特别是对于 OSGi 集成,您必须做一些额外的工作。为了让您开始,您应该尝试了解有关以下类的初始化过程: VaadinServletVaadinServletServiceVaadinSessionUIProvider

有问题的部分是使用类名参数作为参数的方法,您必须通过例如实现一个直接注入您的实例的工厂来解决这个问题。如果您查看源代码,UIProvider.createInstance(..)您可以看到原始实现尝试创建一个新实例,这将失败,因为 vaadin 在 OSGi 中看不到您的类。同样的原则也适用于我提到的其他类。

您必须查看的另一件事是 Vaadin 7 中新的 jar 分离。一个好的方法是附加一个带有蓝图上下文的包片段。其注册BundleHttpContext方式与在 Vaadin 6 中的工作方式相同。附加片段也适用于您要使用的主题。

抱歉,我无法提供交钥匙解决方案,但我希望这可以帮助您自己研究。

于 2013-05-28T06:08:26.317 回答