【问题标题】:How to integrate Vaadin 7 with OSGi?如何将 Vaadin 7 与 OSGi 集成?
【发布时间】:2013-05-20 09:54:00
【问题描述】:

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

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

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

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

你有什么建议吗?

谢谢

【问题讨论】:

  • @Neil Bartlett 在这里,我很确定他会在这方面为您提供帮助。
  • 不幸的是我不能。我不再将 Vaadin 用于我自己的项目,所以我没有时间调查他们在版本 7 中所做的更改。

标签: osgi vaadin


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-27
    • 2013-05-31
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    • 2015-04-25
    • 2012-10-06
    • 2017-10-18
    相关资源
    最近更新 更多