标签: nms

ActiveMQ不从队列中取消消息

我最近将服务器从ActiveMQ从5.8升级到最新(5.11.1).从那以后,我偶尔会注意到消息会在特定队列中累积而不会被取消.

我们的架构有一个生产者,一个消费者.我可以看到消费者仍然是连接的,但消息正在从生产者堆积起来.我的解决方案是通过Web控制台删除队列.之后,我立即看到消费者重新连接并再次开始处理消息.

如果它是相关的,在这种情况下,生产者在.NET上运行NMS,而消费者在Java 1.7上运行JMS.

java activemq-classic jms nms

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

尝试相对导入,但没有已知的父程序包

from ..box_utils import decode, nms
Run Code Online (Sandbox Code Playgroud)

该行显示错误

ImportError:尝试相对导入,没有已知的父包

这是什么错误,以及如何解决该错误?

decode nms python-3.x

7
推荐指数
2
解决办法
7294
查看次数

如何监控Apache Artemis

我正在Windows .NET环境中使用RabbitMQ,ActiveMQ和Apache Artemis进行一些测试.RabbitMQ和ActiveMQ附带一个Web界面,您可以在其中查看有关您的经纪人,队列,消息等的信息,但Artemis没有.我真的希望能够在Web界面中监控我的Artemis代理,或者至少使用一些cmd/PowerShell命令.

我在这个页面上读到了一些可用于监控ActiveMQ实例的第三方工具,我认为它也适用于Artemis.不幸的是,我无法使用这些第三方工具.其中一些似乎在Windows上运行不正常,有些是旧的/不活动的.

我的客户通过C#中的NMS(.NET Messaging API)与代理进行通信.如果有人能够监控他们的Artemis经纪人,特别是在Windows机器上,请告诉我你是如何做到的!

编辑:
我现在已经设法与Jolokia REST API进行通信.通过GET请求,
http://username:password@localhost:8161/jolokia/read/org.apache.activemq.artemis:*
我可以看到有关我的队列的大量信息,例如添加和使用的消息.这是一个很好的信息,可以帮助我,但我想了解有关当前内存使用情况和磁盘使用情况的信息.

activemq-classic nms activemq-artemis

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

使用Apache ActiveMQ WCF绑定配置问题进行双工或请求 - 回复

我试图使用Apache.NMS.WCF绑定WCF应用程序并获得以下错误 -

合同需要TwoWay(请求 - 回复或双工),但是Binding'NmsBinding'不支持它,或者没有正确配置以支持它.

我的system.service模型看起来像这样 -

    <bindings>
        <nmsBinding>
            <binding 
                name="myNMSBinding" 
                destination="test.queue" 
                destinationType="TemporaryQueue"
                >
            </binding>
        </nmsBinding>
    </bindings>

    <extensions>
        <!--<bindingElementExtensions>
            <add name="nmsTransPort" 
                 type="Apache.NMS.WCF.NmsTransportElement, Apache.NMS.WCF, Version=1.1.0.1642, Culture=neutral, PublicKeyToken=82756feee3957618" />
        </bindingElementExtensions>-->
        <bindingExtensions>
            <add name="nmsBinding" 
                 type="Apache.NMS.WCF.NmsBindingCollection, Apache.NMS.WCF, Version=1.1.0.1642, Culture=neutral, PublicKeyToken=82756feee3957618" 

                 />
        </bindingExtensions>
    </extensions>

    <services>
        <service name="WcfService1.Service1" behaviorConfiguration="WcfService1.Service1Behavior">
            <!-- Service Endpoints -->
            <endpoint 
                address="tcp://localhost:61616" 
                binding="nmsBinding" 
                bindingConfiguration="myNMSBinding" 
                contract="WcfService1.IService1"
                />
        </service>
    </services>
Run Code Online (Sandbox Code Playgroud)

有没有办法将Apache NMS配置为双工或者它不支持它?

apache wcf activemq-classic nms

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

如何在C#应用程序中限制来自ActiveMQ的消息量?

我在.Net程序中使用ActiveMQ,我充斥着消息事件.

简而言之,当我得到一个队列事件'onMessage(IMessage receivedMsg)'时,我将消息放入一个内部队列,X线程就是这样做的.

起初,我在创建会话时有'AcknowledgementMode.AutoAcknowledge',所以我猜测队列中的所有消息都被吸入并放入内存队列(因为崩溃,所以一切都丢失了,这是冒险的).

所以我在创建会话时使用了'AcknowledgementMode.ClientAcknowledge',当工作人员准备好了消息时,它会在消息上调用'commit()'方法.但是,仍然会从队列中删除所有消息.

如何配置它只处理X个消息或处于内部队列中,并且不是所有内容都被立即"下载"了?

.net c# activemq-classic message-queue nms

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

如何使用Apache.NMS API以编程方式清除ActiveMQ队列?

