【问题标题】:how can i test an EJB using netbeans?如何使用 netbeans 测试 EJB?
【发布时间】:2010-08-19 22:19:48
【问题描述】:

我一直在努力尝试在 netbeans 中测试一个超级简单的 EJB 项目。我已经尝试了我的 java 书中的几个示例,还有一个我在网上找到的更简单的示例 (http://javadude.wordpress.com/2010/02/22/tutorial-most-simple-test-application-for-embedded-glassfish-netbeans-hudson/)。这是一个超级基本的 EJB,只添加了两个数字.. 就是这样!!它运行良好,但无论我如何尝试测试它,都没有任何效果。更令人费解的是,我在测试它的两台不同的笔记本电脑上遇到了两个不同的错误。显然我做错了什么......任何建议将不胜感激。

我得到的一个错误是:

测试用例:testAddNumbers(bean.MyBeanTest):导致错误 没有可用的 EJBContainer 提供程序:没有找到提供程序名称。

javax.ejb.EJBException:没有可用的 EJBContainer 提供程序:没有找到提供程序名称。

另一个是:


严重:部署应用程序时出现异常 java.lang.IllegalArgumentException:无效的 ejb jar [WebTestEmb.jar]:它包含零 ejb。 笔记: 1. 一个有效的 ejb jar 至少需要一个会话、实体(1.x/2.x 样式)或消息驱动 bean。 2. EJB3+实体bean(@Entity)是POJO,请将它们打包为库jar。 3. 如果jar文件中包含有效的EJB,并且使用EJB组件级注解(@Stateless、@Stateful、@MessageDriven、@Singleton)进行注解,请检查server.log查看这些注解是否被正确处理。


显然,我的项目中有一个 ejb。它完全按照我上面发布的网址中的说明构建。

谢谢!

【问题讨论】:

    标签: netbeans glassfish-3 ejb-3.1


    【解决方案1】:

    我一直在努力尝试在 netbeans 中测试一个超级简单的 EJB 项目。我已经从我的 java 书中尝试了几个例子,还有一个 even simpler example i found online

    使用EJBContainer API(在您的睾丸中启动嵌入式 EJB 容器)是 Java EE 6 的最佳选择(Adam Bien 在Embedding EJB 3.1 Container Into Your Unit Tests - Boot Time: 5 Seconds 中写过关于此的博客)。

    话虽如此,您可能对以下链接感兴趣:

    您使用的是哪个版本的 GlassFish?如果您使用的不是最新的 3.0.1,我建议您尝试一下。

    【讨论】:

    • 帕斯卡,感谢您的建议。我上面提到的示例确实使用了 EJBContainer API,但它似乎不起作用。我也尝试了您提到的示例,但也没有用。我仍然得到同样的错误。我正在使用 Glassfish 3.0.1 build 22,我认为这是最新的。还有其他想法吗?谢谢!
    • @user210881:是的,我注意到该示例使用了 EJBContainer API。我的目标实际上是确认这是要走的路。我已经成功使用了这个API,但我稍后会重新检查。
    【解决方案2】:

    没关系,看起来我终于让它工作了。我不敢相信这花了一周的时间才弄清楚!

    添加:

    地图属性 = new HashMap(); properties.put(EJBContainer.MODULES, new File("C:\Documents and Settings\tiv\My Documents\NetBeansProjects\WebTestEmb\build\web\WEB-INF\classes"));

    然后在 createEJBContainer() 调用中使用这些属性修复错误。

    【讨论】:

      【解决方案3】:

      无论我为 EJBContainer.MODULES 的属性写什么,它都不想工作。 这个模块的解决方法也只是黑客攻击。我不认为它应该以这种方式工作。 在 glassfish 修复此问题之前,我会尝试 OpenEJB。

      虽然我现在对 glassfish 有点失望。他们说一切都是开箱即用的,但事实并非如此。没有可设置的选项,而且错误消息什么也没说...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-09-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-22
        • 1970-01-01
        相关资源
        最近更新 更多