在Wicket中查找多个模块

时间:2015-03-09 14:41:42

标签: java-ee web wicket inject multi-module

我正在创建一个wicket(7.0.0-M5)应用程序,我想使用标准的EJB框架。

因此,我创建了一个多模式项目,其中包含耳模块EAR_NAME,网络模块WICKET_NAME,ejb模块BUSINESS_EJB_NAME和ejb模块COMMON_EJB_NAME。

我使用wicketstuff-javaee-inject库中的GlobalJndiNamingStrategy类将业务和常用ejb模块导入wicket web模块。

在Wicket WebApplication类中:

protected void init() {

    getComponentInstantiationListener.add(new JavaEEComponentInjector(this,
        new GlobalJndiNamingStrategy(EAR_NAME, BUSINESS_EJB_NAME)));

    getComponentInstantiationListener.add(new JavaEEComponentInjector(this,
        new GlobalJndiNamingStrategy(EAR_NAME, COMMON_EJB_NAME)));
}

来自业务ejb的所有服务均可用。但是当我尝试从公共模块调用服务时,我总是得到一个NamingException,它说:

找不到“EAR_NAME / BUSINESS_EJB_NAME / CommonService!commonServiceMethod”...

我搜索了互联网,但在我的设置中找不到任何门票示例。是不是可以在wicket应用程序中查找多个模块?

1 个答案:

答案 0 :(得分:0)

我还没有使用EJB,也没有使用wicketstuff-javaee-inject但是你可能需要https://github.com/wicketstuff/core/blob/master/jdk-1.7-parent/javaee-inject-parent/javaee-inject/src/main/java/org/wicketstuff/javaee/naming/global/ModuleJndiNamingStrategy.java而不是GlobalJndiNamingStrategy