2013-02-12 93 views
1

我有一個現有的XMS .Net客戶端應用程序,我試圖添加自動客戶端重新連接功能。這是爲了經常修復隊列管理器中的應用程序斷開連接問題,並要求應用程序服務回收以恢復與隊列管理器的連接。 客戶端版本是 版本:7.0.1.1 的XMS客戶端產品版本是1.2.7.0 使XMS .Net代碼使用自動客戶端重新連接功能

但我發現XMS .Net客戶端1.2.7版本不支持該屬性XMSC_WMQ_CLIENT_RECONNECT_OPTIONS。 錯誤獲取 「

IBM.XMS.XMSC」不包含定義 「WMQ_CLIENT_RECONNECT_OPTIONS」

爲了克服這一點,我相信XMS客戶端必須至少爲V2.1.0。 並且爲了使用XMS客戶端版本2.1.0,我必須將MQ客戶端自身更新爲v7.1,但我仍將與MQ v7.0.1隊列管理器連接。從較高版本的客戶端連接到較低版本的隊列管理器時是否有任何問題,或者需要將隊列管理器升級到V7.1以便使用XMS客戶端中的自動客戶端重新連接功能?

這個問題還有其他更好的解決方案嗎?

請找到代碼改變

public class MQConnectionFactory 
{ 
    private static IConnectionFactory cf = XMSFactoryFactory.GetInstance(XMSC.CT_WMQ).CreateConnectionFactory(); 

    public string WMQ_HOST_NAME { set { cf.SetStringProperty(XMSC.WMQ_HOST_NAME, value); } } 
    public int WMQ_PORT { set { cf.SetIntProperty(XMSC.WMQ_PORT, value); } } 
    public string WMQ_QUEUE_MANAGER { set { cf.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, value); } } 
    public string WMQ_CHANNEL { set { cf.SetStringProperty(XMSC.WMQ_CHANNEL, value); } } 

//Adding Client Reconnecting Parameters 
    public int WMQ_CLIENT_RECONNECT { set { cf.SetIntProperty(XMSC.WMQ_CLIENT_RECONNECT_OPTIONS, XMSC.WMQ_CLIENT_RECONNECT);} } 
    public int WMQ_CLIENT_RECONNECT_TIMEOUT { set { cf.SetIntProperty(XMSC.WMQ_CLIENT_RECONNECT_TIMEOUT, 150);} } 

    public int WMQ_CONNECTION_MODE 
    { 
     set 
     { 
      if (value < 0) 
       value = XMSC.WMQ_CM_CLIENT_UNMANAGED; 
      cf.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, value); 
      //set to non RFH header 
      //cf.SetIntProperty(XMSC.WMQ_TARGET_CLIENT, XMSC.WMQ_TARGET_DEST_MQ); 
     } 
    } 

    public IConnection CreateConnection() 
    { 
     //try 
     //{ 
     return cf.CreateConnection(); 
     //} 
     //catch (Exception e) 
     //{ 
     // Console.WriteLine(e); 
     // return null; 
     //} 

    } 
} 

回答

1

是的,你需要將MQ客戶端升級到V7.1。此級別的MQ客戶端將與MQ v701隊列管理器一起使用。

+0

感謝您的解決方案 – sijo0703 2013-02-18 17:24:11

相關問題