About Callback mechanism in the JCSMP

Hi @Sathishkumar , welcome to the Community.

Please edit your post and reformat using code blocks. Very hard to read.

Please provide a working sample rather than just dumping a bunch of code from different classes.

Please test with known working samples, such as Guaranteed Publisher . I can see NACKs for both queue full and publish ACL block:


~LOG WARN~ 16:21:48.765 [Context_1_ProducerDispatcher] WARN  com.solac.sampl.jcsmp.patte.GuaranteedPublisher - NACK for Message com.solacesystems.jcsmp.impl.JCSMPGenericXMLMessage[messageId=112625,ackMessageId=0,prevId=0,CID_count=0,userData=,type=PERSISTENT,priority=4,redelivered=false,timeToLive=0,expiration=0,dmqEligible=false,topicSeqNum=null,metadataLen=0,contentLen=0,attLen=512,sendAttemptedOnce=false,ackImmediately=false,safeToRelease=false,retransmitting=false,sendCount=0@2da2c40] - ((Client name: AaronsThinkPad3/5061/aa5a775e83dde6050001/W6biLvjL4N   local(/0:0:0:0:0:0:0:1%0:53052) remote(0.0.0.0/0:0:0:0:0:0:0:1:55555)) - )  com.solacesystems.jcsmp.JCSMPErrorResponseException: 503: Spool Over Quota. Queue or Topic endpoint limit exceeded - Topic 'solace/samples/jcsmp/pers/pub/B' [Subcode:30]
~LOG WARN~ 16:22:32.224 [Context_1_ProducerDispatcher] WARN  com.solac.sampl.jcsmp.patte.GuaranteedPublisher - NACK for Message com.solacesystems.jcsmp.impl.JCSMPGenericXMLMessage[messageId=113272,ackMessageId=0,prevId=0,CID_count=0,userData=,type=PERSISTENT,priority=4,redelivered=false,timeToLive=0,expiration=0,dmqEligible=false,topicSeqNum=null,metadataLen=0,contentLen=0,attLen=512,sendAttemptedOnce=false,ackImmediately=false,safeToRelease=false,retransmitting=false,sendCount=0@69959639] - ((Client name: AaronsThinkPad3/5221/920d107a61255ca50001/utqDL244Js   local(/0:0:0:0:0:0:0:1%0:53620) remote(0.0.0.0/0:0:0:0:0:0:0:1:55555)) - )  com.solacesystems.jcsmp.JCSMPErrorResponseException: 403: Publish ACL Denied - Topic 'solace/samples/jcsmp/pers/pub/S' [Subcode:28]

Please verify your queue configuration that it’s not configured to Silently discard on reject.

Note that the new Java API is simpler and easier to use, perhaps you should use that instead of JCSMP, esepcially if this is a new project?