小编Lwi*_* Ko的帖子

QueueBrowser不会返回所有消息

我列出了每个队列中的队列和消息.以下是我的代码.但是,QueueBrowser无法正确检索邮件.

比方说,我有一个名为TestQueue的队列,它有1000条消息.

我第一次运行我的程序时它只显示200条消息.第二 - 400第三 - 600第四 - 800第五 - 1000

你能告诉我如何解决这个问题吗?

ConnectionFactory out = new ActiveMQConnectionFactory("tcp://localhost:61616?jms.prefetchPolicy.all=10000");
ActiveMQConnection connection = (ActiveMQConnection) out.createConnection();

connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

Set<ActiveMQQueue> amqs = connection.getDestinationSource().getQueues(); 
Iterator<ActiveMQQueue> queues = amqs.iterator(); 

while ( queues.hasNext() ) 
{ 
    ActiveMQQueue queue_t = aqueues.next(); 
    String q_name = queue_t.getPhysicalName();
    List<ActiveMQMessage> msgList = ((ActiveMQSession) session).getUnconsumedMessages();

    System.out.println( "\nQueue = " + q_name);

    QueueBrowser queueBrowser = session.createBrowser(queue_t);
    Enumeration e = queueBrowser.getEnumeration();

    int numMsgs = 0;
    while(e.hasMoreElements()) 
    {
         Message message = (Message) e.nextElement();
         numMsgs++; …
Run Code Online (Sandbox Code Playgroud)

java activemq-classic jms message-queue

8
推荐指数
1
解决办法
7175
查看次数

始终收到MQJE001:完成代码'2',原因'2059'.错误

我是Web Sphere MQ的新手.

我在AIX中创建了一个Queue Manager,Channel和Listener,如下所示:

crtmqm MY_Q_MGR

strmqm MY_Q_MGR

runmqsc

DEFINE LISTENER(MY_QM_LISTENER) TRPTYPE(TCP) PORT(5030)

DEFINE CHANNEL(MY_QM_CHANNEL) CHLTYPE(SDR) CONNAME('10.128.1.51(5030)') XMITQ('MY_Q_MGR') DISCINT(0)
Run Code Online (Sandbox Code Playgroud)

然后我检查了QMGR正在运行.我在proc中看到了听众.

然后,我尝试从java创建MQQueueManager,如下所示,我得到了 MQJE001: Completion Code '2', Reason '2059'.

import com.ibm.mq.MQException;
import com.ibm.mq.MQGetMessageOptions;
import com.ibm.mq.MQMessage;
import com.ibm.mq.MQPutMessageOptions;
import com.ibm.mq.MQQueue;
import com.ibm.mq.MQQueueManager;
import com.ibm.mq.constants.MQConstants;
import com.ibm.mq.MQEnvironment;

public class MQSample {

  // code identifier
  static final String sccsid = "@(#) samples/wmqjava/MQSample.java, jmscc.samples, k700, k700-L080529 1.4.1.1 08/06/01 09:37:53";

    // define the name of the QueueManager
     private static final String qManager = "MY_Q_MGR";

  // and …
Run Code Online (Sandbox Code Playgroud)

java websphere-7 ibm-mq

3
推荐指数
1
解决办法
3万
查看次数

ActiveMQ中JMX的默认端口是什么?

我使用的是ActiveMQ 5.3.2和5.6.0.在ActiveMQ 5.3.2中,JMX的默认设置是

SUNJMX="-Dcom.sun.management.jmxremote"
Run Code Online (Sandbox Code Playgroud)

在ActiveMQ 5.6.0中,JMX的默认设置是

ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote"
Run Code Online (Sandbox Code Playgroud)

因此,这些设置没有端口定义.你能告诉我ActiveMQ真的是用这些设置启动JMX连接吗?如果是这样,连接的默认端口是什么,因为我无法连接到1099.如果随机选择端口,如何找到ActiveMQ正在使用的端口?

谢谢.

java activemq-classic jmx

3
推荐指数
1
解决办法
1万
查看次数

正在解压包...无法创建目录。WordPress、Apache2、Ubuntu

这个问题可能无处不在,但我已经尝试了大多数答案和许可 777。但是,仍然没有运气。

/etc/apache2/sites-available/mysite.conf

<VirtualHost *:80>
        ServerName www.mysite.com
        ServerAdmin mymail@mail.com
        DocumentRoot /var/www/html/wordpress
        ErrorLog ${APACHE_LOG_DIR}/mysite_error.log
        CustomLog ${APACHE_LOG_DIR}/mysite.log combined 
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

/etc/vsftpd.conf

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
allow_writeable_chroot=YES
Run Code Online (Sandbox Code Playgroud)

我设置了权限777/usr/share/wordpress/var/lib/wordpress

permissions wordpress lamp ubuntu-14.04

3
推荐指数
1
解决办法
1万
查看次数

水平QListWidget

如何制作Horizo​​ntal QListWidget?

谢谢

qt-creator

2
推荐指数
1
解决办法
4362
查看次数

'=':左操作数必须是l值

当我编译下面的代码时,我得到"错误C2106:'=':左操作数必须是l-value"at"m.msg_body [i] .id = i;".当我注释掉那一行时,没有错误.我的代码出了什么问题?

static const short MSG_DATA_MAX = 10;

struct MsgBodyData
{
    int id;
    string value;
};

class MsgBody
{
public:
    MsgBody()
    {
        len = 0;    
    }
    MsgBody(MsgBody & msg_obj);
    ~MsgBody() {}

    int length() { return len; }
    void setLength(int _len) { len = _len; }

    MsgBodyData operator[](short index)
    {
        if(index > -1 && index < MSG_DATA_MAX)
            return data[index];

        MsgBodyData dump_data;
        return dump_data;
    }

    void operator=(MsgBody & msg_obj)
    {
        len = msg_obj.length();
        for(int i = 0; i < …
Run Code Online (Sandbox Code Playgroud)

c++

2
推荐指数
1
解决办法
1万
查看次数

用于持久消息的kaha db消息存储

我知道db-xx.log是日志文件而db.redo是参考文件?

db-xx.log存储尚未使用的消息.消费后,这些消息将从db-xx.log中删除.db.redo按消息ID存储消息的引用(存储在db-xx.log中).

  1. 但是,db.data和db.free是什么?
  2. 它们的功能是什么?

我的理解是代理首先将消息存储在缓存(易失性存储器)中,然后在检查点或缓存大小已满时将这些消息移动(附加)到db-xx.log.

  1. 那是对的吗?

谢谢

java activemq-classic message-queue persistent-data kahadb

1
推荐指数
1
解决办法
3120
查看次数

WebSphere MQ MessageListener(类似于JMS消息侦听器)

我有MQConsumerClass,它从队列中检索消息,如下所示.

while (running)
{
    try
    {
        MQMessage rcvMessage = new MQMessage();
        MQGetMessageOptions gmo = new MQGetMessageOptions();

        gmo.options = MQConstants.MQGMO_WAIT;
        gmo.waitInterval = 60000; 
        queue.get(rcvMessage, gmo);

        if(rcvMessage.getTotalMessageLength() > 0)
        {
            String msgText = rcvMessage.readUTF();
        }
    }
    catch blocks{}
}
Run Code Online (Sandbox Code Playgroud)

但问题是当队列中没有消息时,会抛出2033异常.

我认为2033 NO_MSG_AVAILABLE异常不是严重的异常,可能会停止操作.

但是,我想onMessage(Message msg)在队列中有新消息时调用函数.

我想用MessageListener创建这个类,但我找不到MessageListener或任何与之相关的示例.

所以,请告诉我WMQ Java API中是否有任何MessageListener函数.

要么

任何方式这样做?

java websphere-7 ibm-mq

0
推荐指数
1
解决办法
8904
查看次数