带有嵌入式 Glassfish 的 Junit 失败 - JMS 资源适配器应嵌入

发布于 2024-08-25 19:29:59 字数 1082 浏览 7 评论 0 原文

我正在尝试测试会话 bean(NetBeans 6.8、Glassfish V3)。不幸的是,嵌入式 glassfish 无法正常启动,因为它尝试连接到远程 JMS 提供程序(位于 localhost:7676):

$ ant test
...
[junit] Mar 23, 2010 12:13:51 PM com.sun.messaging.jms.ra.ResourceAdapter start
[junit] INFO: MQJMSRA_RA1101: SJSMQ JMS Resource Adapter starting: REMOTE
[junit] Mar 23, 2010 12:13:51 PM com.sun.messaging.jmq.jmsclient.ExceptionHandler throwConnectionException
[junit] WARNING: [C4003]: Error occurred on connection creation [localhost:7676]. - cause: java.net.ConnectException: Connection refused

该错误本身是正确的,因为没有(其他)JMS 提供程序正在运行。我期望嵌入式 glassfish 以 EMBEDDED 模式启动 JMS 提供程序。

我的测试使用 javax.ejb.embeddable.EJBContainer :

@BeforeClass
public static void initContainer() throws Exception {
    ec = EJBContainer.createEJBContainer();
    ctx = ec.getContext();
}

当我正常启动 glassfish 时,没问题:

$ bin/asadmin get server.jms-service.type
server.jms-service.type=EMBEDDED

How can I get my junit test to use an Embedded glassfish with an EMBEDDED JMS Provider?

I'm trying to test a session bean (NetBeans 6.8, Glassfish V3). Unfortunately, the embedded glassfish is unable to start properly, as it tries to connect to a remote JMS Provider (at localhost:7676):

$ ant test
...
[junit] Mar 23, 2010 12:13:51 PM com.sun.messaging.jms.ra.ResourceAdapter start
[junit] INFO: MQJMSRA_RA1101: SJSMQ JMS Resource Adapter starting: REMOTE
[junit] Mar 23, 2010 12:13:51 PM com.sun.messaging.jmq.jmsclient.ExceptionHandler throwConnectionException
[junit] WARNING: [C4003]: Error occurred on connection creation [localhost:7676]. - cause: java.net.ConnectException: Connection refused

The error is in itself correct, as no (other) JMS provider is running. I was expecting the embedded glassfish to start the JMS provider in EMBEDDED mode.

My test uses javax.ejb.embeddable.EJBContainer :

@BeforeClass
public static void initContainer() throws Exception {
    ec = EJBContainer.createEJBContainer();
    ctx = ec.getContext();
}

When I start glassfish normally, it's fine:

$ bin/asadmin get server.jms-service.type
server.jms-service.type=EMBEDDED

How can I get my junit tests to use an embedded glassfish with an EMBEDDED JMS Provider?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

水中月 2024-09-01 19:29:59

好的,我从 此处,现在它正在按预期启动嵌入的 JMS 提供程序。

Ok, I downloaded an official glassfish build (v3.0.1) from here, and now it's starting the JMS Provider EMBEDDED as expected.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文