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

时间:2010-03-23 11:26:02

标签: junit glassfish jms glassfish-3

我正在尝试测试会话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

如何让我的junit测试使用带有EMBEDDED JMS提供程序的嵌入式glassfish?

1 个答案:

答案 0 :(得分:0)

好的,我从here下载了一个官方的glassfish构建版本(v3.0.1),现在它按预期启动了JMS Provider EMBEDDED。