我想把VaAdin7和osgi集成在一起,但是现在已经没有AbstractApplicationServlet类了。
我跟踪了Neil Bartlett https://github.com/njbartlett/VaadinOSGi使用vaadin bridge进行的集成。
我以某种方式尝试过使用VaadinServlet,但没有成功。
我还搜索了其他解决方案,但都没有找到。
你有什么意见建议?
谢谢
发布于 2013-05-28 14:08:26
Vaadin7有很多默认用例看不到的设计更改,但特别是对于OSGi集成,你必须做一些额外的工作。开始之前,您应该尝试了解与以下类相关的初始化过程:VaadinServlet、VaadinServletService、VaadinSession和UIProvider。
有问题的部分是使用classname参数作为参数的方法,你必须通过实现一个直接注入实例的工厂来解决这个问题。如果你查看UIProvider.createInstance(..)的源代码,你会发现原来的实现试图创建一个新的实例,这将失败,因为vaadin在OSGi中看不到你的类。同样的原则也适用于我提到的其他类。
你需要注意的另一件事是Vaadin7中新的jars分离。一个好的方法是附加一个带有蓝图上下文的捆绑包片段。这样就注册了一个BundleHttpContext,就像在Vaadin6中一样。附加片段也适用于你想要使用的主题。
很抱歉,我不能提供一个交钥匙解决方案,但我希望这能帮助你自己去研究它。
https://stackoverflow.com/questions/16741026
复制相似问题