SDK Perf Util vs Solace Client Code
Hi,
We are trying to consumer around 2K messages per second and when we use sdkperf util with 50 Consumers it is consuming the data with out expiring any messages on JMS Queue.
How ever when we use regular client using Solace JMS we cannot even get 50 consumers created. The Consumer connections are dropping off very frequently and the max messages we can consumer are around 400 per second.
The types of errors we are seeing in the Solace Client are:Connection attempt failed to host 'host11' ConnectException com.solacesystems.jcsmp.JCSMPTransportException: (Client name: client1/3818/#0061001b Local port: -1 Remote addr: host1:55003) - Timeout happened when reading response from the router. cause: java.net.SocketTimeoutException ((Client name: client1/3818/#0061001b Local port: -1 Remote addr: host1:55003) - )
And the Solace Client i am using tries to create 50 Consumers and it can only create any where between 1 to 15 and drops them in a cycle and tries to recreate them.
It was constantly getting NamingException.
Is there a way i can get the code used by sdk perf util ? Just wanted to compare what we are doing differently than SDK Perf Utility is doing ?
Also we are getting the following Exception when we don't have message selectors
JMSException | NamingException =
javax.naming.NamingException: JNDI lookup failed - (Client name: client1/5716/#004c00f5 Local port: -1 Remote addr: host1:55003) - Timeout happened when reading response from the router.
at com.solacesystems.jndi.SolJNDIInitialContextFactory$SolJNDIInitialContextImpl.lookup(SolJNDIInitialContextFactory.java:227)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
Thanks
Sateesh
Comments
-
Hi All,
Went through our Solace Client code (JNDI + JMS Based) multiple times and it is based on
https://github.com/SolaceSamples/solace-samples-jms/blob/master/src/main/java/com/solace/samples/QueueConsumerJNDI.java
except that we create each Consumer in it's own thread and it used it's own dedicated JMS Connection, Session and Message Consumer.
I was using solace jars from version 10.1.1 all these days and switched them to 10.8.0 and it seems i am no longer seeing the Naming Exception or SocketTimeoutExceptions i was seeing earlier.Thanks
Sateesh0