I'm getting the "Channel was inactive for too long" message from my C# program. Can I send messages from the most recent version of NMS to an older server version? We have AMQ Server version 5.5.1 (but it's a "fuse" version of the server). It fails on the "using (ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge))" statement in my code.
All details below... Apache.NMS Version is 1.7.1.3894 Apache.NMS.ActiveMQ Version is 1.7.2.4108 AMQ server version is : 5.5.1-fuse-03-06 *Constructed URL is:* activemq:tcp://actimrtstappz07.xchanginghosting.com:8080/?transport.sendTimeout=0&wireFormat.maxInactivityDuration=0&maxInactivityDurationInitalDelay=10000 *Exception is :* Apache.NMS.ActiveMQ.IOException HResult=0x80131500 Message=Channel was inactive for too long: tcp://actimrtstappz07.xchanginghosting.com:8080/ Source=Apache.NMS.ActiveMQ StackTrace: at Apache.NMS.ActiveMQ.Transport.InactivityMonitor.Oneway(Command command) at Apache.NMS.ActiveMQ.Transport.WireFormatNegotiator.Oneway(Command command) at Apache.NMS.ActiveMQ.Transport.MutexTransport.Oneway(Command command) at Apache.NMS.ActiveMQ.Transport.ResponseCorrelator.AsyncRequest(Command command) at Apache.NMS.ActiveMQ.Transport.ResponseCorrelator.Request(Command command, TimeSpan timeout) at Apache.NMS.ActiveMQ.Connection.CheckConnected() at Apache.NMS.ActiveMQ.Connection.CreateActiveMQSession(AcknowledgementMode ackMode) at Apache.NMS.ActiveMQ.Connection.CreateSession(AcknowledgementMode sessionAcknowledgementMode) at ETLib.TETPlayer.SendNewMessageQueue(TETPlayerMessage pm) in C:\ET\ETLib\Player\TETPlayer.cs:line 186 at ETLib.TETPlayer.TimerTick(DateTime time) in C:\ET\ETLib\Player\TETPlayer.cs:line 160 at TelerikWpfApp1.Presenters.PlayerPresenter.TimerTick(DateTime time) in C:\ET\TelerikWpfApp1\Presenters\Player\PlayerPresenter.cs:line 63 at TelerikWpfApp1.Views.PlayerView.TimerTick(Object sender, EventArgs e) in C:\ET\TelerikWpfApp1\Views\Player\PlayerView.xaml.cs:line 22 at System.Windows.Threading.DispatcherTimer.FireTick(Object unused) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) *Code extract:* Uri brokerUri = new Uri(pm.Sequence.TargetEnvironment.URI); string queueName = pm.Sequence.TargetEnvironment.Queue; Apache.NMS.NMSConnectionFactory factory = new NMSConnectionFactory(brokerUri); using (IConnection connection = factory.CreateConnection()) { connection.RequestTimeout = TimeSpan.FromSeconds(0); connection.RedeliveryPolicy.InitialRedeliveryDelay = 0; connection.AcknowledgementMode = AcknowledgementMode.AutoAcknowledge; using (ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge)) { IDestination destination = session.GetQueue(queueName); using (IMessageProducer producer = session.CreateProducer(destination)) { producer.DeliveryMode = MsgDeliveryMode.Persistent; producer.RequestTimeout = TimeSpan.FromSeconds(0); connection.Start(); -- Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-Dev-f2368404.html