ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » DELIVERY_MODE_NONE as default in XMS 7.5.0.5

Post new topic  Reply to topic
 DELIVERY_MODE_NONE as default in XMS 7.5.0.5 « View previous topic :: View next topic » 
Author Message
zbyszanna
PostPosted: Wed Apr 13, 2016 8:00 am    Post subject: DELIVERY_MODE_NONE as default in XMS 7.5.0.5 Reply with quote

Novice

Joined: 03 Feb 2012
Posts: 23

Hi,
I have a simple app that creates a bytes message and then prints it's delivery mode.
AFAIR JMS specifies that default delivery mode is DELIVERY_MODE_PERSISTENT
and here it prints DELIVERY_MODE_NONE.

In a real world scenario we use MessageProducer send method which also accepts delivery mode and we take it from the message. We do the same in Java and it works, and here when we send the message, the XMS complains about illegal delivery mode DELIVERY_MODE_NONE. When we use the send method which doesn't bypass the default delivery mode of MessageProducer, everything works fine.

It looks like a bug in XMS. Any comments, suggestions?

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC>dspmqver
Name: WebSphere MQ
Version: 7.5.0.5
Level: p750-005-150424
BuildType: IKAP - (Production)
Platform: WebSphere MQ for Windows
Mode: 32-bit
O/S: Windows 7 Professional N x64 Edition, Build 7601: SP1
InstName: Installation1
InstDesc:
Primary: Yes
InstPath: C:\Program Files (x86)\IBM\WebSphere MQ
DataPath: C:\Program Files (x86)\IBM\WebSphere MQ
MaxCmdLevel: 750

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC>dspxmsver
Name: IBM Message Service Client for .NET (XMS .NET)
Version: 2.5.0.5
Level: nn250-005-150112
Build Type: Production

~ $ dspmqver
Name: WebSphere MQ
Version: 7.5.0.5
Level: p750-005-150424
BuildType: IKAP - (Production)
Platform: WebSphere MQ for Linux (x86-64 platform)
Mode: 64-bit
O/S: Linux 3.16.0-38-generic
InstName: Installation1
InstDesc:
Primary: No
InstPath: /opt/mqm
DataPath: /var/mqm
MaxCmdLevel: 750

.Net example:

Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using IBM.XMS;

namespace XMSSendTest
{
    class Program
    {
        static void Main(string[] args)
        {
            IConnectionFactory factory = IBM.XMS.XMSFactoryFactory.GetInstance(XMSC.CT_WMQ).CreateConnectionFactory();
            factory.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, "qmgr);
            factory.SetStringProperty(XMSC.WMQ_CHANNEL, "chl");
            factory.SetStringProperty(XMSC.WMQ_HOST_NAME, "host");
            factory.SetIntProperty(XMSC.WMQ_PORT, 1414);
            IConnection connection = factory.CreateConnection();
            ISession session = connection.CreateSession(false, AcknowledgeMode.AutoAcknowledge);
            IMessage msg = session.CreateBytesMessage();
            System.Console.WriteLine("DELIVERY: " + msg.JMSDeliveryMode);
        }
    }
}


prints DELIVERY_MODE_NONE

Java example

Code:

package XMSSendTest;

import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.Session;

import com.ibm.msg.client.jms.JmsConnectionFactory;
import com.ibm.msg.client.jms.JmsConstants;
import com.ibm.msg.client.jms.JmsFactoryFactory;
import com.ibm.msg.client.wmq.WMQConstants;

class Program
{
   public static void main(String[] args) throws JMSException
   {
      JmsConnectionFactory factory = (JmsConnectionFactory)JmsFactoryFactory.getInstance(JmsConstants.CT_WMQ).createConnectionFactory();
      factory.setStringProperty(WMQConstants.WMQ_QUEUE_MANAGER, "qmgr");
      factory.setStringProperty(WMQConstants.WMQ_CHANNEL, "chl");
      factory.setStringProperty(WMQConstants.WMQ_HOST_NAME, "host");
      factory.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);
      factory.setIntProperty(WMQConstants.WMQ_PORT, 1414);
      Connection connection = factory.createConnection();
      Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
      Message msg = session.createBytesMessage();
      System.out.println("DELIVERY: " + msg.getJMSDeliveryMode());
   }
}


prints 2 (DELIVERY_MODE_PERSISTENT).
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » DELIVERY_MODE_NONE as default in XMS 7.5.0.5
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.