2013-07-29 79 views
1

自從正式集成指令完成後,我無法成功集成官方Vaadin-CDI-Integration-Addon,因此拋出了以下Exception如果我重新加載已發佈的U​​RL localhost:8080/App/?restartApplication通過使用Vaadin-CDI集成插件實現EJB注入Vaadin 7 UI

javax.servlet.ServletException: com.vaadin.server.ServiceException: 
java.lang.IllegalStateException: UI id has already been defined 

以下的小的解決方法是一個測試,工作的解決方案,完成了官方說明。

回答

1

您必須完成以下步驟才能成功將官方CDI-Integration-Addon集成到您的Vaadin項目中。

  • 待辦事項正是爲表示in the official how-to
  • 從URL中刪除?restartApplication參數。這避免了Exception
  • 注入EJB,如下面的清單所示。
  • 請記住在必要時手動重新啓動應用程序!

@CDIUI 
public class ExampleCDIUI extends UI { 

    @Inject 
    MyLocalBeanInterface myBean; 

    @Override 
    public void init(VaadinRequest request) { 
     Label label = new Label("Hello Vaadin user"); 
     setContent(label); 

     // myBean should be accessible now. 

    } 

} 

就是這樣。我希望這有助於:-)