【问题标题】:A connection pool error in CloudBees Java EE/Glassfish 4 Full plateformCloudBees Java EE/Glassfish 4 Full 平台中的连接池错误
【发布时间】:2013-12-02 16:43:45
【问题描述】:

CloudBees 在其 clickstart 中添加了一个新的 Java EE 7/Glassfish 4 Full 平台。如果我理解正确,这意味着它支持所有 Java EE 7 功能(包含 JMS 应用程序)。但是当我运行我的 JMS 应用程序时,它会记录一个错误“无法从连接池 [jms/__defaultConnectionFactory-Connection-Pool] 获取/创建连接”

这是我的代码,它在我的本地主机中工作:

@Named
@RequestScoped
public class ReceiverBean {

    static final Logger logger = Logger.getLogger("ReceiverBean");
    @Inject
    private JMSContext context;
    @Resource(lookup = "java:comp/jms/webappQueue")
    private Queue queue;
   .....

public void getMessage() {
        try {
            JMSConsumer receiver = context.createConsumer(queue);
            String text = receiver.receiveBody(String.class, 1000);

            if (text != null) {
                FacesMessage facesMessage =
                        new FacesMessage("Reading message: " + text);
                FacesContext.getCurrentInstance().addMessage(null, facesMessage);
            } else {
                FacesMessage facesMessage =
                        new FacesMessage("No message received after 1 second");
                FacesContext.getCurrentInstance().addMessage(null, facesMessage);
            }
        } catch (JMSRuntimeException t) {
            logger.log(Level.SEVERE,
                    "ReceiverBean.getMessage: Exception: {0}",
                    t.toString());
        }
    }

CloudBees 控制台中 glassfish 的日志:

[#|2013-11-19T07:36:43.737+0000|信息|玻璃鱼 4.0|javax.enterprise.resource.jms.com.sun.enterprise.connectors.jms.system|_ThreadID=21;_ThreadName=http-listener-1(1);_TimeMillis=1384846603737;_LevelValue=800;_MessageID=addresslist.setjmsservice .提供者;| JMS010:setJmsServiceProvider 中的 ADDRESSLIST:mq://localhost:0/|#]

[#|2013-11-19T07:36:43.738+0000|信息|玻璃鱼 4.0|javax.enterprise.resource.jms.com.sun.enterprise.connectors.jms.system|_ThreadID=21;_ThreadName=http-listener-1(1);_TimeMillis=1384846603738;_LevelValue=800;_MessageID=jms.connection .url;| JMS08:JMS 服务连接 URL 为:mq://localhost:0/|#]

[#|2013-11-19T07:36:44.552+0000|信息|玻璃鱼 4.0|javax.resourceadapter.mqjmsra.lifecycle|_ThreadID=21;_ThreadName=http-listener-1(1);_TimeMillis=1384846604552;_LevelValue=800;| MQJMSRA_RA1101:GlassFish MQ JMS 资源适配器:版本:5.0 (Build 14-e)编译:2013 年 4 月 12 日 0104|#]

[#|2013-11-19T07:36:44.559+0000|信息|玻璃鱼 4.0|javax.resourceadapter.mqjmsra.lifecycle|_ThreadID=21;_ThreadName=http-listener-1(1);_TimeMillis=1384846604559;_LevelValue=800;| MQJMSRA_RA1101:GlassFish MQ JMS 资源适配器正在启动:代理是 嵌入式,连接方式为 Direct|#]

[#|2013-11-19T07:36:44.847+0000|信息|玻璃鱼 4.0|imq.log.Logger|_ThreadID=21;_ThreadName=http-listener-1(1);_TimeMillis=1384846604847;_LevelValue=800;| [B1002]:找不到 imqbroker 的现有属性文件,没有 存储的属性将被加载 |#]

[#|2013-11-19T07:36:45.558+0000|严重|玻璃鱼 4.0||_ThreadID=21;_ThreadName=Thread-4;_TimeMillis=1384846605558;_LevelValue=1000;| 经纪人退出。|#]

[#|2013-11-19T07:36:45.562+0000|信息|玻璃鱼 4.0|javax.resourceadapter.mqjmsra.lifecycle|_ThreadID=21;_ThreadName=http-listener-1(1);_TimeMillis=1384846605562;_LevelValue=800;| MQJMSRA_RA1101:GlassFish MQ JMS 资源适配器已启动:EMBEDDED|#]

[#|2013-11-19T07:36:49.808+0000|警告|玻璃鱼 4.0|javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors|_ThreadID=22;_ThreadName=http-listener-1(2);_TimeMillis=1384846609808;_LevelValue=900;_MessageID=poolmgr.get_connection_failure;| RAR5117:无法从连接池获取/创建连接 [ jms/__defaultConnectionFactory-Connection-Pool]。原因 : com.sun.appserv.connectors.internal.api.PoolingException|#]

[#|2013-11-19T07:36:49.811+0000|严重|玻璃鱼 4.0|SenderBean|_ThreadID=22;_ThreadName=http-listener-1(2);_TimeMillis=1384846609811;_LevelValue=1000;| SenderBean.sendMessage:异常: com.sun.messaging.jms.MQRuntimeException: MQRA:DCF:allocation 失败:createConnection:分配连接时出错。原因: 空|#]

谁能告诉我为什么? 非常感谢提前

【问题讨论】:

    标签: jms cloudbees glassfish-4 java-ee-7 broker


    【解决方案1】:

    “Glassfish 4 Full Profile”clickstack 正在进行中,它还不支持 JMS,也不支持分布式 EJB 或类似的 JavaEE 东西。

    【讨论】:

      【解决方案2】:

      CloudBees 支持 Glassfish 堆栈上的 Web 配置文件,请参阅 here。 JMS 仅在 full profile 上受支持,请参见此处。

      您可以尝试 Glassfish 3 完整配置文件here。它是一个社区堆栈。

      【讨论】:

      • 感谢您的回复。但是在您网站的“clickStart”中,我看到您有一个“Glassfish 4 Full App”。是完整的个人资料吗?
      • 是的,对不起。它大约在两周前发布。 Nicolas 已经改进了答案。
      猜你喜欢
      • 2018-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-19
      • 2019-06-27
      • 1970-01-01
      • 2016-02-12
      • 2011-06-30
      相关资源
      最近更新 更多