我需要能够使用Apache.NMS(C#)以编程方式清除队列.我一直在查看NMS API,但看不到这样的功能.它存在吗?

activemq-classic nms apache-nms

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

读取 ActiveMQ 消息而不删除

我正在尝试通读 ActiveMQ 消息并根据一些过滤器来处理其中一些消息或将其他消息留在队列中。我将 NMS API 与以下代码一起使用:

        Uri connecturi = new Uri("activemq:tcp://model.net:61616");
        IConnectionFactory factory = new NMSConnectionFactory(connecturi);
        List<ModelBuilderBase> result = new List<ModelBuilderBase>();
        using (IConnection connection = factory.CreateConnection())
        using (ISession session = connection.CreateSession())
        {
            IDestination destination = SessionUtil.GetDestination(session, "queue://cidModelbuilderQ");
            using (IMessageConsumer consumer = session.CreateConsumer(destination))
            {
                connection.Start();
                ITextMessage message;
                while ((message = consumer.ReceiveNoWait() as ITextMessage) != null)
                {
                    if (message.Properties[MANDATOR] == null || message.Properties[REFCODE] == null)
                        continue;
                    var mandator = message.Properties[MANDATOR].ToString();
                    var refCode = message.Properties[REFCODE].ToString();
                    result.Add(ModelBuilderFactory.Instance.GetInstance(refCode, mandator));
                }
            }
Run Code Online (Sandbox Code Playgroud)

问题是收到消息后,消息被删除。我可以以某种方式更改此行为并仅在成功处理后手动删除消息吗?}

c# activemq-classic nms

3
推荐指数
2
解决办法
4437
查看次数

ActiveMQ NMS:当代理关闭时,connection.start()与故障转移协议挂起

我有使用nms.activemq 1.5.0的C#应用​​程序.

当我的应用程序启动时,它尝试使用故障转移协议连接到代理(我在主从配置中有两个代理).
如果我的应用程序中的两个经纪人都因为等待而陷入等待connection.start().
我尝试了在网上找到的每一点信息 - 我尝试了故障转移协议的每个属性,也试过设置连接超时,尝试过transport.requesttimeout.

我也尝试过更新版本的nms.activemq,但似乎没有解决问题.

什么可以导致这个问题或任何解决方法?

activemq-classic nms apache-nms

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

.NET中的ActiveMQ连接启动超时

我有ActiveMQ的.Net客户端。我正在使用Apache.NMS 1.5.1.2739和Apache.NMS.ActiveMQ 1.5.6.2746

我使用以下代码连接到代理:

var connectionFactory = new ConnectionFactory("failover:tcp://127.0.0.1:61616/?transport.timeout=5000");
IConnection connection = connectionFactory.CreateConnection();
connection.Start();
Run Code Online (Sandbox Code Playgroud)

问题是当没有可用的ActiveMQ代理时,connection.Start()将永远挂起。因此,transport.timeout在这里没有帮助。我想Start()方法超时。因此,在这段时间之后,发生异常,执行可能会继续进行。如何避免这样的问题?

.net activemq-classic nms apache-nms

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

如何在 C++ 中将 CSV 文件读入向量

我正在做将python代码转换为C++的项目,以获得更好的性能。该 python 项目名称是 Advanced EAST,现在,我在 .csv 文件中获得了 nms 函数的输入数据,如下所示:

"[ 5.9358170e-04  5.2773970e-01  5.0061589e-01 -1.3098677e+00
 -2.7747922e+00  1.5079222e+00 -3.4586751e+00]","[ 3.8175487e-05  6.3440394e-01  7.0218205e-01 -1.5393494e+00
 -5.1545496e+00  4.2795391e+00 -3.4941311e+00]","[ 4.6003381e-05  5.9677261e-01  6.6983813e-01 -1.6515008e+00
 -5.1606908e+00  5.2009044e+00 -3.0518508e+00]","[ 5.5172237e-05  5.8421570e-01  5.9929764e-01 -1.8425952e+00
 -5.2444854e+00  4.5013981e+00 -2.7876694e+00]","[ 5.2929961e-05  5.4777789e-01  6.4851379e-01 -1.3151239e+00
 -5.1559062e+00  5.2229333e+00 -2.4008298e+00]","[ 8.0250458e-05  6.1284608e-01  6.1014801e-01 -1.8556541e+00
 -5.0002270e+00  5.2796564e+00 -2.2154367e+00]","[ 8.1256607e-05  6.1321974e-01  5.9887391e-01 -2.2241254e+00
 -4.7920742e+00  5.4237065e+00 -2.2534993e+00]
Run Code Online (Sandbox Code Playgroud)

一个单位是 7 个数字,但是在前四个数字后有一个 '\n',我想将此 csv 文件读入我的 C++ 项目,以便我可以在 C++ 中进行数学工作,使其更快。

using namespace std;

void read_csv(const string &filename)
{
//File pointer
fstream …
Run Code Online (Sandbox Code Playgroud)

c++ csv vector nms

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

为什么我的流被同行关闭?

我有以下控制台程序,用于侦听 ActiveMQ Stomp 服务器上的目标(队列或主题,这并不重要),并简单地将收到的消息记录到控制台:

\n\n
using System;\nusing Apache.NMS.Stomp;\nusing Apache.NMS;\nusing Apache.NMS.Util;\n\nnamespace StompTest\n{\n    class Program\n    {\n        static void Main(string[] args)\n        {\n            try\n            {\n                var connectionFactory = new ConnectionFactory("stomp:tcp://mybroker:61613");\n\n                var connection = connectionFactory.CreateConnection();\n                connection.ExceptionListener += new ExceptionListener(connection_ExceptionListener);\n                connection.Start();\n\n                var session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge);\n\n                IDestination dest = SessionUtil.GetDestination(session, "queue://MyQueue");\n\n                var consumer = session.CreateConsumer(dest);\n                consumer.Listener += new MessageListener(consumer_Listener);\n\n                Console.ReadKey();\n            }\n            catch (NMSException ex)\n            {\n                Console.WriteLine("NMSException !! ==> " + ex.Message);\n            }\n        }\n\n        static void connection_ExceptionListener(Exception exception)\n        {\n            Console.WriteLine("Exception!! ==> " + exception.ToString());\n        }\n\n        static void consumer_Listener(IMessage …
Run Code Online (Sandbox Code Playgroud)

.net c# stomp nms apache-nms

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