如何将Vaadin 7与OSGi集成?

如何将Vaadin 7与OSGi集成?,osgi,vaadin,Osgi,Vaadin,我想将vaadin 7与osgi集成,但不再有任何AbstractApplicationServlet类 我使用Neil Bartlett的vaadin桥跟踪了集成 我尝试过使用VaadinServlet,但没有成功 我也搜索了其他解决方案,但没有找到 你有什么建议吗 感谢Vaadin 7有许多默认用例看不到的设计更改,但特别是对于OSGi集成,您必须做一些额外的工作。 要开始学习,您应该尝试了解有关类的初始化过程: ,及 有问题的部分是使用类名参数作为参数的方法,您必须通过实现直接注入实例的工

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

我使用Neil Bartlett的vaadin桥跟踪了集成

我尝试过使用VaadinServlet,但没有成功

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

你有什么建议吗


感谢

Vaadin 7有许多默认用例看不到的设计更改,但特别是对于OSGi集成,您必须做一些额外的工作。 要开始学习,您应该尝试了解有关类的初始化过程: ,及

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

另一件事,你必须看看是新的分离罐在瓦丁7。 一个好的方法是使用blueprint上下文附加一个bundle片段。这注册了一个
BundleHttpContext
,与它在Vaadin 6中的工作方式相同。附加片段也适用于要使用的主题


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

@Neil Bartlett在这里,我非常肯定他会在这方面帮助您。不幸的是,我不能。我不再在自己的项目中使用Vaadin,因此我没有时间调查他们在版本7中所做的更改。