【发布时间】:2019-01-07 22:06:31
【问题描述】:
我要统计队列中的消息数。
InitialContext ctx = initQueue();
connFactory = (QueueConnectionFactory) ctx.lookup(CF_NAME);
queueConnection = connFactory.createQueueConnection();
queueConnection.start();
queueSession =
queueConnection.createQueueSession(false,
QueueSession.AUTO_ACKNOWLEDGE);
queue = (Queue) ctx.lookup(queueName);
QueueBrowser queueBrowser = queueSession.createBrowser(queue);
但在这里它停止了 ------->QueueBrowser queueBrowser = queueSession.createBrowser(queue)
错误信息是: 活动会话计数:1:org.wso2.andes.AMQDisconnectedException:服务器关闭连接并且不允许重新连接。 javax.jms.JMSException:注册消费者时出错:org.wso2.andes.AMQException:由于类 javax.jms.JMSException 而唤醒 在 org.wso2.andes.client.AMQSession$6.execute(AMQSession.java:2143) 在 org.wso2.andes.client.AMQSession$6.execute(AMQSession.java:2086) 在 org.wso2.andes.client.AMQConnectionDelegate_8_0.executeRetrySupport(AMQConnectionDelegate_8_0.java:323) 在 org.wso2.andes.client.AMQConnection$3.run(AMQConnection.java:655) 在 java.security.AccessController.doPrivileged(本机方法) 在 org.wso2.andes.client.AMQConnection.executeRetrySupport(AMQConnection.java:652) 在 org.wso2.andes.client.failover.FailoverRetrySupport.execute(FailoverRetrySupport.java:102) 在 org.wso2.andes.client.AMQSession.createConsumerImpl(AMQSession.java:2084) 在 org.wso2.andes.client.AMQSession.createBrowserConsumer(AMQSession.java:1039) 在 org.wso2.andes.client.AMQQueueBrowser.(AMQQueueBrowser.java:51) 在 org.wso2.andes.client.AMQSession.createBrowser(AMQSession.java:1031) 在 org.wso2.andes.client.AMQSession.createBrowser(AMQSession.java:1018) 在 org.wso2.andes.client.AMQQueueSessionAdaptor.createBrowser(AMQQueueSessionAdaptor.java:87) 在 com.test.vediamo.ConnectionTest.doGet(ConnectionTest.java:96) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:622) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 在 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
【问题讨论】:
-
我不知道 wso2,但是否涉及许可?您可能没有明确的“浏览”权限 - 否则它可能只是 API 中的错误或缺失功能?我认为你的代码看起来不错。
-
晚上好,感谢您的回答。我以为我可能是这个我启用了所有权限,但错误是一样的。