i try to use solace with spring boot.
here is a demo application and the log its create:
https://github.com/GreenRover/solace_spring_multiconnection/blob/master/problem.log
I wonder about this error (INFO) message
c.s.jcsmp.impl.SessionModeSupport .... - Error Response (400) - Already Exists
Is it normal to get this message or goes something wrong?
This message indicates that a queue fails to be created because a queue with the same name already exists.
This is expected since your sample code tries to create a queue with the same name more than once. It is ok to ignore this message.
However, if you want to avoid the message, the application has to make sure that only one queue is created with the name.
Related
I have a KafkaConsumer which consumes messages, does some processing and then a KafkaProducer sends message to another topic. I am currently manually committing the offset using Acknowledge.acknowledge() when KafkaProducer successfully sends message to another topic, but I do not call Acknowledge.acknowledge() when message fails to send. I have set ackMode to AckMode.MANUAL_IMMEDIATE
However when I do not commit the offset manually, KafkaConsumer should pick the same record that failed to process (i.e failed to send to another topic) but even on failure the offset is incremented and the next record is processed. Can anyone tell me why this is happening? And how can I achieve this by process the failed records, business people mentioned like don't want create the kafka topic/DB for store the error records and reprocess it. Ihave only option to store the error data in file only for store, reprocess and publish to the destination kafka topic. Could some one help me to resolve this issue?
I have installed the docker version of IBM MQ based on the following link
https://developer.ibm.com/tutorials/mq-connect-app-queue-manager-containers/
Then I created new topic with the following specs:
Name: PROD.TEST
Topic string: dev/test/
Then from C# client I am using dev/test/ to create subscriber to the created topic:
destination = sessionWMQ.CreateTopic(env.Conn.topic_name); subscriber
= sessionWMQ.CreateConsumer(destination);
For some reason if the Topic name doesn't start with DEV. the second line throws the following exception:
XMSException caught: IBM.XMS.IllegalStateException: Failed to
subscribe to topic dev/test/ using MQSUB. There may have been a
problem creating the subscription due to it being used by another
message consumer. Make sure any message consumers using this
subscription are closed before trying to create a new subscription
under the same name.
Linked Exception : CompCode: 2, Reason: 2035
To get you started quickly, container image of MQ's developer edition pre-authorises a user called "app" to be able to connect to the queue manager and access a set of predefined queues and topics. These are the DEV.* queues and the "dev/" branch of the topic tree through the DEV.BASE.TOPIC definition. This is explained here
You can then build on this by adding queues and topics and granting access to these as you require.
To do this with MQ's CLI (runmqsc) you would use the SET AUTHREC command. Or to use the web interface you would click on the configuration of the new topic and select the security tab. You'll need to grant publish or subscribe authority depending on what the application wants to do.
Obviously, this just gets you going, as you move forward you'll want to review the security requirements and decide how to configure MQ to provide this.
I would like publish some messages and perform load testing of my docker-based ActiveMQ server using JMeter. I have the configuration in place but for some reason I am not able to see the message getting published in ActiveMQ.
I have the admin console up and running and see that the queues is not getting created either. I also tried to manually create the queue and see if the Jmeter script works, but no luck
I have already added activemq-all-5.15.0 jar in my jmeter/lib/ext folder of JMeter 3.2.
I am also seeing following error in JMeter Results Tree.
javax.naming.NameNotFoundException: jmeter-q
at org.apache.activemq.jndi.ReadOnlyContext.lookup(ReadOnlyContext.java:235)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at org.apache.jmeter.protocol.jms.Utils.lookupDestination(Utils.java:148)
at org.apache.jmeter.protocol.jms.client.Publisher.<init>(Publisher.java:134)
at org.apache.jmeter.protocol.jms.sampler.PublisherSampler.initClient(PublisherSampler.java:181)
at org.apache.jmeter.protocol.jms.sampler.PublisherSampler.sample(PublisherSampler.java:206)
at org.apache.jmeter.protocol.jms.sampler.BaseJMSSampler.sample(BaseJMSSampler.java:98)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:491)
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:425)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:254)
at java.lang.Thread.run(Thread.java:748)
The correct format to provide destination under Destination textbox is
dynamicQueues/jmeter-q
Also please make sure that there should be no spaces at the end of each fields like provideURl, connectionf factory etc.
I'm doing a Proxy Service with Messaging transportation for Any XML and defining the stage, archive and error folders for a xml processing when configuring the proxy service.
I had included an error handler and when reading the file and an error happens, the file must be moved for error folder.
Currently when doing my test and an error happens, the file is moved to archive instead of error folder.
Are there something that I need to add and get this working?
Basically the complete scenario is a Proxy Service polling a folder, reading the XML and sending to Business Services as a XML messaging.
Could you give me directions to make this working or tips that I need to check?
Thanks
Edson
A wild guess - Is it because you have an error handler and you may be doing a success reply from the handler. Have you tested removing the error handler or reply-with-failure from the handler ?
issue facing while loading the messages in to mq channel, recieving an error like below pasted
MQOPEN ended with reason code 2001
unable to open queue for output
how can i resolve this above issue,kindly can any one please advice on the same
The return code resolves as follows:
C:\>mqrc 2001
2001 0x000007d1 MQRC_ALIAS_BASE_Q_TYPE_ERROR
The Infocenter page for this return code provides the following explanation:
2001 (07D1) (RC2001): MQRC_ALIAS_BASE_Q_TYPE_ERROR
Explanation
An MQOPEN or MQPUT1 call was issued specifying an alias queue as the destination, but the BaseQName in the alias queue definition resolves to a queue that is not a local queue, a local definition of a remote queue, or a cluster queue. Completion Code
*MQCC_FAILED Programmer response*
Correct the queue definitions.
In other words, the queue your app is opening is an alias queue. If you are opening for input and the base queue is not a local queue, this error results. If you are opening for output and the base queue is not a local queue, a local definition of a remote queue, or a cluster queue you also get this error.
What is not mentioned in the error code above is that if the alias queue points directly to a transmit queue you also get this error. In that case what you need is a QRemote and not an alias.