How do I ensure MQ ALWAYS uses "TCP/IP" and never "bindings" - Websphere

This is a discussion on How do I ensure MQ ALWAYS uses "TCP/IP" and never "bindings" - Websphere ; I've tried setting the property transportType Integer 1 but this is not good enough. I don't know why ?! The MQ trace still shows that the transportType being used is 'bindings' 03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 ==> createQMNonXA() entry 03:33:45 [1140161625968] ...

+ Reply to Thread
Results 1 to 5 of 5

Thread: How do I ensure MQ ALWAYS uses "TCP/IP" and never "bindings"

  1. How do I ensure MQ ALWAYS uses "TCP/IP" and never "bindings"

    I've tried setting the property

    transportType
    Integer
    1


    but this is not good enough. I don't know why ?!

    The MQ trace still shows that the transportType being used is 'bindings'
    03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 ==> createQMNonXA() entry
    03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 ==> createQM() entry
    03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 qmgrName = 'JAVA.QUEUE.MANAGER'
    03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 mqProperties:
    03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 Use QM CCSID = 'true'
    03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 Group = 'java.lang.Object@e0c7c3'
    03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 Thread affinity = 'false'
    03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 XAReq = 'false'
    03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 ConnTag Property = '[B@15b123b'
    03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 SPI = 'SPI_ENABLE'
    03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 transport = 'MQSeries Bindings'
    03:33:45 [1140161625968] Thread: main Class: MQEnvironment forceAllowClient = false

    Please help !
    Thanks !


  2. Re: How do I ensure MQ ALWAYS uses "TCP/IP" and never "bindings"


  3. Re: How do I ensure MQ ALWAYS uses "TCP/IP" and never "bindings"

    shikhapoonia@gmail.com wrote:
    > I've tried setting the property
    >
    > transportType
    > Integer
    > 1
    >

    >
    > but this is not good enough. I don't know why ?!
    >
    > The MQ trace still shows that the transportType being used is 'bindings'
    > 03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 ==> createQMNonXA() entry
    > 03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 ==> createQM() entry
    > 03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 qmgrName = 'JAVA.QUEUE.MANAGER'
    > 03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 mqProperties:
    > 03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 Use QM CCSID = 'true'
    > 03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 Group = 'java.lang.Object@e0c7c3'
    > 03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 Thread affinity = 'false'
    > 03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 XAReq = 'false'
    > 03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 ConnTag Property = '[B@15b123b'
    > 03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 SPI = 'SPI_ENABLE'
    > 03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402 transport = 'MQSeries Bindings'
    > 03:33:45 [1140161625968] Thread: main Class: MQEnvironment forceAllowClient = false
    >
    > Please help !
    > Thanks !
    >


    If you are writing a JMS app, which the trace seems to suggest, use the
    following on your MQConnectionFactory:

    myFactory.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ _TCPIP);

  4. Re: How do I ensure MQ ALWAYS uses "TCP/IP" and never "bindings"

    Hi,

    Thanks Alex and Martin for your suggestions.
    Unfortunately, I'm still seeing errors related to transport type.

    Properties set :
    com.ibm.mq.jms.MQConnectionFactory fac = new com.ibm.mq.jms.MQConnectionFactory();

    fac.setHostName("xxx.xxx.xxx.xx");
    fac.setPort(xxxx);
    fac.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP );
    // also used (with same results) -
    // fac.setTransportType(1);

    fac.setQueueManager("TEST.QUEUE.MANAGER");
    fac.setHostName("hostname");

    Connection connection = fac.createConnection();

    When the connection is being created, I get the error :
    Hit uncaught exception javax.jms.JMSSecurityException
    javax.jms.JMSSecurityException: MQJMS2013: invalid security authentication supplied for MQQueueManager
    at com.ibm.mq.jms.MQConnection.createQM(MQConnection. java:2050)
    at com.ibm.mq.jms.MQConnection.createQMNonXA(MQConnec tion.java:1532)
    at com.ibm.mq.jms.MQConnection.(MQConnection.java:751)
    at com.ibm.mq.jms.MQConnectionFactory.createConnectio n(MQConnectionFactory.java:4616)

    I haven't set any security .. using defaults... as in no security. But I have seen this error before and usually it crops up when the authentication fails during a connection that uses "BINDINGS" instead of "TCP/IP".

    So I looked at the trace, and sure enough the transport type is still using 'Bindings'.
    the trace reveals :

    04:28:58 [1140424138421] [main] com.ibm.mq.jms.MQConnection@1df280b ==> createQMNonXA() entry
    04:28:58 [1140424138421] [main] com.ibm.mq.jms.MQConnection@1df280b ==> createQM() entry
    04:28:58 [1140424138421] [main] com.ibm.mq.jms.MQConnection@1df280b qmgrName = 'TEST.QUEUE.MANAGER'
    04:28:58 [1140424138421] [main] com.ibm.mq.jms.MQConnection@1df280b mqProperties:
    04:28:58 [1140424138421] [main] com.ibm.mq.jms.MQConnection@1df280b SPI = 'SPI_ENABLE'
    04:28:58 [1140424138421] [main] com.ibm.mq.jms.MQConnection@1df280b SSL Fips Required = 'false'
    04:28:58 [1140424138421] [main] com.ibm.mq.jms.MQConnection@1df280b Bindings Authentication = 'true'
    04:28:58 [1140424138421] [main] com.ibm.mq.jms.MQConnection@1df280b Thread affinity = 'false'
    04:28:58 [1140424138421] [main] com.ibm.mq.jms.MQConnection@1df280b XAReq = 'false'
    04:28:58 [1140424138421] [main] com.ibm.mq.jms.MQConnection@1df280b port = '1432'
    04:28:58 [1140424138421] [main] com.ibm.mq.jms.MQConnection@1df280b transport = 'MQSeries'
    04:28:58 [1140424138421] [main] com.ibm.mq.jms.MQConnection@1df280b KeyResetCount = '0'
    04:28:58 [1140424138421] [main] com.ibm.mq.jms.MQConnection@1df280b CCSID = '819'
    04:28:58 [1140424138421] [main] com.ibm.mq.jms.MQConnection@1df280b channel = 'SYSTEM.DEF.SVRCONN'

    The property for Bindings Authentication = 'true' ????!!!! Why ?! I just set Transport Type to TCP/IP. so (a) it should be TCP/IP Authentication. and (b) it should be TCP/IP Authentication = 'false'.

    There are some defaults which are overriding the settings I make !!!

    Hence, back to my initial problem, how do I ensure, that it ALWAYS uses "TCP/IP" ?



  5. Re: How do I ensure MQ ALWAYS uses "TCP/IP" and never "bindings"

    Shikha,

    You are indeed using client connection in the second post.

    In your first post:
    03:33:45 [1140161625968] [main] com.ibm.mq.jms.MQConnection@13d1402
    transport = 'MQSeries Bindings'

    In your second post:
    04:28:58 [1140424138421] [main] com.ibm.mq.jms.MQConnection@1df280b
    transport = 'MQSeries'

    The authentication problem is orthogonal, and you need to look at MQ Books
    for more info on this.

    Secondly, you assume absence of some particular entries in trace, which
    shouldn't be the case.

    Regards,
    Saket



+ Reply to Thread