Friday, 11 April 2014

Migrating to WebSphere MQ for Windows Version 7.0

Migrating to WebSphere MQ for Windows Version 7.0

Migrating to WebSphere MQ for Windows Version 7.0
=================================================

Follow this information to migrate from previous versions of WebSphere® MQ for Windows® to WebSphere MQ for Windows Version 7.0.

Before you upgrade to WebSphere MQ Version 7.0, you must consider this information.

If you migrate from a previous level of this product without first backing up your system, you cannot revert to your previous level, so back up your system before you install WebSphere MQ Version 7.0. This enables you to back out the upgrade if necessary. If you back out the upgrade, however, you cannot recover any work, such as changes to messages and objects, for example, performed by WebSphere MQ Version 7.0. For distributed platforms, information about how to back up your system begins with Backing up and restoring WebSphere MQ in the WebSphere MQ System Administration Guide.

The installation process for WebSphere MQ for Windows detects whether this is a new installation or an update from a previous level of this product. If you migrate from a previous level, all the objects that you previously created (for example, your queue managers) can be maintained. The components that were previously installed are preselected in the feature options when you install the new level. If you leave these components selected, you can keep them or reinstall them. However, if you deselect any of these components, the installation process uninstalls them.

You can also migrate to WebSphere MQ V7.0 on a system where a previous version has been uninstalled but where the queue manager data has been retained.
If an earlier version of WebSphere MQ is installed on the computer:

* Ensure that no queue managers, listeners, MQ applications or remote applications that use queue managers are running and that the WebSphere MQ Service is stopped. To stop the WebSphere MQ Service, right-click on the WebSphere MQ icon in the system tray, then click Stop WebSphere MQ.
* When the installation of WebSphere MQ Version 7.0 completes, the Prepare Websphere MQ Wizard launches automatically. Use this wizard to reenter domain, user ID and password information.

You can subsequently use the DCOMCNFG.EXE tool, shipped with Windows systems, to change the domain, user ID, and password information.This tool is described in Using DCOMCNFG.EXE to change access permissions

For Windows Vista and Windows Server 2008 users with UAC enabled only: if you do not complete the Prepare WebSphere MQ Wizard directly after WebSphere MQ installs or if for any reason your machine is rebooted between completing WebSphere MQ installation and completing the Prepare WebSphere MQ Wizard, ensure the wizard is run with Administrator privilege, otherwise the wizard might fail.
* WebSphere MQ Version 7.0 supports migration from WebSphere MQ Version 5.3 and WebSphere MQ Version 6.0 only.
* WebSphere MQ Version 7.0 does not coexist with previous versions of WebSphere MQ. You must migrate from either WebSphere MQ Version 5.3 or WebSphere MQ Version 6.0 to WebSphere MQ Version 7.0.
* By default, a typical WebSphere MQ Version 6.0 to Version 7.0 migration installs only the same features that were installed in the previous version installation. For example, if WebSphere MQ Explorer was not installed in the Version 6.0 installation, it is not installed in a Version 7.0 installation. If you want WebSphere MQ Explorer, select a custom installation of WebSphere MQ Version 7.0 and select the MQ Explorer feature on the Features panel. If you are migrating from WebSphere Version 5.3 to Version 7.0, WebSphere MQ Explorer is installed by default. If you do not want WebSphere MQ Explorer, uninstall the WebSphere MQ Explorer feature by selecting a custom installation of WebSphere MQ Version 7.0. Then deselect the MQ Explorer feature on the Features panel. For more information on how to deselect features, see Launchpad instructions in Quick Beginnings for Windows.

* Choosing not to install WebSphere MQ Explorer and WebSphere Eclipse Platform
You can choose not to install the WebSphere MQ Explorer feature, during a custom installation.
* Migrating to WebSphere MQ Version 7.0 on Windows Vista or Windows Server 2008
You can migrate to WebSphere MQ Version 7.0 on Windows Vista or Windows Server 2008 using either of the following supported migration paths:
* User Account Control (UAC) on Windows Vista and Windows Server 2008
Windows Vista and Windows Server 2008 introduce a User Account Control (UAC) feature, which restricts the actions users can perform on certain operating system facilities, even if they are members of the Administrators group.
* Launchpad migration instructions
* SPX support on Windows Vista and Windows Server 2008
* WebSphere MQ service objects
This section gives information about service objects in WebSphere MQ for Windows.
* WebSphere MQ Explorer for Version 7.0 - error connecting to a migrated queue manager
* Migrating an MSCS configuration
Migrate one node at a time, following these instructions.

Test 000-374: IBM WebSphere MQ V7.0, System Administration

Test 000-374: IBM WebSphere MQ V7.0, System Administration

Test 000-374: IBM WebSphere MQ V7.0, System Administration
===========================================================

Test information:

* Number of questions: 56
* Time allowed in minutes: 105
* Required passing score: 59%
* Test languages: English


The test consists of seven sections containing a total of 56 multiple-choice questions. The percentages after each section title reflect the approximate distribution of the total question set across the sections.

Section 1 - Planning (11%)

1. Describe the features and benefits of IBM WebSphere MQ
2. Understand migration considerations (e.g., 64 bit)
3. Describe platform-specific functionalities of WebSphere MQ.
4. Describe the necessary pre-requisites for implementing an IBM WebSphere MQ configuration
5. Demonstrate appropriate logging options for a recovery strategy


Section 2 - Installation and Configuration (16%)

1. Create a working queue manager
2. Create the necessary IBM WebSphere MQ objects to support an application
3. Demonstrate differences between persistent and non-persistent messages
4. Apply features of IBM WebSphere MQ Explorer, MQSC scripting, PCF commands, ISPF panels (Interactive Systems Productivity Facility), and Command Language (CL)
5. Create or modify IBM WebSphere MQ objects necessary for a triggered application
6. Configure IBM WebSphere MQ objects for Web Services and HTTP
7. Configure IBM WebSphere MQ objects for JMS


Section 3 - Basic Administration (14%)

1. Operating queue managers and appropriate queue manager services
2. Prepare procedures to recover messages and queues in the event of failure
3. Analyze IBM WebSphere MQ performance for application throughput
4. Monitor and change IBM WebSphere MQ objects using the administrative facilities
5. Configure IBM WebSphere MQ Explorer for remote administration


Section 4 - Distributed Queuing and Clustered Queue Management (21%)

1. Analyze and select the appropriate IBM WebSphere MQ configuration. (e.g., hub and spoke, star, clustering)
2. Create the appropriate IBM WebSphere MQ objects to satisfy a WebSphere MQ network design
3. Install an IBM WebSphere MQ client and connect the client to a queue manager
4. Use appropriate methods of operating channels
5. Create and manage the objects required to enable clustering
6. Implement IBM WebSphere MQ clustering workload management capabilities
7. Describe different message channel compression options for IBM WebSphere MQ
8. Predict the final destination of a message given a scenario containing alias or remote definitions


Section 5 - Publish and Subscribe (11%)

1. Create a basic broker topology
2. Migrate publish/subscribe applications from IBM WebSphere MQ V6.0 to V7.0
3. Select the appropriate publish/subscribe topology
4. Manage topics and subscriptions
5. Set up security for IBM WebSphere MQ publish/subscribe


Section 6 - Problem Determination (16%)

1. Locate problem information (e.g., IBM WebSphere MQ error logs, operating system logs, FFST files)
2. Investigate and determine the cause of a problem
3. Produce an IBM WebSphere MQ trace
4. Monitor messages (e.g., event monitoring, accounting/statistical gathering)
5. Recover from a problem


Section 7 - Security (11%)

1. Describe the security features provided in IBM WebSphere MQ
2. Control access to IBM WebSphere MQ objects
3. Configure IBM WebSphere MQ channels with SSL
4. Demonstrate the need for and install various channel exits

IBM Websphere MQ Reason code list / mq reason codes / websphere mq error codes / mq error messages

IBM Websphere MQ Reason code list / mq reason codes / websphere mq error codes / mq error messages

Reason code list
=================

The following is a list of reason codes, in numeric order, providing detailed information to help you understand them, including:

* An explanation of the circumstances that have caused the code to be raised
* The associated completion code
* Suggested programmer actions in response to the code

* 0 (0000) (RC0): MQRC_NONE
* 900 (0384) (RC900): MQRC_APPL_FIRST
* 999 (03E7) (RC999): MQRC_APPL_LAST
* 2001 (07D1) (RC2001): MQRC_ALIAS_BASE_Q_TYPE_ERROR
* 2002 (07D2) (RC2002): MQRC_ALREADY_CONNECTED
* 2003 (07D3) (RC2003): MQRC_BACKED_OUT
* 2004 (07D4) (RC2004): MQRC_BUFFER_ERROR
* 2005 (07D5) (RC2005): MQRC_BUFFER_LENGTH_ERROR
* 2006 (07D6) (RC2006): MQRC_CHAR_ATTR_LENGTH_ERROR
* 2007 (07D7) (RC2007): MQRC_CHAR_ATTRS_ERROR
* 2008 (07D8) (RC2008): MQRC_CHAR_ATTRS_TOO_SHORT
* 2009 (07D9) (RC2009): MQRC_CONNECTION_BROKEN
* 2010 (07DA) (RC2010): MQRC_DATA_LENGTH_ERROR
* 2011 (07DB) (RC2011): MQRC_DYNAMIC_Q_NAME_ERROR
* 2012 (07DC) (RC2012): MQRC_ENVIRONMENT_ERROR
* 2013 (07DD) (RC2013): MQRC_EXPIRY_ERROR
* 2014 (07DE) (RC2014): MQRC_FEEDBACK_ERROR
* 2016 (07E0) (RC2016): MQRC_GET_INHIBITED
* 2017 (07E1) (RC2017): MQRC_HANDLE_NOT_AVAILABLE
* 2018 (07E2) (RC2018): MQRC_HCONN_ERROR
* 2019 (07E3) (RC2019): MQRC_HOBJ_ERROR
* 2020 (07E4) (RC2020): MQRC_INHIBIT_VALUE_ERROR
* 2021 (07E5) (RC2021): MQRC_INT_ATTR_COUNT_ERROR
* 2022 (07E6) (RC2022): MQRC_INT_ATTR_COUNT_TOO_SMALL
* 2023 (07E7) (RC2023): MQRC_INT_ATTRS_ARRAY_ERROR
* 2024 (07E8) (RC2024): MQRC_SYNCPOINT_LIMIT_REACHED
* 2025 (07E9) (RC2025): MQRC_MAX_CONNS_LIMIT_REACHED
* 2026 (07EA) (RC2026): MQRC_MD_ERROR
* 2027 (07EB) (RC2027): MQRC_MISSING_REPLY_TO_Q
* 2029 (07ED) (RC2029): MQRC_MSG_TYPE_ERROR
* 2030 (07EE) (RC2030): MQRC_MSG_TOO_BIG_FOR_Q
* 2031 (07EF) (RC2031): MQRC_MSG_TOO_BIG_FOR_Q_MGR
* 2033 (07F1) (RC2033): MQRC_NO_MSG_AVAILABLE
* 2034 (07F2) (RC2034): MQRC_NO_MSG_UNDER_CURSOR
* 2035 (07F3) (RC2035): MQRC_NOT_AUTHORIZED
* 2036 (07F4) (RC2036): MQRC_NOT_OPEN_FOR_BROWSE
* 2037 (07F5) (RC2037): MQRC_NOT_OPEN_FOR_INPUT
* 2038 (07F6) (RC2038): MQRC_NOT_OPEN_FOR_INQUIRE
* 2039 (07F7) (RC2039): MQRC_NOT_OPEN_FOR_OUTPUT
* 2040 (07F8) (RC2040): MQRC_NOT_OPEN_FOR_SET
* 2041 (07F9) (RC2041): MQRC_OBJECT_CHANGED
* 2042 (07FA) (RC2042): MQRC_OBJECT_IN_USE
* 2043 (07FB) (RC2043): MQRC_OBJECT_TYPE_ERROR
* 2044 (07FC) (RC2044): MQRC_OD_ERROR
* 2045 (07FD) (RC2045): MQRC_OPTION_NOT_VALID_FOR_TYPE
* 2046 (07FE) (RC2046): MQRC_OPTIONS_ERROR
* 2047 (07FF) (RC2047): MQRC_PERSISTENCE_ERROR
* 2048 (0800) (RC2048): MQRC_PERSISTENT_NOT_ALLOWED
* 2049 (0801) (RC2049): MQRC_PRIORITY_EXCEEDS_MAXIMUM
* 2050 (0802) (RC2050): MQRC_PRIORITY_ERROR
* 2051 (0803) (RC2051): MQRC_PUT_INHIBITED
* 2052 (0804) (RC2052): MQRC_Q_DELETED
* 2053 (0805) (RC2053): MQRC_Q_FULL
* 2055 (0807) (RC2055): MQRC_Q_NOT_EMPTY
* 2056 (0808) (RC2056): MQRC_Q_SPACE_NOT_AVAILABLE
* 2057 (0809) (RC2057): MQRC_Q_TYPE_ERROR
* 2058 (080A) (RC2058): MQRC_Q_MGR_NAME_ERROR
* 2059 (080B) (RC2059): MQRC_Q_MGR_NOT_AVAILABLE
* 2061 (080D) (RC2061): MQRC_REPORT_OPTIONS_ERROR
* 2062 (080E) (RC2062): MQRC_SECOND_MARK_NOT_ALLOWED
* 2063 (080F) (RC2063): MQRC_SECURITY_ERROR
* 2065 (0811) (RC2065): MQRC_SELECTOR_COUNT_ERROR
* 2066 (0812) (RC2066): MQRC_SELECTOR_LIMIT_EXCEEDED
* 2067 (0813) (RC2067): MQRC_SELECTOR_ERROR
* 2068 (0814) (RC2068): MQRC_SELECTOR_NOT_FOR_TYPE
* 2069 (0815) (RC2069): MQRC_SIGNAL_OUTSTANDING
* 2070 (0816) (RC2070): MQRC_SIGNAL_REQUEST_ACCEPTED
* 2071 (0817) (RC2071): MQRC_STORAGE_NOT_AVAILABLE
* 2072 (0818) (RC2072): MQRC_SYNCPOINT_NOT_AVAILABLE
* 2075 (081B) (RC2075): MQRC_TRIGGER_CONTROL_ERROR
* 2076 (081C) (RC2076): MQRC_TRIGGER_DEPTH_ERROR
* 2077 (081D) (RC2077): MQRC_TRIGGER_MSG_PRIORITY_ERR
* 2078 (081E) (RC2078): MQRC_TRIGGER_TYPE_ERROR
* 2079 (081F) (RC2079): MQRC_TRUNCATED_MSG_ACCEPTED
* 2080 (0820) (RC2080): MQRC_TRUNCATED_MSG_FAILED
* 2082 (0822) (RC2082): MQRC_UNKNOWN_ALIAS_BASE_Q
* 2085 (0825) (RC2085): MQRC_UNKNOWN_OBJECT_NAME
* 2086 (0826) (RC2086): MQRC_UNKNOWN_OBJECT_Q_MGR
* 2087 (0827) (RC2087): MQRC_UNKNOWN_REMOTE_Q_MGR
* 2090 (082A) (RC2090): MQRC_WAIT_INTERVAL_ERROR
* 2091 (082B) (RC2091): MQRC_XMIT_Q_TYPE_ERROR
* 2092 (082C) (RC2092): MQRC_XMIT_Q_USAGE_ERROR
* 2093 (082D) (RC2093): MQRC_NOT_OPEN_FOR_PASS_ALL
* 2094 (082E) (RC2094): MQRC_NOT_OPEN_FOR_PASS_IDENT
* 2095 (082F) (RC2095): MQRC_NOT_OPEN_FOR_SET_ALL
* 2096 (0830) (RC2096): MQRC_NOT_OPEN_FOR_SET_IDENT
* 2097 (0831) (RC2097): MQRC_CONTEXT_HANDLE_ERROR
* 2098 (0832) (RC2098): MQRC_CONTEXT_NOT_AVAILABLE
* 2099 (0833) (RC2099): MQRC_SIGNAL1_ERROR
* 2100 (0834) (RC2100): MQRC_OBJECT_ALREADY_EXISTS
* 2101 (0835) (RC2101): MQRC_OBJECT_DAMAGED
* 2102 (0836) (RC2102): MQRC_RESOURCE_PROBLEM
* 2103 (0837) (RC2103): MQRC_ANOTHER_Q_MGR_CONNECTED
* 2104 (0838) (RC2104): MQRC_UNKNOWN_REPORT_OPTION
* 2105 (0839) (RC2105): MQRC_STORAGE_CLASS_ERROR
* 2106 (083A) (RC2106): MQRC_COD_NOT_VALID_FOR_XCF_Q
* 2107 (083B) (RC2107): MQRC_XWAIT_CANCELED
* 2108 (083C) (RC2108): MQRC_XWAIT_ERROR
* 2109 (083D) (RC2109): MQRC_SUPPRESSED_BY_EXIT
* 2110 (083E) (RC2110): MQRC_FORMAT_ERROR
* 2111 (083F) (RC2111): MQRC_SOURCE_CCSID_ERROR
* 2112 (0840) (RC2112): MQRC_SOURCE_INTEGER_ENC_ERROR
* 2113 (0841) (RC2113): MQRC_SOURCE_DECIMAL_ENC_ERROR
* 2114 (0842) (RC2114): MQRC_SOURCE_FLOAT_ENC_ERROR
* 2115 (0843) (RC2115): MQRC_TARGET_CCSID_ERROR
* 2116 (0844) (RC2116): MQRC_TARGET_INTEGER_ENC_ERROR
* 2117 (0845) (RC2117): MQRC_TARGET_DECIMAL_ENC_ERROR
* 2118 (0846) (RC2118): MQRC_TARGET_FLOAT_ENC_ERROR
* 2119 (0847) (RC2119): MQRC_NOT_CONVERTED
* 2120 (0848) (RC2120): MQRC_CONVERTED_MSG_TOO_BIG
* 2121 (0849) (RC2121): MQRC_NO_EXTERNAL_PARTICIPANTS
* 2122 (084A) (RC2122): MQRC_PARTICIPANT_NOT_AVAILABLE
* 2123 (084B) (RC2123): MQRC_OUTCOME_MIXED
* 2124 (084C) (RC2124): MQRC_OUTCOME_PENDING
* 2125 (084D) (RC2125): MQRC_BRIDGE_STARTED
* 2126 (084E) (RC2126): MQRC_BRIDGE_STOPPED
* 2127 (084F) (RC2127): MQRC_ADAPTER_STORAGE_SHORTAGE
* 2128 (0850) (RC2128): MQRC_UOW_IN_PROGRESS
* 2129 (0851) (RC2129): MQRC_ADAPTER_CONN_LOAD_ERROR
* 2130 (0852) (RC2130): MQRC_ADAPTER_SERV_LOAD_ERROR
* 2131 (0853) (RC2131): MQRC_ADAPTER_DEFS_ERROR
* 2132 (0854) (RC2132): MQRC_ADAPTER_DEFS_LOAD_ERROR
* 2133 (0855) (RC2133): MQRC_ADAPTER_CONV_LOAD_ERROR
* 2134 (0856) (RC2134): MQRC_BO_ERROR
* 2135 (0857) (RC2135): MQRC_DH_ERROR
* 2136 (0858) (RC2136): MQRC_MULTIPLE_REASONS
* 2137 (0859) (RC2137): MQRC_OPEN_FAILED
* 2138 (085A) (RC2138): MQRC_ADAPTER_DISC_LOAD_ERROR
* 2139 (085B) (RC2139): MQRC_CNO_ERROR
* 2140 (085C) (RC2140): MQRC_CICS_WAIT_FAILED
* 2141 (085D) (RC2141): MQRC_DLH_ERROR
* 2142 (085E) (RC2142): MQRC_HEADER_ERROR
* 2143 (085F) (RC2143): MQRC_SOURCE_LENGTH_ERROR
* 2144 (0860) (RC2144): MQRC_TARGET_LENGTH_ERROR
* 2145 (0861) (RC2145): MQRC_SOURCE_BUFFER_ERROR
* 2146 (0862) (RC2146): MQRC_TARGET_BUFFER_ERROR
* 2148 (0864) (RC2148): MQRC_IIH_ERROR
* 2149 (0865) (RC2149): MQRC_PCF_ERROR
* 2150 (0866) (RC2150): MQRC_DBCS_ERROR
* 2152 (0868) (RC2152): MQRC_OBJECT_NAME_ERROR
* 2153 (0869) (RC2153): MQRC_OBJECT_Q_MGR_NAME_ERROR
* 2154 (086A) (RC2154): MQRC_RECS_PRESENT_ERROR
* 2155 (086B) (RC2155): MQRC_OBJECT_RECORDS_ERROR
* 2156 (086C) (RC2156): MQRC_RESPONSE_RECORDS_ERROR
* 2157 (086D) (RC2157): MQRC_ASID_MISMATCH
* 2158 (086E) (RC2158): MQRC_PMO_RECORD_FLAGS_ERROR
* 2159 (086F) (RC2159): MQRC_PUT_MSG_RECORDS_ERROR
* 2160 (0870) (RC2160): MQRC_CONN_ID_IN_USE
* 2161 (0871) (RC2161): MQRC_Q_MGR_QUIESCING
* 2162 (0872) (RC2162): MQRC_Q_MGR_STOPPING
* 2163 (0873) (RC2163): MQRC_DUPLICATE_RECOV_COORD
* 2173 (087D) (RC2173): MQRC_PMO_ERROR
* 2182 (0886) (RC2182): MQRC_API_EXIT_NOT_FOUND
* 2183 (0887) (RC2183): MQRC_API_EXIT_LOAD_ERROR
* 2184 (0888) (RC2184): MQRC_REMOTE_Q_NAME_ERROR
* 2185 (0889) (RC2185): MQRC_INCONSISTENT_PERSISTENCE
* 2186 (088A) (RC2186): MQRC_GMO_ERROR
* 2187 (088B) (RC2187): MQRC_CICS_BRIDGE_RESTRICTION
* 2188 (088C) (RC2188): MQRC_STOPPED_BY_CLUSTER_EXIT
* 2189 (088D) (RC2189): MQRC_CLUSTER_RESOLUTION_ERROR
* 2190 (088E) (RC2190): MQRC_CONVERTED_STRING_TOO_BIG
* 2191 (088F) (RC2191): MQRC_TMC_ERROR
* 2192 (0890) (RC2192): MQRC_PAGESET_FULL
* 2192 (0890) (RC2192): MQRC_STORAGE_MEDIUM_FULL
* 2193 (0891) (RC2193): MQRC_PAGESET_ERROR
* 2194 (0892) (RC2194): MQRC_NAME_NOT_VALID_FOR_TYPE
* 2195 (0893) (RC2195): MQRC_UNEXPECTED_ERROR
* 2196 (0894) (RC2196): MQRC_UNKNOWN_XMIT_Q
* 2197 (0895) (RC2197): MQRC_UNKNOWN_DEF_XMIT_Q
* 2198 (0896) (RC2198): MQRC_DEF_XMIT_Q_TYPE_ERROR
* 2199 (0897) (RC2199): MQRC_DEF_XMIT_Q_USAGE_ERROR
* 2201 (0899) (RC2201): MQRC_NAME_IN_USE
* 2202 (089A) (RC2202): MQRC_CONNECTION_QUIESCING
* 2203 (089B) (RC2203): MQRC_CONNECTION_STOPPING
* 2204 (089C) (RC2204): MQRC_ADAPTER_NOT_AVAILABLE
* 2206 (089E) (RC2206): MQRC_MSG_ID_ERROR
* 2207 (089F) (RC2207): MQRC_CORREL_ID_ERROR
* 2208 (08A0) (RC2208): MQRC_FILE_SYSTEM_ERROR
* 2209 (08A1) (RC2209): MQRC_NO_MSG_LOCKED
* 2210 (08A2) (RC2210): MQRC_SOAP_DOTNET_ERROR
* 2211 (08A3) (RC2211): MQRC_SOAP_AXIS_ERROR
* 2212 (08A4) (RC2212): MQRC_SOAP_URL_ERROR
* 2217 (08A9) (RC2217): MQRC_CONNECTION_NOT_AUTHORIZED
* 2218 (08AA) (RC2218): MQRC_MSG_TOO_BIG_FOR_CHANNEL
* 2219 (08AB) (RC2219): MQRC_CALL_IN_PROGRESS
* 2220 (08AC) (RC2220): MQRC_RMH_ERROR
* 2222 (08AE) (RC2222): MQRC_Q_MGR_ACTIVE
* 2223 (08AF) (RC2223): MQRC_Q_MGR_NOT_ACTIVE
* 2224 (08B0) (RC2224): MQRC_Q_DEPTH_HIGH
* 2225 (08B1) (RC2225): MQRC_Q_DEPTH_LOW
* 2226 (08B2) (RC2226): MQRC_Q_SERVICE_INTERVAL_HIGH
* 2227 (08B3) (RC2227): MQRC_Q_SERVICE_INTERVAL_OK
* 2228 (08B4) (RC2228): MQRC_RFH_HEADER_FIELD_ERROR
* 2229 (08B5) (RC2229): MQRC_RAS_PROPERTY_ERROR
* 2232 (08B8) (RC2232): MQRC_UNIT_OF_WORK_NOT_STARTED
* 2233 (08B9) (RC2233): MQRC_CHANNEL_AUTO_DEF_OK
* 2234 (08BA) (RC2234): MQRC_CHANNEL_AUTO_DEF_ERROR
* 2235 (08BB) (RC2235): MQRC_CFH_ERROR
* 2236 (08BC) (RC2236): MQRC_CFIL_ERROR
* 2237 (08BD) (RC2237): MQRC_CFIN_ERROR
* 2238 (08BE) (RC2238): MQRC_CFSL_ERROR
* 2239 (08BF) (RC2239): MQRC_CFST_ERROR
* 2241 (08C1) (RC2241): MQRC_INCOMPLETE_GROUP
* 2242 (08C2) (RC2242): MQRC_INCOMPLETE_MSG
* 2243 (08C3) (RC2243): MQRC_INCONSISTENT_CCSIDS
* 2244 (08C4) (RC2244): MQRC_INCONSISTENT_ENCODINGS
* 2245 (08C5) (RC2245): MQRC_INCONSISTENT_UOW
* 2246 (08C6) (RC2246): MQRC_INVALID_MSG_UNDER_CURSOR
* 2247 (08C7) (RC2247): MQRC_MATCH_OPTIONS_ERROR
* 2248 (08C8) (RC2248): MQRC_MDE_ERROR
* 2249 (08C9) (RC2249): MQRC_MSG_FLAGS_ERROR
* 2250 (08CA) (RC2250): MQRC_MSG_SEQ_NUMBER_ERROR
* 2251 (08CB) (RC2251): MQRC_OFFSET_ERROR
* 2252 (08CC) (RC2252): MQRC_ORIGINAL_LENGTH_ERROR
* 2253 (08CD) (RC2253): MQRC_SEGMENT_LENGTH_ZERO
* 2255 (08CF) (RC2255): MQRC_UOW_NOT_AVAILABLE
* 2256 (08D0) (RC2256): MQRC_WRONG_GMO_VERSION
* 2257 (08D1) (RC2257): MQRC_WRONG_MD_VERSION
* 2258 (08D2) (RC2258): MQRC_GROUP_ID_ERROR
* 2259 (08D3) (RC2259): MQRC_INCONSISTENT_BROWSE
* 2260 (08D4) (RC2260): MQRC_XQH_ERROR
* 2261 (08D5) (RC2261): MQRC_SRC_ENV_ERROR
* 2262 (08D6) (RC2262): MQRC_SRC_NAME_ERROR
* 2263 (08D7) (RC2263): MQRC_DEST_ENV_ERROR
* 2264 (08D8) (RC2264): MQRC_DEST_NAME_ERROR
* 2265 (08D9) (RC2265): MQRC_TM_ERROR
* 2266 (08DA) (RC2266): MQRC_CLUSTER_EXIT_ERROR
* 2267 (08DB) (RC2267): MQRC_CLUSTER_EXIT_LOAD_ERROR
* 2268 (08DC) (RC2268): MQRC_CLUSTER_PUT_INHIBITED
* 2269 (08DD) (RC2269): MQRC_CLUSTER_RESOURCE_ERROR
* 2270 (08DE) (RC2270): MQRC_NO_DESTINATIONS_AVAILABLE
* 2271 (08DF) (RC2271): MQRC_CONN_TAG_IN_USE
* 2272 (08E0) (RC2272): MQRC_PARTIALLY_CONVERTED
* 2273 (08E1) (RC2273): MQRC_CONNECTION_ERROR
* 2274 (08E2) (RC2274): MQRC_OPTION_ENVIRONMENT_ERROR
* 2277 (08E5) (RC2277): MQRC_CD_ERROR
* 2278 (08E6) (RC2278): MQRC_CLIENT_CONN_ERROR
* 2279 (08E7) (RC2279): MQRC_CHANNEL_STOPPED_BY_USER
* 2280 (08E8) (RC2280): MQRC_HCONFIG_ERROR
* 2281 (08E9) (RC2281): MQRC_FUNCTION_ERROR
* 2282 (08EA) (RC2282): MQRC_CHANNEL_STARTED
* 2283 (08EB) (RC2283): MQRC_CHANNEL_STOPPED
* 2284 (08EC) (RC2284): MQRC_CHANNEL_CONV_ERROR
* 2285 (08ED) (RC2285): MQRC_SERVICE_NOT_AVAILABLE
* 2286 (08EE) (RC2286): MQRC_INITIALIZATION_FAILED
* 2287 (08EF) (RC2287): MQRC_TERMINATION_FAILED
* 2288 (08F0) (RC2288): MQRC_UNKNOWN_Q_NAME
* 2289 (08F1) (RC2289): MQRC_SERVICE_ERROR
* 2290 (08F2) (RC2290): MQRC_Q_ALREADY_EXISTS
* 2291 (08F3) (RC2291): MQRC_USER_ID_NOT_AVAILABLE
* 2292 (08F4) (RC2292): MQRC_UNKNOWN_ENTITY
* 2294 (08F6) (RC2294): MQRC_UNKNOWN_REF_OBJECT
* 2295 (08F7) (RC2295): MQRC_CHANNEL_ACTIVATED
* 2296 (08F8) (RC2296): MQRC_CHANNEL_NOT_ACTIVATED
* 2297 (08F9) (RC2297): MQRC_UOW_CANCELED
* 2298 (08FA) (RC2298): MQRC_FUNCTION_NOT_SUPPORTED
* 2299 (08FB) (RC2299): MQRC_SELECTOR_TYPE_ERROR
* 2300 (08FC) (RC2300): MQRC_COMMAND_TYPE_ERROR
* 2301 (08FD) (RC2301): MQRC_MULTIPLE_INSTANCE_ERROR
* 2302 (08FE) (RC2302): MQRC_SYSTEM_ITEM_NOT_ALTERABLE
* 2303 (08FF) (RC2303): MQRC_BAG_CONVERSION_ERROR
* 2304 (0900) (RC2304): MQRC_SELECTOR_OUT_OF_RANGE
* 2305 (0901) (RC2305): MQRC_SELECTOR_NOT_UNIQUE
* 2306 (0902) (RC2306): MQRC_INDEX_NOT_PRESENT
* 2307 (0903) (RC2307): MQRC_STRING_ERROR
* 2308 (0904) (RC2308): MQRC_ENCODING_NOT_SUPPORTED
* 2309 (0905) (RC2309): MQRC_SELECTOR_NOT_PRESENT
* 2310 (0906) (RC2310): MQRC_OUT_SELECTOR_ERROR
* 2311 (0907) (RC2311): MQRC_STRING_TRUNCATED
* 2312 (0908) (RC2312): MQRC_SELECTOR_WRONG_TYPE
* 2313 (0909) (RC2313): MQRC_INCONSISTENT_ITEM_TYPE
* 2314 (090A) (RC2314): MQRC_INDEX_ERROR
* 2315 (090B) (RC2315): MQRC_SYSTEM_BAG_NOT_ALTERABLE
* 2316 (090C) (RC2316): MQRC_ITEM_COUNT_ERROR
* 2317 (090D) (RC2317): MQRC_FORMAT_NOT_SUPPORTED
* 2318 (090E) (RC2318): MQRC_SELECTOR_NOT_SUPPORTED
* 2319 (090F) (RC2319): MQRC_ITEM_VALUE_ERROR
* 2320 (0910) (RC2320): MQRC_HBAG_ERROR
* 2321 (0911) (RC2321): MQRC_PARAMETER_MISSING
* 2322 (0912) (RC2322): MQRC_CMD_SERVER_NOT_AVAILABLE
* 2323 (0913) (RC2323): MQRC_STRING_LENGTH_ERROR
* 2324 (0914) (RC2324): MQRC_INQUIRY_COMMAND_ERROR
* 2325 (0915) (RC2325): MQRC_NESTED_BAG_NOT_SUPPORTED
* 2326 (0916) (RC2326): MQRC_BAG_WRONG_TYPE
* 2327 (0917) (RC2327): MQRC_ITEM_TYPE_ERROR
* 2328 (0918) (RC2328): MQRC_SYSTEM_BAG_NOT_DELETABLE
* 2329 (0919) (RC2329): MQRC_SYSTEM_ITEM_NOT_DELETABLE
* 2330 (091A) (RC2330): MQRC_CODED_CHAR_SET_ID_ERROR
* 2331 (091B) (RC2331): MQRC_MSG_TOKEN_ERROR
* 2332 (091C) (RC2332): MQRC_MISSING_WIH
* 2333 (091D) (RC2333): MQRC_WIH_ERROR
* 2334 (091E) (RC2334): MQRC_RFH_ERROR
* 2335 (091F) (RC2335): MQRC_RFH_STRING_ERROR
* 2336 (0920) (RC2336): MQRC_RFH_COMMAND_ERROR
* 2337 (0921) (RC2337): MQRC_RFH_PARM_ERROR
* 2338 (0922) (RC2338): MQRC_RFH_DUPLICATE_PARM
* 2339 (0923) (RC2339): MQRC_RFH_PARM_MISSING
* 2340 (0924) (RC2340): MQRC_CHAR_CONVERSION_ERROR
* 2341 (0925) (RC2341): MQRC_UCS2_CONVERSION_ERROR
* 2342 (0926) (RC2342): MQRC_DB2_NOT_AVAILABLE
* 2343 (0927) (RC2343): MQRC_OBJECT_NOT_UNIQUE
* 2344 (0928) (RC2344): MQRC_CONN_TAG_NOT_RELEASED
* 2345 (0929) (RC2345): MQRC_CF_NOT_AVAILABLE
* 2346 (092A) (RC2346): MQRC_CF_STRUC_IN_USE
* 2347 (092B) (RC2347): MQRC_CF_STRUC_LIST_HDR_IN_USE
* 2348 (092C) (RC2348): MQRC_CF_STRUC_AUTH_FAILED
* 2349 (092D) (RC2349): MQRC_CF_STRUC_ERROR
* 2350 (092E) (RC2350): MQRC_CONN_TAG_NOT_USABLE
* 2351 (092F) (RC2351): MQRC_GLOBAL_UOW_CONFLICT
* 2352 (0930) (RC2352): MQRC_LOCAL_UOW_CONFLICT
* 2353 (0931) (RC2353): MQRC_HANDLE_IN_USE_FOR_UOW
* 2354 (0932) (RC2354): MQRC_UOW_ENLISTMENT_ERROR
* 2355 (0933) (RC2355): MQRC_UOW_MIX_NOT_SUPPORTED
* 2356 (0934) (RC2356): MQRC_WXP_ERROR
* 2357 (0935) (RC2357): MQRC_CURRENT_RECORD_ERROR
* 2358 (0936) (RC2358): MQRC_NEXT_OFFSET_ERROR
* 2359 (0937) (RC2359): MQRC_NO_RECORD_AVAILABLE
* 2360 (0938) (RC2360): MQRC_OBJECT_LEVEL_INCOMPATIBLE
* 2361 (0939) (RC2361): MQRC_NEXT_RECORD_ERROR
* 2362 (093A) (RC2362): MQRC_BACKOUT_THRESHOLD_REACHED
* 2363 (093B) (RC2363): MQRC_MSG_NOT_MATCHED
* 2364 (093C) (RC2364): MQRC_JMS_FORMAT_ERROR
* 2365 (093D) (RC2365): MQRC_SEGMENTS_NOT_SUPPORTED
* 2366 (093E) (RC2366): MQRC_WRONG_CF_LEVEL
* 2367 (093F) (RC2367): MQRC_CONFIG_CREATE_OBJECT
* 2368 (0940) (RC2368): MQRC_CONFIG_CHANGE_OBJECT
* 2369 (0941) (RC2369): MQRC_CONFIG_DELETE_OBJECT
* 2370 (0942) (RC2370): MQRC_CONFIG_REFRESH_OBJECT
* 2371 (0943) (RC2371): MQRC_CHANNEL_SSL_ERROR
* 2373 (0945) (RC2373): MQRC_CF_STRUC_FAILED
* 2374 (0946) (RC2374): MQRC_API_EXIT_ERROR
* 2375 (0947) (RC2375): MQRC_API_EXIT_INIT_ERROR
* 2376 (0948) (RC2376): MQRC_API_EXIT_TERM_ERROR
* 2377 (0949) (RC2377): MQRC_EXIT_REASON_ERROR
* 2378 (094A) (RC2378): MQRC_RESERVED_VALUE_ERROR
* 2379 (094B) (RC2379): MQRC_NO_DATA_AVAILABLE
* 2380 (094C) (RC2380): MQRC_SCO_ERROR
* 2381 (094D) (RC2381): MQRC_KEY_REPOSITORY_ERROR
* 2382 (094E) (RC2382): MQRC_CRYPTO_HARDWARE_ERROR
* 2383 (094F) (RC2383): MQRC_AUTH_INFO_REC_COUNT_ERROR
* 2384 (0950) (RC2384): MQRC_AUTH_INFO_REC_ERROR
* 2385 (0951) (RC2385): MQRC_AIR_ERROR
* 2386 (0952) (RC2386): MQRC_AUTH_INFO_TYPE_ERROR
* 2387 (0953) (RC2387): MQRC_AUTH_INFO_CONN_NAME_ERROR
* 2388 (0954) (RC2388): MQRC_LDAP_USER_NAME_ERROR
* 2389 (0955) (RC2389): MQRC_LDAP_USER_NAME_LENGTH_ERR
* 2390 (0956) (RC2390): MQRC_LDAP_PASSWORD_ERROR
* 2391 (0957) (RC2391): MQRC_SSL_ALREADY_INITIALIZED
* 2392 (0958) (RC2392): MQRC_SSL_CONFIG_ERROR
* 2393 (0959) (RC2393): MQRC_SSL_INITIALIZATION_ERROR
* 2394 (095A) (RC2394): MQRC_Q_INDEX_TYPE_ERROR
* 2395 (095B) (RC2395): MQRC_CFBS_ERROR
* 2396 (095C) (RC2396): MQRC_SSL_NOT_ALLOWED
* 2397 (095D) (RC2397): MQRC_JSSE_ERROR
* 2398 (095E) (RC2398): MQRC_SSL_PEER_NAME_MISMATCH
* 2399 (095F) (RC2399): MQRC_SSL_PEER_NAME_ERROR
* 2400 (0960) (RC2400): MQRC_UNSUPPORTED_CIPHER_SUITE
* 2401 (0961) (RC2401): MQRC_SSL_CERTIFICATE_REVOKED
* 2402 (0962) (RC2402): MQRC_SSL_CERT_STORE_ERROR
* 2406 (0966) (RC2406): MQRC_CLIENT_EXIT_LOAD_ERROR
* 2407 (0967) (RC2407): MQRC_CLIENT_EXIT_ERROR
* 2409 (0969) (RC2409): MQRC_SSL_KEY_RESET_ERROR
* 2411 (096B) (RC2411): MQRC_LOGGER_STATUS
* 2412 (096C) (RC2412): MQRC_COMMAND_MQSC
* 2413 (096D) (RC2413): MQRC_COMMAND_PCF
* 2414 (096E) (RC2414): MQRC_CFIF_ERROR
* 2415 (096F) (RC2415): MQRC_CFSF_ERROR
* 2416 (0970) (RC2416): MQRC_CFGR_ERROR
* 2417 (0971) (RC2417): MQRC_MSG_NOT_ALLOWED_IN_GROUP
An explanation of the error, completion code, and programmer response.
* 2418 (0972) (RC2418): MQRC_FILTER_OPERATOR_ERROR
* 2419 (0973) (RC2419): MQRC_NESTED_SELECTOR_ERROR
* 2420 (0974) (RC2420): MQRC_EPH_ERROR
* 2421 (0975) (RC2421): MQRC_RFH_FORMAT_ERROR
* 2422 (0976) (RC2422): MQRC_CFBF_ERROR
* 2423 (0977) (RC2423): MQRC_CLIENT_CHANNEL_CONFLICT
* 2424 (0978) (RC2424): MQRC_SD_ERROR
* 2425 (0979) (RC2425): MQRC_TOPIC_STRING_ERROR
* 2426 (097A) (RC2426): MQRC_STS_ERROR
* 2428 (097C) (RC2428): MQRC_NO_SUBSCRIPTION
* 2429 (097D) (RC2429): MQRC_SUBSCRIPTION_IN_USE
* 2430 (097E) (RC2430): MQRC_STAT_TYPE_ERROR
* 2431 (097F) (RC2431): MQRC_SUB_USER_DATA_ERROR
* 2432 (0980) (RC2432): MQRC_SUB_ALREADY_EXISTS
* 2434 (0982) (RC2434): MQRC_IDENTITY_MISMATCH
* 2435 (0983) (RC2435): MQRC_ALTER_SUB_ERROR
* 2436 (0984) (RC2436): MQRC_DURABILITY_NOT_ALLOWED
* 2437 (0985) (RC2437): MQRC_NO_RETAINED_MSG
* 2438 (0986) (RC2438): MQRC_SRO_ERROR
* 2440 (0988) (RC2440): MQRC_SUB_NAME_ERROR
* 2441 (0989) (RC2441): MQRC_OBJECT_STRING_ERROR
* 2442 (098A) (RC2442): MQRC_PROPERTY_NAME_ERROR
* 2443 (098B) (RC2443): MQRC_SEGMENTATION_NOT_ALLOWED
* 2444 (098C) (RC2444): MQRC_CBD_ERROR
* 2445 (098D) (RC2445): MQRC_CTLO_ERROR
* 2446 (098E) (RC2446): MQRC_NO_CALLBACKS_ACTIVE
* 2448 (0990) (RC2448): MQRC_CALLBACK_NOT_REGISTERED
* 2449 (0991) (RC2449): MQRC_OPERATION_NOT_ALLOWED
* 2457 (0999) (RC2457): MQRC_OPTIONS_CHANGED
* 2458 (099A) (RC2458): MQRC_READ_AHEAD_MSGS
* 2459 (099B) (RC2459): MQRC_SELECTOR_SYNTAX_ERROR
* 2460 (099C) (RC2460): MQRC_HMSG_ERROR
* 2461 (099D) (RC2461): MQRC_CMHO_ERROR
* 2462 (099E) (RC2462): MQRC_DMHO_ERROR
* 2463 (099F) (RC2463): MQRC_SMPO_ERROR
* 2464 (09A0) (RC2464): MQRC_IMPO_ERROR
* 2465 (09A1) (RC2465): MQRC_PROPERTY_NAME_TOO_BIG
* 2466 (09A2) (RC2466): MQRC_PROP_VALUE_NOT_CONVERTED
* 2467 (09A3) (RC2467): MQRC_PROP_TYPE_NOT_SUPPORTED
* 2469 (09A5) (RC2469): MQRC_PROPERTY_VALUE_TOO_BIG
* 2470 (09A6) (RC2470): MQRC_PROP_CONV_NOT_SUPPORTED
* 2471 (09A7) (RC2471): MQRC_PROPERTY_NOT_AVAILABLE
* 2472 (09A8) (RC2472): MQRC_PROP_NUMBER_FORMAT_ERROR
* 2473 (09A9) (RC2473): MQRC_PROPERTY_TYPE_ERROR
* 2478 (09AE) (RC2478): MQRC_PROPERTIES_TOO_BIG
* 2479 (09AF) (RC2479): MQRC_PUT_NOT_RETAINED
* 2480 (09B0) (RC2480): MQRC_ALIAS_TARGTYPE_CHANGED
* 2481 (09B1) (RC2481): MQRC_DMPO_ERROR
* 2482 (09B2) (RC2482): MQRC_PD_ERROR
* 2483 (09B3) (RC2483): MQRC_CALLBACK_TYPE_ERROR
* 2484 (09B4) (RC2484): MQRC_CBD_OPTIONS_ERROR
* 2485 (09B5) (RC2485): MQRC_MAX_MSG_LENGTH_ERROR
* 2486 (09B6) (RC2486): MQRC_CALLBACK_ROUTINE_ERROR
* 2487 (09B7) (RC2487): MQRC_CALLBACK_LINK_ERROR
* 2488 (09B8) (RC2488): MQRC_OPERATION_ERROR
* 2489 (09B9) (RC2489): MQRC_BMHO_ERROR
* 2490 (09BA) (RC2490): MQRC_UNSUPPORTED_PROPERTY
* 2492 (09BC) (RC2492): MQRC_PROP_NAME_NOT_CONVERTED
* 2494 (09BE) (RC2494): MQRC_GET_ENABLED
* 2495 (09BF) (RC2495): MQRC_MODULE_NOT_FOUND
* 2496 (09C0) (RC2496): MQRC_MODULE_INVALID
* 2497 (09C1) (RC2497): MQRC_MODULE_ENTRY_NOT_FOUND
* 2498 (09C2) (RC2498): MQRC_MIXED_CONTENT_NOT_ALLOWED
* 2499 (09C3) (RC2499): MQRC_MSG_HANDLE_IN_USE
* 2500 (09C4) (RC2500): MQRC_HCONN_ASYNC_ACTIVE
* 2501 (09C5) (RC2501): MQRC_MHBO_ERROR
* 2502 (09C6) (RC2502): MQRC_PUBLICATION_FAILURE
* 2503 (09C7) (RC2503): MQRC_SUB_INHIBITED
* 2504 (09C8) (RC2504): MQRC_SELECTOR_ALWAYS_FALSE
* 2507 (09CB) (RC2507): MQRC_XEPO_ERROR
* 2509 (09CD) (RC2509): MQRC_DURABILITY_NOT_ALTERABLE
* 2510 (09CE) (RC2510): MQRC_TOPIC_NOT_ALTERABLE
* 2512 (09D0) (RC2512): MQRC_SUBLEVEL_NOT_ALTERABLE
* 2513 (09D1) (RC2513): MQRC_PROPERTY_NAME_LENGTH_ERR
* 2514 (09D2) (RC2514): MQRC_DUPLICATE_GROUP_SUB
* 2515 (09D3) (RC2515): MQRC_GROUPING_NOT_ALTERABLE
* 2516 (09D4) (RC2516): MQRC_SELECTOR_INVALID_FOR_TYPE
* 2517 (09D5) (RC2517): MQRC_HOBJ_QUIESCED
* 2518 (09D6) (RC2518): MQRC_HOBJ_QUIESCED_NO_MSGS
* 2519 (09D7) (RC2519): MQRC_SELECTION_STRING_ERROR
* 2520 (09D8) (RC2520): MQRC_RES_OBJECT_STRING_ERROR
* 2521 (09D9) (RC2521): MQRC_CONNECTION_SUSPENDED
* 2522 (09DA) (RC2522): MQRC_INVALID_DESTINATION
* 2523 (09DB) (RC2523): MQRC_INVALID_SUBSCRIPTION
* 2524 (09DC) (RC2524): MQRC_SELECTOR_NOT_ALTERABLE
* 2525 (09DD) (RC2525): MQRC_RETAINED_MSG_Q_ERROR
* 2526 (09DE) (RC2526): MQRC_RETAINED_NOT_DELIVERED
* 2527 (09DF) (RC2527): MQRC_RFH_RESTRICTED_FORMAT_ERR
* 2528 (09E0) (RC2528): MQRC_CONNECTION_STOPPED
* 2529 (09E1) (RC2529): MQRC_ASYNC_UOW_CONFLICT
* 2530 (09E2) (RC2530): MQRC_ASYNC_XA_CONFLICT
* 2531 (09E3) (RC2531): MQRC_PUBSUB_INHIBITED
* 2532 (09E4) (RC2532): MQRC_MSG_HANDLE_COPY_FAILURE
* 2533 (09E5) (RC2533): MQRC_DEST_CLASS_NOT_ALTERABLE
* 2534 (09E6) (RC2534): MQRC_OPERATION_NOT_ALLOWED
* 2535 (09E7): MQRC_ACTION_ERROR
* 2537 (09E9) (RC2537): MQRC_CHANNEL_NOT_AVAILABLE
* 2538 (09EA) (RC2538): MQRC_HOST_NOT_AVAILABLE
* 2539 (09EB) (RC2539): MQRC_CHANNEL_CONFIG_ERROR
* 2540 (09EC) (RC2540): MQRC_UNKNOWN_CHANNEL_NAME
* 2541 (09ED) (RC2541): MQRC_LOOPING_PUBLICATION
* 2543 (09EF) (RC2543): MQRC_STANDBY_Q_MGR
* 2544 (09F0) (RC2544): MQRC_RECONNECTING
* 2545 (09F1) (RC2545): MQRC_RECONNECTED
* 2546 (09F2) (RC2546): MQRC_RECONNECT_QMID_MISMATCH
* 2547 (09F3) (RC2547): MQRC_RECONNECT_INCOMPATIBLE
* 2548 (09F4) (RC2548): MQRC_RECONNECT_FAILED
* 2549 (09F5) (RC2549): MQRC_CALL_INTERRUPTED
* 2550 (09F6) (RC2550): MQRC_NO_SUBS_MATCHED
* 2551 (09F7) (RC2551): MQRC_SELECTION_NOT_AVAILABLE
* 2552 (09F8) (RC2552): MQRC_CHANNEL_SSL_WARNING
* 2553 (09F9) (RC2553): MQRC_OCSP_URL_ERROR
* 2554 (09FA) (RC2554): MQRC_CONTENT_ERROR
* 2555 (09FB) (RC2555): MQRC_RECONNECT_Q_MGR_REQD
* 2556 (09FC) (RC2556): MQRC_RECONNECT_TIMED_OUT
* 2557 (09FD) (RC2557): MQRC_PUBLISH_EXIT_ERROR
* 6100 (17D4) (RC6100): MQRC_REOPEN_EXCL_INPUT_ERROR
* 6101 (17D5) (RC6101): MQRC_REOPEN_INQUIRE_ERROR
* 6102 (17D6) (RC6102): MQRC_REOPEN_SAVED_CONTEXT_ERR
* 6103 (17D7) (RC6103): MQRC_REOPEN_TEMPORARY_Q_ERROR
* 6104 (17D8) (RC6104): MQRC_ATTRIBUTE_LOCKED
* 6105 (17D9) (RC6105): MQRC_CURSOR_NOT_VALID
* 6106 (17DA) (RC6106): MQRC_ENCODING_ERROR
* 6107 (17DB) (RC6107): MQRC_STRUC_ID_ERROR
* 6108 (17DC) (RC6108): MQRC_NULL_POINTER
* 6109 (17DD) (RC6109): MQRC_NO_CONNECTION_REFERENCE
* 6110 (17DE) (RC6110): MQRC_NO_BUFFER
* 6111 (17DF) (RC6111): MQRC_BINARY_DATA_LENGTH_ERROR
* 6112 (17E0) (RC6112): MQRC_BUFFER_NOT_AUTOMATIC
* 6113 (17E1) (RC6113): MQRC_INSUFFICIENT_BUFFER
* 6114 (17E2) (RC6114): MQRC_INSUFFICIENT_DATA
* 6115 (17E3) (RC6115): MQRC_DATA_TRUNCATED
* 6116 (17E4) (RC6116): MQRC_ZERO_LENGTH
* 6117 (17E5) (RC6117): MQRC_NEGATIVE_LENGTH
* 6118 (17E6) (RC6118): MQRC_NEGATIVE_OFFSET
* 6119 (17E7) (RC6119): MQRC_INCONSISTENT_FORMAT
* 6120 (17E8) (RC6120): MQRC_INCONSISTENT_OBJECT_STATE
* 6121 (17E9) (RC6121): MQRC_CONTEXT_OBJECT_NOT_VALID
* 6122 (17EA) (RC6122): MQRC_CONTEXT_OPEN_ERROR
* 6123 (17EB) (RC6123): MQRC_STRUC_LENGTH_ERROR
* 6124 (17EC) (RC6124): MQRC_NOT_CONNECTED
* 6125 (17ED) (RC6125): MQRC_NOT_OPEN
* 6126 (17EE) (RC6126): MQRC_DISTRIBUTION_LIST_EMPTY
* 6127 (17EF) (RC6127): MQRC_INCONSISTENT_OPEN_OPTIONS
* 6128 (17FO) (RC6128): MQRC_WRONG_VERSION
* 6129 (17F1) (RC6129): MQRC_REFERENCE_ERROR

Websphere MQ Commands / ibm websphere mq commands

Websphere MQ Commands / ibm websphere mq commands

Websphere MQ Commands / ibm websphere mq commands
=================================================

MQ commands
Command name Purpose
amqccert Check certificate chains
amqoamd Output setmqaut commands
amqmdain Configure or control WebSphere MQ services (Windows® systems only)
amqtcert Transfer certificates
crtmqcvx Convert data
crtmqm Create a local queue manager
dltmqm Delete a queue manager
dmpmqaut Dump authorizations to an object
dmpmqlog Dump a log [url]
dspmq Display queue managers
dspmqaut Display authorizations to an object
dspmqcsv Display the status of a command server
dspmqfls Display file names
dspmqrte Display route application
dspmqtrc Display formatted trace output (UNIX® systems only)
dspmqtrn Display details of transactions [pareja de rsvmqtrn]
dspmqver Display version number
endmqcsv Stop the command server on a queue manager
endmqdnm Stop .NET monitor
endmqlsr Stop the listener process on a queue manager
endmqm Stop a local queue manager
endmqtrc Stop tracing for an entity
mqftapp Run the File Transfer Application
mqftrcv Receive file using the File Transfer Application (server)
mqftrcvc Receive file using the File Transfer Application (client)
mqftsnd Send file using the File Transfer Application (server)
mqftsndc Send file using the File Transfer Application (client)
rcdmqimg Write an image of an object to the log
rcrmqobj Recreate an object from their image in the log
rsvmqtrn Commit or back out a transaction [pareja de dspmqtrn]
runmqchi Start a channel initiator process
runmqchl Start a sender or requester channel
runmqdlq Start the dead-letter queue handler
runmqdnm Run .NET monitor
runmqlsr Start a listener process
runmqsc Issue MQSC commands to a queue manager
runmqtmc Invoke a trigger monitor for a client (AIX® clients only)
runmqtrm Invoke a trigger monitor for a server
setmqaut Change authorizations to an object
setmqcrl Set certificate revocation list (CRL) LDAP server definitions (Windows® systems only)
setmqprd Enroll production license
setmqscp Set service connection points (Windows® systems only)
strmqcsv Start the command server for a queue manager
strmqm Start a local queue manager
strmqtrc Enable tracing

IBM Websphere MQ interview Questions : 

IBM Websphere MQ interview Questions Part
===============================================================


What is MQ and what does it do?

Ans. MQ stands for MESSAGE QUEUEING. WebSphere MQ allows application programs to use message queuing to participate in message-driven processing. Application programs can communicate across different platforms by using the appropriate message queuing software products.

What is the Message-driven process?

Ans . When messages arrive on a queue, they can automatically start an application using triggering. If necessary, the applications can be stopped when the message (or messages) have been processed.

What are the advantages of the MQ?

Ans. 1. Integration.

2. Asynchrony

3. Assured Delivery

4. Scalability.

How does it support the Integration?

Ans. Because the MQ is independent of the Operating System you use i.e. it may be Windows, Solaris,AIX.It is independent of the protocol (i.e. TCP/IP, LU6.2, SNA, NetBIOS, UDP).It is not required that both the sender and receiver should be running on the same platform

What is Asynchrony?

Ans. With message queuing, the exchange of messages between the sending and receiving programs is independent of time. This means that the sending and receiving application programs are decoupled; the sender can continue processing without having to wait for the receiver to acknowledge receipt of the message. The target application does not even have to be running when the message is sent. It can retrieve the message after it is has been started.

What are the hardware and Software requirements for MQ Installation in AIX?

Ans. WebSphere MQ for AIX, V5.3 runs on any machine that supports the AIX V4.3.3 PowerPC® 32.bit, or AIX® V5.1 Power 32 bit only operating system.

Disk Storage: Typical storage requirements are as follows:

1 Server installation: 50 MB

2. Client installation: 15 MB

3 Data storage (server): 50 MB

4. Data storage (client): 5 MB.

Software Requirements:

Operating system: The operating systems supported by WebSphere MQ for AIX, V5.3 are:

1. AIX V4.3.3, with PTF U472177, running in a 32 bit environment, on 32 or 64 bit hardware.

2. AIX V5.1, with PTFs U476879, U477366, U477367 and U477368, and APAR fix IY29345 running 32 bit kernel running on 32 or 64 bit hardware.

3. AIX V5.1, with PTF U476879, U477366, U477367 and U477368, and APAR fix IY29345 running 64 bit kernel running on 64 bit hardware.

Connectivity The network protocols supported by WebSphere MQ for AIX, V5.3 are:

1. TCP/IP

2. SNA LU 6.2.

Databases: DB2 7.1, 7.2

Oracle 8i and 9i

Sybase v12 or v 12.5

Java: If you want to use the Java Messaging Support, you need the Java Runtime Environment Version 1.3 or later

What are the software and hardware requirements for installing MQ on Windows?

Ans: MQ v 5.3 supports Windows 2000, Windows 2000XP,Windows 2000NT,

Windows 2003 SE, Windows 2003EE.

Disk Storage: Typical storage requirements are as follows:

1 Server installation: 50 MB

2. Client installation: 15 MB

3 Data storage (server): 50 MB

4. Data storage (client): 5 MB.

Connectivity The network protocols supported by WebSphere MQ for AIX, V5.3 are:

1. TCP/IP

2. SNA LU 6.2.

3. LU 6.2

4. NetBIOS

Databases: DB2 7.1, 7.2

Oracle 8i and 9i

Sybase v12 or v 12.5

Java: If you want to use the Java Messaging Support, you need the Java Runtime Environment Version 1.3 or later

what is a Message and what does it contain?

Ans: A message is a string of bytes that is meaningful to the applications that use it. Messages are used to transfer information from one application program to another (or between different parts of the same application). The applications can be running on the same platform, or on different platforms.

WebSphere MQ messages have two parts:

1. The application data. The content and structure of the application data is defined by the application programs that use it.

2. A message descriptor. The message descriptor identifies the message and contains additional control information, such as the type of message and the priority assigned to the message by the sending application. WebSphere MQ defines the format of the message descriptor. For a complete description of the message descriptor,

What is the Max Length of the message does MQ support/

Ans: The default maximum message length is 4 MB, although you can increase this to a maximum length of 100 MB (where 1 MB equals 1 048 576 bytes).

What is the difference between Persistent and Non Persistent Messages?

Ans: In Web Sphere MQ, messages can be either persistent or non persistent. Persistent messages are logged and can be recovered in the event of a WebSphere MQ failure. Thus, persistent messages are guaranteed to be delivered once and only once. Nonpersistent messages are not logged. Web Sphere still guarantees to deliver them not more than once, but it does not promise to deliver them once.

What is the effect of using Persistant messages?

Ans: Persistent messages are usually logged. Logging messages reduces the performance of your application, so use persistent messages for essential data only. If the data in a message can be discarded if the queue manager stops or fails, use a nonpersistent message.

WebSphere MQ messages:

Messages are made up of Two parts: Message descriptor, Application data

Types of messages?

Datagram: A Message sent with no response expected.

Request: A Message sent for which a response is expected.

Reply: A Response Message for a requested message.

Report: A Message that describes the occurrence or event

Ex COA/COD
Sizes ?

Qmanagerà10000 Msgs Maxmsglengthà4 Mb

Queueà5000 Msgs Maxmsglengthà4 Mb

What is the attribute used to see the Message length?

Ans: MaxMsgLength

What is MQ Client?

Ans: A Web Sphere MQ client is a component that allows an application running on a system to issue MQI calls to a queue manager running on another system. The output from the call is sent back to the client, which passes it back to the application.

What is MQ Server?

Ans: A Web Sphere MQ server is a queue manager that provides queuing services to one or more clients. All the Web Sphere MQ objects, for example queues, exist only on the queue manager machine (the Web Sphere MQ server machine), and not on the client. A Web Sphere MQ server can also support local Web Sphere MQ

Applications

What are the Objects used in Web sphere MQ?

Ans: 1. Queue Manager 2. Queues

3. Channels 4. Processes 5. Name lists.

Mention the No of Characters required for creating names of the MQ objects?

Ans: For MQ Channels it is 20 Characters

For Remaining objects it is 48 characters.

What about is the Default port number for MQ Queue Manager?

Ans: 1414
Difference between MQSC commands and Control commands?

MQSC Commands – These commands are used to handle the admin related functions for the components that are present in the MQ Series. In general MQSC commands are used for creating and maintaining Message channels, Queue Managers, Clusters etc…

Control Commands – These commands are used to manage the processes and services that are helpful in the functioning of the MQ Series. In general these commands are used for Channel listener, Channel Initiator, Trigger monitor etc…

Is the MQSC attributes are Case sensitive?

Ans: MQSC commands, including their attributes, can be written in uppercase or lowercase. Object names in MQSC commands are folded to uppercase (that is, QUEUE and queue are not differentiated), unless the names are enclosed within single quotation marks. If quotation marks are not used, the object is processed with a name in uppercase.

SCRIPT COMMANDS:-

After entering in to queue manager we can find script commands.

Script commands are same for every queue manager.

(These Commands should be used in CAPITAL LETTERS)

· DEFINE :-To define/create MQ manager objects like queue,

Channels, process, and listener.

· ALTER :-to update or modify the existing objects

· DISPLAY :-to view all the properties of a particular object or to

Display all objects

· DELETE :-to delete created objects

· CLEAR :-to clear the message from the queue

· END :-to come out of the queue manager

· PING :-to check whether other side channel / queue manager is ready to accept our request.

· START :- to start the particular channel or listener

· STOP :-to stop particular channel or listener

· REFRESH :-used to refresh the security every time after giving or executing, set mgr or command for queue manager or object

· RESET :-used to reset channel,cluster,queue manager

· RESOLVE :-to resolve the channel which is in indoubt state

· SUSPEND :-to suspend a queue manager from a cluster environment

· RESUME :-to remove a queue manager from a cluster environment

How can we write the MQSC commands that have too many parameters/

Ans: For commands that have too many parameters to fit on one line, use continuation characters to indicate that a command is continued on the following line:

1. A minus sign ( ) indicates that the command is to be continued from the start of _ the following line.

2. A plus sign (+) indicates that the command is to be continued from the first nonblank character on the following line.
What is programmable command format (PCF) commands?

These commands are issued from a programme for local or remote administration done by programmers.

What are commands used for creating the Queue manager from the Command prompt?

Ans: crtmqm -q -d MY.DEFAULT.XMIT.QUEUE -u DEAD.LETTER.QUEUE QM1

Here -q used to define the Queue manager QM1 as a Default Queue manager

-d is used to define the default transmission Queue -u is used to define the default dead letter queue.

How can U make the existing Queue Manager as an default Queue Manager?

Ans: On Windows systems, use the Web Sphere MQ Services snap-in to display the properties of the queue manager, and check the Make queue manager the default box. You need to stop and restart the queue manager for the change to take effect.

Where are the backup files are present after creating the Queue Manager?

Ans: Windows systems: If you use Web Sphere MQ for Windows NT and Windows 2000, configuration information is stored in the Windows Registry.

UNIX Systems: 1. When you install the product, the Web Sphere MQ configuration file (mqs.ini) is created. It contains a list of queue managers that is updated each time you create or delete a queue manager. There is one mqs.ini file per node.

2. When you create a new queue manager, a new queue manager configuration file (qm.ini) is automatically created. This contains configuration parameters for the queue manager.

What is the command used for starting the Queue Manager?

Ans: strmqm QMName

What is the command used for stopping the Queue manager?

Ans: endmqm -w QMName

The command waits until all applications have stopped and the queue manager has ended.

endmqm –i QMName

This type of shutdown does not wait for applications to disconnect from the queue manager.

What’s the message code for Stopping a Queue Manager?

AMQ4044 Queue manager stopping

What is the command used to delete the QueueManager?

Ans: dltmqm QMName

Display the attributes of the Queue Manager QM1?

Ans: runmqsc QM1 Display qmgr

 

 

 

 

IBM Websphere MQ: MAXHANDS queue manager parameter - 

What is the purpose of the MAXHANDS queue manager parameter?

MAXHANDS (Maximum Open Handles) is the queue manager parameter that limits the number of handles that any one process can have at the same time. The details relating to it are as follows:

Setting MAXHANDS:
  • Alter the MAXHANDS queue manager parameter using the MQSC alter queue manager command. Example: alter qmgr maxhands (300)
  • On Windows you can also use the WebSphere MQ Explorer to alter the queue manager's Max handles, extended property.

MAXHANDS(integer):
The maximum number of open handles that any one task can have at the same time. This is a value in the range zero through 999 999 999.

For clarification:
MAXHANDS refers to the maximum number of objects that a single connection can have open at the same time. So, if an application thread issues an MQOPEN for a queue, that counts as 1, and so on for each queue that is opened in that thread. A separate thread in the same or in a different process also has its own MAXHANDLES objects that it can open. The total number of handles for a queue, for example the number of applications that have a queue open, is not related to MAXHANDLES.

The open handles for a queue can be displayed using the display queue status command. In the example below, the qstatus for a queue named 3 shows that there are three open handles on the queue. The open handles are owned by PIDs 1928, 2572 and 2504.







IBM Websphere MQ Manager Stops Responding To JMS Requests -

MQ Manager stops responding to JMS requests.

Symptom

SystemOut.log:
FreePool E J2CA0046E: Method createManagedConnctionWithMCWrapper caught an exception during creation of the ManagedConnection for resource JMS$cftestcf$JMSManagedConnection@1373738090, throwing ResourceAllocationException. Original exception: javax.resource.spi.ResourceAdapterInternalException: Failed to create session
at com.ibm.ejs.jms.JMSCMUtils.mapToResourceException(JMSCMUtils.java:125)
at com.ibm.ejs.jms.JMSManagedSession.(JMSManagedSession.java:213)
. . .
javax.jms.JMSException: MQJMS2005: failed to create MQQueueManager for 'xldn0384abc:XYZ123'
at com.ibm.mq.jms.services.ConfigEnvironment.newException
(ConfigEnvironment.java:546)
at com.ibm.mq.jms.MQConnection.createQM
(MQConnection.java:1450)
at com.ibm.mq.jms.MQConnection.createQMNonXA
(MQConnection.java:960)
at
. . .
com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2009
at com.ibm.mq.MQManagedConnectionJ11.
(MQManagedConnectionJ11.java:172)
at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection
(MQClientManagedConnectionFactoryJ11.java:270)
at com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection
(MQClientManagedConnectionFactoryJ11.java:290)

AMQERRO1.log
AMQ9513: Maximum number of channels reached.

Cause

The maximum number of channels that can be in use simultaneously has been reached. The number of permitted channels is a configurable parameter in the queue manager configuration file.
When an application connects to MQ a channel is started on the MQ side. If the application, for any reason, is unexpectedly disconnected (no proper disconnection takes place) then the channel will not get cleaned up on the MQ side. It will become 'orphaned' from its original parent connection. When the application reconnects it will get a new instance of the channel, so now there will be 2 instances of the channel, the new one and the old, orphaned instance.

MQ only allows a certain number of channels. If you build up enough channels you will get the MaxChannels error AMQ9513.

Channels may also be getting orphaned due to TCP/IP interruptions rather than an application disconnecting improperly from MQ.

Resolving the problem

How should you manage these orphaned channels?
If you can get these orphaned channels to clean up you will go a long way towards avoiding this issue.

1. Set up the operating system TCP/IP KeepAlive parameter.
You must enable KeepAlive at operating system (TCP/IP) level. How this is done depends entirely on the operating system you are using. The TCP/IP keep alive setting is an operating system parameter. It determines how long to keep a TCP/IP connection alive.

KeepAlive has a timeout option that is usually set to 2 hours. Recommend setting this to a much shorter interval, such as 10 minutes. Once this change has been made the OS will need to be rebooted for this to take effect.

2. In addition to enabling KeepAlive at the OS level, MQ must also be configured to use KeepAlive. This is done by adding the following stanza to the QM.INI file for this queue manager, as follows:
TCP:
KeepAlive=yes

See MQ TCP Stanza

Once this stanza has been added the queue manager must be restarted for this to take effect.

3. It is also highly recommend to change the MaxChannels value (also in the QM.INI file) to 3 times what you think may be needed. For instance from 100 to 300 MaxChannel. See the MQ Channels stanza. This will ensure that you have some flexibility in the event a contingency occurs. To determine the number of channels WebSphere Application Server requires, see this technote, Explanation of connection pool and

IBM Websphere MQ : connection pool and session pool settings for JMS connection factories - 

In WebSphere Application Server, all JMS connection factories, including queue connection factories (QCFs) and topic connection factories (TCFs) have connection pool and session pool settings that can be configured.

This technote explains the following points:

  • The difference between these pools and their relationship
  • The maximum number of TCP/IP connections to a WebSphere MQ queue manager that is expected with a given set of connection pool and session pool settings
  • The manner in which these settings are affected when message listener ports are configured to use the connection factory

Resolving the problem

In the JMS programming model, an application must get a JMS connection and a JMS session to send a message. A typical JMS application that sends messages looks like this:
QueueConnectionFactory qcf = (QueueConnectionFactory)ctx.lookup("jms/qcf");
Queue queue = (Queue)ctx.lookup("jms/q");
QueueConnection jmsconn = qcf.createQueueConnection();
QueueSession session = jmsconn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
QueueSender sender = session.createSender(queue);
TextMessage message = session.createTextMessage("Message Text");
sender.send(message);

The call to createQueueConnection gets a connection from the connection pool. The call to createQueueSession gets a session from the session pool.

By default, the Max Connections property for the connection pool and session pool is 10. This means that there can be a maximum of 10 connections or sessions in each pool. Each connection in the connection pool has its own session pool. This means that there can be 10 session pools that can have a maximum of 10 sessions each.

Each session represents a TCP/IP connection to the queue manager. With the settings mentioned here, there can be a maximum of 100 TCP/IP connections. If you are using WebSphere MQ, it is important to tune the queue manager's MaxChannels setting, located in the qm.ini file, to a value greater than the sum of the maximum possible number of sessions from each JMS connection factory that connects to the queue manager.

In addition to sending messages, the connection pools and session pools are used by the WebSphere Application Server message listener ports to receive messages and pass them to the message driven bean (MDB) associated with the listener port. When a listener port is defined, it is configured with a JMS connection factory. Each listener port uses one connection from the connection factory's connection pool.

There is also a setting on the listener port called Maximum sessions. The value of this property is the number of sessions that are used in the session pool of the connection that is used by the listener port. This influences the number of messages that can be concurrently processed by the listener port. The number of listener ports configured to use a connection factory, as well as the Maximum sessions settings on the listener ports, should be taken into consideration when tuning the connection pool and session pool settings.

Note: If the Maximum sessions for a listener port is greater than the Max Connections setting for the session pool, the Maximum sessions is changed to the value of Max Connections when the listener port starts.

Tuesday, February 4, 2014


IBM Websphere MQ : Using "runmqras" to collect problem determination data and files (MQ 7.0.1.8 or later; MQ 7.1.0.1 or later; MQ 7.5 or later) - Middleware News

You are using WebSphere MQ 7.0.1.8 or later (MQ 7.1.0.1 or later; MQ 7.5 or later) and you have opened an IBM Service Request ticket (PMR) to report a problem and you need to provide the MQ error logs, FDC files, version/fix pack of MQ, etc.
Is there a tool that you could use to gather those files and optionally send them to IBM Support via ftp?

Yes, you can use the MQ "runmqras" tool. The utility "runmqras" is a Java based tool shipped with WebSphere MQ.
Note:
Although runmqras is available since 7.0.0.0 as a proof of concept, not until 7.0.1.8, 7.1.0.1 and 7.5 did the tool became fully functional.
a) If you are going to gather information from all the queue managers, issue the following, assuming that the PMR number is 01234,567,890 (for the flag "-pmrno").
The flag "-ftp IBM" indicates that the resulting zip file will be sent via ftp to the IBM ftp server used for receiving PMR data.
runmqras -ftp IBM -pmrno 01234,567,890

This level of diagnostics is ideal when a problem is first raised, as it gives a lot of background on the product version, machine information, etc and can speed up the initial investigation.

Using the 'ftp' flag to ftp the resulting zip file directly to IBM is optional. For example, to collect the information and leave it as a zip file for manual submission you can remove the -ftp and -pmrno options. The location of the collected file is written to the console at the end of processing. Thus, the command would be simply:

runmqras
b) Similar to (a), but you want to collect additional information for the MQ queue manager QM_TEST. To collect important definition information from "runmqsc" (section "defs"), cluster information (section "cluster") and the MQ trace files (section "trace"), you would issue:
runmqras -qmlist QM_TEST -section defs,cluster,trace -ftp IBM -pmrno 01234,567,890

Note: The list of sections to run for a particular problem would normally be provided by IBM support as they vary depending on the type of problem
c) You do not always need to specify all the sections. For example, if the PMR is not related to clusters, then you do not need to specify the section "clusters" and you can specify only the definitions in runmqsc (section "defs") and the traces (section "trace"):
runmqras -qmlist QM_TEST -section defs,trace -ftp IBM -pmrno 01234,567,890

+++ Reference link +++
The following link of the WebSphere MQ Information Center has more information on the options to be used with runmqras:

WebSphere MQ > Reference > Administration reference > WebSphere MQ control commands > The control commands
runmqras

+++ Additional information +++

This section shows examples on how to use the tool and typical messages that you see when using it. Also, it shows what type of files are collected.
1) Example of using runmqras in Linux Intel 32-bit to collect the data for all queue managers and send the resulting zip file to IBM via ftp, using PMR 01234,567,890.

$ runmqras -ftp IBM -pmrno 01234,567,890
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build pxi32dev-20111020 (SR13 ))
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux x86-32 j9vmxi3223-20111020 (JIT enabled)
J9VM - 20111017_92807_lHdSMr
JIT - 20110916_20782_r8
GC - 20110524_AA)
JCL - 20111019
/opt/mqm/java/jre/bin/java -cp /opt/mqm/java/lib/com.ibm.mq.commonservices.jar:/opt/mqm/java/lib/com.ibm.mq.tools.ras.jar -Djava.library.path=/opt/mqm/lib:/opt/mqm/java/lib -DdefaultRasInput=/opt/mqm/bin/isa.xml -DdefaultRasWork=/tmp/runmqras_120525_150110 crtmqras.Zipper -ftp IBM -pmrno 01234,567,890
crtmqras v1.15.1.19 starts...
Using default Input path:
/opt/mqm/bin/isa.xml
Using default Work path:
/tmp/runmqras_120525_150110
Using default output path:
/tmp/runmqras_120525_150110
Using Zip File path:
/tmp/runmqras_120525_150110/01234.567.890.runmqras_201205251401.zip
Running on Linux
Editor Note: ... you may see a slight delay at this time while the tool gathers the files
crtmqras has successfully finished
Editor Note: ... the following 2 lines provide the full path of the resulting zip file.
The zip file can be found at /tmp/runmqras_120525_150110/01234.567.890.runmqras_201205251401.zip
FTP HANDLER: Opening connection to the server.
FTP HANDLER: Connection established for user -anonymous.
FTP HANDLER: Starting file transfer.
Transferred: 10 %.
Transferred: 20 %.
Transferred: 30 %.
Transferred: 40 %.
Transferred: 50 %.
Transferred: 60 %.
Transferred: 70 %.
Transferred: 80 %.
Transferred: 90 %.
Transferred: 100 %.
FTP HANDLER: File transfer complete.


2) Excerpt from the listing of files included in the zip file obtained by the above runmqras invocation (item 1)
Notes:
- To keep the listing short in this technote, files with size of 0 were omitted.
- The queue manager QMGRMI is a multi-instance queue manager and the queue manager data is located in a different path: /var/mqm/data/
- The file names and number of files that you will see, might be different than the ones shown below.

$ unzip -l /tmp/runmqras_120525_150110/01234.567.890.runmqras_201205251401.zip
Archive:  /tmp/runmqras_120525_150110/01234.567.890.runmqras_201205251401.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
    18634  04-30-12 12:14   var/mqm/errors/ffst.out
   265502  04-27-12 07:26   var/mqm/errors/AMQERR01.LOG
     2732  05-25-12 08:28   var/mqm/mqs.ini
     1296  11-22-11 09:28   var/mqm/qmgrs/QM_TEST/qm.ini
     1298  05-25-12 08:28   var/mqm/data/QMGRMI.000/qm.ini
      509  01-16-12 15:00   var/mqm/qmgrs/QM_TEST/qmstatus.ini
      556  05-25-12 08:28   var/mqm/data/QMGRMI.000/qmstatus.ini
       56  01-16-12 15:00   var/mqm/qmgrs/QM_TEST/amqalchk.fil
       56  05-25-12 08:28   var/mqm/data/QMGRMI.000/amqalchk.fil
    52904  01-16-12 15:00   var/mqm/qmgrs/QM_TEST/errors/AMQERR01.LOG
     7066  05-25-12 08:28   var/mqm/data/QMGRMI.000/errors/AMQERR01.LOG
     6256  01-16-12 15:00   var/mqm/log/QM_TEST/amqhlctl.lfh
     6256  05-25-12 08:28   var/mqm/log/QMGRMI.000/amqhlctl.lfh
     6286  01-25-12 11:38   home/userx/.mqdata/.metadata/.log
                            ... more files for MQ Explorer (if applicable)
      939  05-25-12 14:01   dspmqver_-a.stdout
       79  05-25-12 14:01   idmqm.stdout
    20176  05-25-12 14:01   ps_eo.stdout
     2388  05-25-12 14:01   amqicdir-a.stderr
      338  05-25-12 14:01   ipcs_u.stdout
      234  05-25-12 14:01   binrpm.stdout
       91  05-25-12 14:01   uname.stdout
      109  05-25-12 14:01   dspmqver.stdout
     4636  05-25-12 14:01   ipcs_t.stdout
     3305  05-25-12 14:01   netstat-s.stdout
     4684  05-25-12 14:01   javalibfiles_sum.stdout
     2291  05-25-12 14:01   javalibfiles.stdout
       65  05-25-12 14:01   lib64files.stderr
     7185  05-25-12 14:01   binfiles.stdout
      498  05-25-12 14:01   mount.stdout
        9  05-25-12 14:01   stamp_hostname.stdout
      498  05-25-12 14:01   ipcs_l.stdout
      125  05-25-12 14:01   netstat-anp.stderr
     3996  05-25-12 14:01   ipcs_a.stdout
       70  05-25-12 14:01   javalib64files.stderr
    81552  05-25-12 14:01   libfiles_sum.stdout
       58  05-25-12 14:01   stamp_dspmqver.stdout
       53  05-25-12 14:01   dmpmqaut.stderr
       59  05-25-12 14:01   lib64files_sum.stderr
       53  05-25-12 14:01   gsk8ver.stderr
    17877  05-25-12 14:01   ps_efl.stdout
      251  05-25-12 14:01   df.stdout
     3377  05-25-12 14:01   binfiles_sum.stdout
    47339  05-25-12 14:01   netstat-anp.stdout
      839  05-25-12 14:01   dspmq.stdout
       64  05-25-12 14:01   javalib64files_sum.stderr
      264  05-25-12 14:01   netstat-i.stdout
      376  05-25-12 14:01   explorerFiles.stdout
      399  05-25-12 14:01   errors.stdout
       54  05-25-12 14:01   gsk75ver.stderr
      831  05-25-12 14:01   dspmqver_-p_15.stdout
       53  05-25-12 14:01   gsk7ver.stderr
     6880  05-25-12 14:01   libfiles.stdout
       59  05-25-12 14:01   amqoamd.stdout
     3785  05-25-12 14:01   ipcs_c.stdout
     4048  05-25-12 14:01   usrlibsymlinks.stdout
      394  05-25-12 14:01 autopdzip/autopd/autopd-collection-environment-v2.xml
    41975  02-22-12 10:18   isa.xml
   139474  05-25-12 14:01   console.log
 --------                   -------
  2763148                   170 files

3) Example of running runmqras for only the QM_TEST queue manager, gathering runmqsc, clustering data and trace files.

$ runmqras -qmlist QM_TEST -section defs,cluster,trace -ftp IBM -pmrno 01234,567,890
... Similar to item (1) ... Notice the path for the zip file.
Using Zip File path:
/tmp/runmqras_120525_154125/01234.567.890.runmqras_201205251441.zip
Running on Linux
crtmqras has successfully finished
The zip file can be found at /tmp/runmqras_120525_154125/01234.567.890.runmqras_201205251441.zip
FTP HANDLER: Opening connection to the server.
FTP HANDLER: Connection established for user -anonymous.
FTP HANDLER: Starting file transfer.
...

4) Example of the contents for the zip file obtained in item 3:
Note: To keep the illustration short, only few representative files are shown in the output.

$ unzip -l /tmp/runmqras_120525_154125/01234.567.890.runmqras_201205251441.zip
Archive:  /tmp/runmqras_120525_154125/01234.567.890.runmqras_201205251441.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
    18634  04-30-12 12:14   var/mqm/errors/ffst.out
   265502  04-27-12 07:26   var/mqm/errors/AMQERR01.LOG
     2732  05-25-12 08:28   var/mqm/mqs.ini
     1296  11-22-11 09:28   var/mqm/qmgrs/QM_TEST/qm.ini
      500  05-25-12 14:39   var/mqm/qmgrs/QM_TEST/qmstatus.ini
       56  05-25-12 14:39   var/mqm/qmgrs/QM_TEST/amqalchk.fil
    63635  05-25-12 14:39   var/mqm/qmgrs/QM_TEST/errors/AMQERR01.LOG
     6256  05-25-12 14:39   var/mqm/log/QM_TEST/amqhlctl.lfh
     6286  01-25-12 11:38   home/rivera/.mqdata/.metadata/.log
    13857  01-27-12 15:29   home/userx/.mqdata/.metadata/.plugins/com.ibm.mq.explorer.ui/WMQ_Navigator.xml
     4284  05-25-12 14:40   var/mqm/trace/AMQ30089.0.TRC
    16060  05-25-12 14:40   var/mqm/trace/AMQ29730.0.TRC
      939  05-25-12 14:41   dspmqver_-a.stdout
      367  05-25-12 14:42   runmqsc_PUBSUB_QM_TEST.stdout
      132  05-25-12 14:41   amqsbcg_QM_TEST_SCTQ.stdout
      494  05-25-12 14:41   runmqsc_PROCESS_QM_TEST.stdout
    65815  05-25-12 14:41   runmqsc_QUEUE_QM_TEST.stdout
      614  05-25-12 14:41   runmqsc_SERVICE_QM_TEST.stdout
    62874  05-25-12 14:41   amqsbcg_QM_TEST_SCRQ.stdout
       79  05-25-12 14:41   idmqm.stdout
    21988  05-25-12 14:41   ps_eo.stdout
     2388  05-25-12 14:41   amqicdir-a.stderr
      833  05-25-12 14:41   runmqsc_QALIAS_QM_TEST.stdout
      340  05-25-12 14:41   ipcs_u.stdout
      234  05-25-12 14:41   binrpm.stdout
       91  05-25-12 14:41   uname.stdout
      603  05-25-12 14:42   runmqsc_LSSTATUS_QM_TEST.stdout
     2432  05-25-12 14:41   runmqsc_QMGR_QM_TEST.stdout
     4821  05-25-12 14:41   runmqsc_CONN_QM_TEST.stdout
      109  05-25-12 14:41   dspmqver.stdout
     1066  05-25-12 14:41   runmqsc_NAMELIST_QM_TEST.stdout
     5786  05-25-12 14:41   ipcs_t.stdout
     3305  05-25-12 14:41   netstat-s.stdout
     4684  05-25-12 14:41   javalibfiles_sum.stdout
     2291  05-25-12 14:41   javalibfiles.stdout
       65  05-25-12 14:41   lib64files.stderr
     7185  05-25-12 14:41   binfiles.stdout
     3716  05-25-12 14:42   runmqsc_TOPIC_QM_TEST.stdout
      283  05-25-12 14:41   runmqsc_CLUSQMGR_QM_TEST.stdout
      498  05-25-12 14:41   mount.stdout
      867  05-25-12 14:41   runmqsc_LISTENER_QM_TEST.stdout
      765  05-25-12 14:41   runmqsc_QREMOTE_QM_TEST.stdout
        9  05-25-12 14:41   stamp_hostname.stdout
      498  05-25-12 14:41   ipcs_l.stdout
       15  05-25-12 14:41   amqrfdm_QM_TEST.stderr
      284  05-25-12 14:42   runmqsc_SVSTATUS_QM_TEST.stdout
    15482  05-25-12 14:41   runmqsc_QSTATUS_QM_TEST.stdout
      125  05-25-12 14:41   netstat-anp.stderr
     6823  05-25-12 14:41   runmqsc_QMODEL_QM_TEST.stdout
     5016  05-25-12 14:41   ipcs_a.stdout
       70  05-25-12 14:41   javalib64files.stderr
    82095  05-25-12 14:41   libfiles_sum.stdout
       58  05-25-12 14:41   stamp_dspmqver.stdout
    11221  05-25-12 14:41   dmpmqaut.stderr
       59  05-25-12 14:41   lib64files_sum.stderr
       53  05-25-12 14:41   gsk8ver.stderr
    19479  05-25-12 14:41   ps_efl.stdout
      251  05-25-12 14:41   df.stdout
      798  05-25-12 14:41   runmqsc_AUTHINFO_QM_TEST.stdout
     3377  05-25-12 14:41   binfiles_sum.stdout
    50907  05-25-12 14:41   netstat-anp.stdout
      829  05-25-12 14:41   dspmq.stdout
      287  05-25-12 14:42   runmqsc_TPSTATUS_QM_TEST.stdout
      272  05-25-12 14:41   runmqsc_CHS_QM_TEST.stdout
       64  05-25-12 14:41   javalib64files_sum.stderr
      264  05-25-12 14:41   netstat-i.stdout
    58095  05-25-12 14:41   runmqsc_QLOCAL_QM_TEST.stdout
      131  05-25-12 14:41   amqsbcg_QM_TEST_SCCQ.stdout
    11341  05-25-12 14:41   runmqsc_CHANNEL_QM_TEST.stdout
      376  05-25-12 14:41   explorerFiles.stdout
     2440  05-25-12 14:42   runmqsc_SUB_QM_TEST.stdout
      561  05-25-12 14:42   runmqsc_QMSTATUS_QM_TEST.stdout
      399  05-25-12 14:41   errors.stdout
       54  05-25-12 14:41   gsk75ver.stderr
     1330  05-25-12 14:42   runmqsc_SBSTATUS_QM_TEST.stdout
     2842  05-25-12 14:41   amqrfdm_QM_TEST.stdout
      831  05-25-12 14:41   dspmqver_-p_15.stdout
      284  05-25-12 14:41   runmqsc_QCLUSTER_QM_TEST.stdout
       53  05-25-12 14:41   gsk7ver.stderr
     6880  05-25-12 14:41   libfiles.stdout
      284  05-25-12 14:42   runmqsc_TCLUSTER_QM_TEST.stdout
    15588  05-25-12 14:41   amqoamd.stdout
     4709  05-25-12 14:41   ipcs_c.stdout
     4048  05-25-12 14:41   usrlibsymlinks.stdout
      394  05-25-12 14:42   autopdzip/autopd/autopd-collection-environment-v2.xml
    41975  02-22-12 10:18   isa.xml
   134131  05-25-12 14:42   console.log
 --------                   -------
  1970140                   183 files

Monday, February 3, 2014


IBM WebSphere MQ for Linux V6.0 and V7 Explorer Trace

Follow the instructions listed below to run trace for the WebSphere MQ for Linux V6 and V7 Explorer using the MQ Java API:

1. Modify the files runmqcfg.cmd and runmqcfg_rcp.cmd in the directory:

/opt/mqm/bin

Modify the line:
AMQ_EXPLORER="./eclipse"
to the following, according to the version of MQ:
v6.0:
AMQ_EXPLORER="/opt/mqm/ies30/eclipse/eclipse"
v7.0:
AMQ_EXPLORER="/opt/mqm/eclipseSDK33/eclipse/eclipse"

And add the single line:
AMQ_EXPLORER="$AMQ_EXPLORER -Dcom.ibm.mq.commonservices=/tmp/internal.properties"
before the statement
cd $AMQECLIPSE

2. Both of these scripts are dependent on the environment variable AMQECLIPSE. If this environment variable does not exist then it should be created as the first line in the script. For example:

v6.0:
export AMQECLIPSE="/opt/mqm/ies30/eclipse"
v7.0:
export AMQECLIPSE="/opt/mqm/eclipseSDK33/eclipse"

Note: If you want, you can include the above line in the user's profile.

3. Create a file called "internal.properties" in the /tmp directory with the following text.

Diagnostics.MQ=enabled
Diagnostics.Java=explorer,wmqjavaclasses,all
#Diagnostics.Java=explorer
Diagnostics.Java.Trace.Detail=high
Diagnostics.Java.Trace.Destination.File=enabled
Diagnostics.Java.Trace.Destination.Console=disabled
Diagnostics.Java.Trace.Destination.Pathname=/tmp/trace
Diagnostics.Java.FFDC.Destination.Pathname=/tmp/FFDC
Diagnostics.Java.Errors.Destination.Filename=/tmp/errors/AMQJERR.LOG

4. Ensure that the file permissions for the above file allow it to be read by all processes:

chmod a+r /tmp/internal.properties

5. You may also need to create the following directories:
/tmp/FFDC
/tmp/trace
/tmp/errors

6. Ensure that the file permissions for these directories allow other users to write, such as:

chmod 777 /tmp/FFDC
chmod 777 /tmp/trace
chmod 777 /tmp/errors

7. From a command prompt, invoke the script:

runmqcfg

8. In the /tmp/trace directory you will find files with the format AMQyyyymmddhhmmsssss.*.TRC
which contain the MQ Java trace output.

IBM WebSphere MQ for Linux Trace -

Follow the instructions listed below to start, stop and format WebSphere MQ for Linux trace. Trace files are written to the directory /var/mqm/trace, so delete or relocate old trace files before beginning a new trace.



  • Start trace for every WebSphere MQ process:

      strmqtrc -e

    Or start trace only for one queue manager:

      strmqtrc -m MY.QMGR

    Or start a high detail trace for one queue manager:

      strmqtrc -t all -t detail -m MY.QMGR

    Or start a high detail wrapping trace and limit the file size to ~5MB:

      strmqtrc -l 5 -t all -t detail -m MY.QMGR

  • End all tracing:
      endmqtrc -a

  • Format the trace files:

      dspmqtrc *.TRC

    Or format wrapping trace files:

      dspmqtrc *.TRC *.TRS

    The trace formatter program converts binary files named AMQppppp.TRC (where ppppp is the process identifier or pid which created the file) into readable files named AMQppppp.FMT.
    If you used a wrapping trace, then each time a .TRC reaches the size limit MQ renames it to a .TRS extension and starts a new .TRC file. The trace formatter can convert both files to a single formatted file, but only if you format the .TRC and .TRS files at the same time, as shown above.
    Send formatted trace files to IBM support unless binary traces are specifically requested. To save space, compress the formatted trace files with compress, zip, gzip, or bzip2.

  • IBM WebSphere MQ for AIX Trace V5.3, V6 and V7 

    WebSphere MQ V6 and V7 on AIX now supports the standard WebSphere MQ trace facility as well as the AIX system trace. It is recommended that V6 and V7 customers use the WebSphere MQ trace commands unless requested by the WebSphere MQ service team to use the AIX system trace hooks.


    Follow the instructions listed below to start, stop and format WebSphere MQ for AIX trace. Trace files are written to the directory /var/mqm/trace, so delete or relocate old trace files before beginning a new trace.
    • Start trace for every WebSphere MQ process:
      strmqtrc -e

    Or start trace only for one queue manager:

      strmqtrc -m MY.QMGR

    Or start a high detail trace for one queue manager:

      strmqtrc -t all -t detail -m MY.QMGR

    Or start a high detail wrapping trace and limit the file size to ~5MB:

      strmqtrc -l 5 -t all -t detail -m MY.QMGR

    • End all tracing:
      endmqtrc -a

    • Format the trace files:
      dspmqtrc *.TRC

    Or format wrapping trace files:

      dspmqtrc *.TRC *.TRS

    The trace formatter program converts binary files named AMQppppp.TRC (where ppppp is the process identifier or pid which created the file) into readable files named AMQppppp.FMT.
    If you used a wrapping trace, then each time a .TRC reaches the size limit MQ renames it to a .TRS extension and starts a new .TRC file. The trace formatter can convert both files to a single formatted file, but only if you format the .TRC and .TRS files at the same time, as shown above.
    Send formatted trace files to IBM support unless binary traces are specifically requested. To save space, compress the formatted trace files with compress, zip, gzip, or bzip2. 
    WebSphere MQ for AIX Trace v5.3
    Follow the instructions listed below to start, stop and format the AIX trace on v5.3.
    Note: WebSphere MQ V6 and V7 customers should review the second part of this section. The additional trace function described in part two was added at WebSphere MQ v6.0.
    • Start trace
      The following command starts a trace of WebSphere MQ data which will grow to approximately 50MB in size before wrapping. You can change the maximum size, but be aware that a small size may prevent useful information from being captured. The larger you make the file size the better chance of capturing the trace you need. You can choose any output file name you wish, but be sure there is ample storage for the trace:
        trace -a -j30D,30E -o /path/to/trace.out -L 50000000
    • End trace:
      Because AIX traces wrap by default, it is important to stop tracing as soon as the problem occurs. If you delay in stopping the trace, or if your trace file size is too small, the information you hope to gather may be overwritten by new trace data:
        trcstop
    • Format trace:
        trcrpt -t /usr/mqm/lib/amqtrc.fmt
        /path/to/trace.out > /path/to/trace.fmt

    Send formatted trace files to IBM support unless binary traces are specifically requested. If the IBM support team asks you to gather additional trace hooks (not just 30D and 30E) then please send the binary trace file instead.


    IBM Websphere MQ: MAXHANDS queue manager parameter - Middleware News

    What is the purpose of the MAXHANDS queue manager parameter?

    MAXHANDS (Maximum Open Handles) is the queue manager parameter that limits the number of handles that any one process can have at the same time. The details relating to it are as follows:

    Setting MAXHANDS:
    • Alter the MAXHANDS queue manager parameter using the MQSC alter queue manager command. Example: alter qmgr maxhands (300)
    • On Windows you can also use the WebSphere MQ Explorer to alter the queue manager's Max handles, extended property.


    MAXHANDS(integer):
    The maximum number of open handles that any one task can have at the same time. This is a value in the range zero through 999 999 999.

    For clarification:
    MAXHANDS refers to the maximum number of objects that a single connection can have open at the same time. So, if an application thread issues an MQOPEN for a queue, that counts as 1, and so on for each queue that is opened in that thread. A separate thread in the same or in a different process also has its own MAXHANDLES objects that it can open. The total number of handles for a queue, for example the number of applications that have a queue open, is not related to MAXHANDLES.

    The open handles for a queue can be displayed using the display queue status command. In the example below, the qstatus for a queue named 3 shows that there are three open handles on the queue. The open handles are owned by PIDs 1928, 2572 and 2504.




    For further details refer to the online topics regarding the MAXHANDS queue manager parameter, and the 

    Monday, January 27, 2014


    IBM Websphere MQ - Automatic client reconnection 

    Automatic client reconnection

    You can make your client applications reconnect automatically, without writing any additional code, by configuring a number of components.
    Automatic client reconnection is inline. The connection is automatically restored at any point in the client application program, and the handles to open objects are all restored.
    In contrast, manual reconnection requires the client application to re-create a connection using MQCONN orMQCONNX, and to reopen objects. Automatic client reconnection is suitable for many, but not all client applications.
    Table 1 lists the earliest release of WebSphere® MQ client support that must be installed on a client workstation. You must upgrade client workstations to one of these levels for an application to use automatic client reconnection. Table 2 lists other requirements to enable automatic client reconnection.
    With program access to reconnection options, a client application can set reconnection options. Except for JMS and XMS clients, if a client application has access to reconnection options, it can also create an event handler to handle reconnection events.
    An existing client application might be able to benefit from reconnection support, without recompilation and linking:
    • For a non-JMS client, set the mqclient.ini environment variable DefRecon to set reconnection options. Use a CCDT to connect to a queue manager. If the client is to connect to a multi-instance queue manager, provide the network addresses of the active and standby queue manager instances in the CCDT.
    • For a JMS client, set the reconnection options in the connection factory configuration. When you use the WebSphere MQ Resource adapter or a JMS Client that is integrated in a Java™ EE Environment, automatic client reconnection might not be available. There are restrictions in some of the managed environments, for more information see WebSphere MQ automatic client reconnection with WebSphere MQ classes for JMS.
    Table 1. Supported clients
    Client interfaceClientProgram access to reconnection optionsReconnection support
    Messaging APIsC, C++, COBOL, Unmanaged Visual Basic, XMS (Unmanaged XMS on Windows)7.0.17.0.1
    JMS (JSE, and Java EE client container and managed containers)7.0.1.37.0.1.3
    WebSphere MQ classes for JavaNot supportedNot supported
    Managed XMS and managed .NET clients: C#, Visual Basic7.17.1
    Other APIsWindows Communication Foundation (Unmanaged 1)Not supported7.0.1
    Windows Communication Foundation (Managed 1)Not supportedNot supported
    Axis 1Not supportedNot supported
    Axis 2Not supported7.0.1.3
    HTTP (web 2.0)Not supported7.0.1.3
    1. Set managed or unmanaged mode in the WCF binding configuration.
    Automatic reconnection has the following configuration requirements:
    Table 2. Automatic reconnection configuration requirements
    ComponentRequirementEffect of not meeting requirement
    WebSphere MQ MQI client installationSee Table 1MQRC_OPTIONS_ERROR
    WebSphere MQ Server installationLevel 7.0.1MQRC_OPTIONS_ERROR
    ChannelSHARECNV > 0MQRC_ENVIRONMENT_ERROR
    Application environmentMust be threadedMQRC_ENVIRONMENT_ERROR
    MQIOne of:
    • MQCONNX with MQCNO Options set toMQCNO_RECONNECT orMQCNO_RECONNECT_Q_MGR.
    • Defrecon=YES|QMGR in mqclient.ini
    • In JMS set the CLIENTRECONNECTOPTIONS property of the connection factory.
    MQCC_FAILED when a connection is broken or queue manager ends or fails.
    Figure 1 shows the main interactions between components that are involved in client reconnection.
    Figure 1. Automatic client reconnection
    Six components involved in automatic client reconnection, with some of the interactions between them identified with labeled arrows.

    Client application

    The client application is a WebSphere MQ MQI client.
    • By default clients are not automatically reconnected. Enable the automatic client reconnection by setting the MQCONNX MQCNO Option MQCNO_RECONNECT or MQCNO_RECONNECT_Q_MGR.
    • Many applications are written in such a way that they are able to take advantage of auto-reconnection with no additional coding. Enable automatic reconnection for existing programs, without making any coding changes, by setting the DefRecon attribute in the channels stanza of the mqclient.ini configuration file.
    • Use one of these three options:
      1. Modify the program so that the logic is unaffected by reconnection. For example, you might have to issue MQI calls within the sync point, and resubmit backed-out transactions.
      2. Add an event handler to detect reconnection, and restore the state of the client application when the connection is reestablished.
      3. Do not enable auto-reconnection: instead, disconnect the client and issue a newMQCONN or MQCONNX MQI call to find another queue manager instance that is running in the same queue manager group.
      For further details about these three options, see Application recovery.
    • Reconnecting to a queue manager of the same name does not guarantee that you have reconnected to the same instance of a queue manager.
      Use an MQCNO option MQCNO_RECONNECT_Q_MGR , to reconnect to an instance of the same queue manager.
    • A client can register an event handler so that it can be informed the state of reconnection. TheMQHCONN passed in the event handler cannot be used. The following reason codes are provided:
      MQRC_RECONNECTING
      The connection failed, and the system is attempting to reconnect. You receive multipleMQRC_RECONNECTING events if multiple reconnect attempts are made.
      MQRC_RECONNECTED
      The reconnection made and all handles successfully reestablished.
      MQRC_RECONNECT_FAILED
      The reconnection was not successful.
      MQRC_RECONNECT_QMID_MISMATCH
      A reconnectable connection specified MQCNO_RECONNECT_Q_MGR and the connection attempted to reconnect to a different queue manager.
      MQRC_RECONNECT_Q_MGR_REQD
      An option, such MQMO_MATCH_MSG_TOKEN in an MQGET call, was specified in the client program that requires reconnection to the same queue manager.
    • A reconnectable client is able to reconnect automatically only after connecting. That is, theMQCONNX call itself is not tried again if it fails. For example, if you receive the return code 2543 - MQRC_STANDBY_Q_MGR from MQCONNX, reissue the call after a short delay.
      MQRC_RECONNECT_INCOMPATIBLE
      This reason code is returned when the application tries to use MQPMO_LOGICAL_ORDER (with MQPUT and MQPUT1) or MQGMO_LOGICAL_ORDER (with MQGET) when reconnect options are set. The reason for returning the reason code is to make sure that applications never use reconnect in such cases.
      MQRC_CALL_INTERRUPTED
      This reason code is returned when the connection breaks during the execution of Commit call and the client reconnects. An MQPUT of a persistent message outside the sync point also results in the same reason code being returned to the application.

    Multi-instance queue managers

    Simplify restarting WebSphere MQ MQI client applications, after a multi-instance queue manager has activated its standby instance, by using automatic client reconnection.
    The standby instance of a multi-instance queue manager is typically at a different network address to the active instance. Include the network addresses of both the instances in the client connection definition table (CCDT). Either provide a list of network addresses for the CONNAME parameter, or define multiple rows for the queue manager in the CCDT.
    Commonly, WebSphere MQ MQI clients reconnect to any queue manager in a queue manager group. Sometimes you want a WebSphere MQ MQI client to reconnect only to the same queue manager. It might have an affinity to a queue manager. You can prevent a client from reconnecting to a different queue manager. Set the MQCNOoption, MQCNO_RECONNECT_Q_MGR. The WebSphere MQ MQI client fails if it reconnects to a different queue manager. If you set the MQCNO option, MQCNO_RECONNECT_Q_MGR, do not include other queue managers in the same queue manager group. The client returns an error if the queue manager it reconnects to is not the same queue manager as the one it connected to.

    Queue manager groups

    You can select whether the client application always connects and reconnects to a queue manager of the same name, to the same queue manager, or to any of a set of queue managers that are defined with the sameQMNAME value in the client connection table.
    • The queue manager name attribute, QMNAME , in the client channel definition is the name of a queue manager group.
    • In your client application, if you set the value of the MQCONN or MQCONNX QmgrName parameter to a queue manager name, the client connects only to queue managers with that name. If you prefix the queue manager name with an asterisk(*), the client connects to any queue manager in the queue manager group with the same QMNAME value. For a full explanation, see Queue manager groups in the CCDT.

    Queue sharing groups

    Automatic client reconnection to z/OS® queue sharing groups, uses the same mechanisms for reconnection as any other environment. The client will reconnect to the same selection of queue managers as is configured for the original connection. For example, when using the client channel definition table the administrator should ensure that all entries in the table, resolve to the same z/OS queue sharing group.

    Client and server channel definitions

    Client and server channel definitions define the groups of queue managers a client application can reconnect to. The definitions govern the selection and timing of reconnections, and other factors, such as security; see the related topics. The most relevant channel attributes to consider for reconnection are listed in two groups:
    Client connection attributes
    Connection affinity (AFFINITY)AFFINITY
    Connection affinity.
    Client channel weight (CLNTWGHT)CLNTWGHT
    Client channel weight.
    Connection name (CONNAME)CONNAME
    Connection information.
    Heartbeat interval (HBINT)HBINT
    Heartbeat interval. Set the heartbeat interval on the server connection channel.
    Keepalive Interval (KAINT)KAINT
    Keepalive interval. Set the keepalive interval on the server connection channel.
    Note that KAINT applies to z/OS only.
    Queue manager name (QMNAME)QMNAME
    Queue manager name.
    Server connection attributes
    Heartbeat interval (HBINT)HBINT
    Heartbeat interval. Set the heartbeat interval on the client connection channel.
    Keepalive Interval (KAINT)KAINT
    Keepalive interval. Set the keepalive interval on the client connection channel.
    Note that KAINT applies to z/OS only.
    KAINT is a network layer heartbeat, and HBINT is a WebSphere MQ heartbeat between the client and the queue manager. Setting these heartbeats to a shorter time serves two purposes:
    1. By simulating activity on the connection, network layer software that is responsible for closing inactive connections is less likely to shut down your connection.
    2. If the connection is shut down, the delay before the broken connection is detected, is shortened.
    The default TCP/IP keepalive interval is two hours. Consider setting the KAINT and HBINT attributes to a shorter time. Do not assume that the normal behavior of a network suits the needs of automatic reconnection. For example, some firewalls can shut down an inactive TCP/IP connection after as little as 10 minutes.

    Network connectivity

    Only network failures that are passed to the WebSphere MQ MQI client by the network, are handled by the automatic reconnection capability of the client.
    • Reconnections performed automatically by the transport are invisible to WebSphere MQ.
    • Setting HBINT helps to deal with network failures that are invisible to WebSphere MQ.

    Queue managers and WebSphere MQ listeners

    Client reconnection is triggered by server failure, queue manager failure, network connectivity failure, and by an administrator switching over to another queue manager instance.
    • If you are using a multi-instance queue manager, an additional cause of client reconnection occurs when you switch control from the active queue manager instance to a standby instance.
    • Ending a queue manager using the default endmqm command, does not trigger automatic client reconnection. Add the -r option on the endmqm command to request automatic client reconnection, or the -s option to transfer to a standby queue manager instance after shutting down.

    WebSphere MQ MQI client automatic reconnection support

    If you use the automatic client reconnection support in the WebSphere MQ MQI client, the client application automatically reconnects and continues processing without you issuing an MQCONN or MQCONNX MQI call to reconnect to the queue manager.
    • Automatic client reconnection is triggered by one of the following occurrences:
      • queue manager failure
      • ending a queue manager and specifying the -r, reconnect, option on the endmqmcommand
    • The MQCONNX MQCNO options control whether you have enabled the automatic client reconnection. The options are described in Reconnection options.
    • Automatic client reconnection issues MQI calls on behalf of your application to restore the connection handle and the handles to other open objects, so that your program can resume normal processing after it has processed any MQI errors that resulted from the broken connection. SeeRecovery of an automatically reconnected client .
    • If you have written a channel exit program for the connection, the exit receives these additional MQI calls.
    • You can register a reconnection event handler, which is triggered when reconnection begins and when it finishes.
    Although reconnection takes no more than a minute, reconnection can take longer because a queue manager might have numerous resources to manage. During this time, a client application might be holding locks that do not belong to WebSphere MQ resources. There is a timeout value you can configure to limit the time a client waits for reconnection. The value (in seconds) is set in the mqclient.ini file.
    Channels:
        MQReconnectTimeout = 1800
    No reconnection attempts are made after the timeout has expired. When the system detects that the timeout has expired it returns a MQRC_RECONNECT_FAILED error.

    Friday, January 3, 2014


    What's new in IBM WebSphere MQ version 7.5 

    WebSphere MQ V7.5 delivers a single Universal Messaging solution. It enables the simple, rapid, reliable, and secure transport of data and messages between applications, systems, and services.
    WebSphere MQ is the market-leading, message-oriented middleware product that delivers a reliable, proven universal messaging backbone for almost 10,000 organizations of different sizes, spanning many industries around the world
    Customers gain access to previously separately installable capabilities, enabling more complete solutions for data and message movement along with reduced complexity. Get the advantage of a smaller install footprint, simpler maintenance and eliminate the need for separate packages. Add as you need .
    Enhancements include:

    You can obtain the new enhanced functions offered in WebSphere MQ V7.5 by migrating directly to V7.5 from WebSphere MQ V6.0, V7.0.1, or V.7.1 -- without migrating to an interim version or release.

    Performance Points of MQ v7.5 vs. MQ v7.1


    Why IBM WebSphere MQ v7.5 - Middleware News

    Why WebSphere MQ v7.5

    WebSphere MQ v7.5 provides additional enhancements to IBM ® Universal Messaging to deliver a single, integrated offering for all core messaging functions. Get the advantage of a smaller install footprint, simpler maintenance and eliminate the need for separate packages. Add as you need.

    WebSphere MQ Advanced 7.5 – for developers

    With this release, developers can install and use the entire WebSphere MQ Advanced stack (MFT, AMS, Telemetry) on their personal development machines without needing to pay a PVU based license. This new licensing option is priced per ‘Authorised User Single Install’ which effectively means a fixed price per developer exclusively for their development use.

    Enhancements include

    – A new JavaScript™ messaging API for use with MQTT, to allow JavaScript users to code mobile messaging applications with less programming
    – Support for native iOS and Android applications to use mobile messaging (ships as part of the WebSphere MQ Client Pack for Mobile and M2M Messaging)
    Integrated Managed File Transfer – WebSphere MQ File Transfer Edition, previously available separately, is now integrated as an optional feature of WebSphere MQ server component as WebSphere Managed File Transfer Service. Additional separately installable endpoints, WebSphere MQ Managed File Transfer Agents, are part of the package, installable subject to entitlement.
    Integrated Advanced Message Security – Protect the security of your message contents without the need to change the application code itself. WebSphere MQ Advanced Message Security, previously separately available is now tightly integrated as an optional installable component as part of the WebSphere MQ v7.5 package. As previously, entitlement should be purchased prior to use..
    Improved application isolation – With the ability to configure multiple transmission queues in WebSphere MQ clustered environment, WebSphere MQ v7.5 enables applications with different workloads and performance requirements to operate at their own rate without impacting other applications,
    Enhancements for the Managed File Transfer capabilities – File transfer audit information can now be written directly to the file system for logging providing an additional configuration choice.
    Enhancements for WebSphere MQ Advanced Message Security – Enhanced protection for configuration information used by WebSphere MQ Managed File Transfer
    Wider access to the Extended Transactional (XA) client for all customers – The XA client is available for use in all client deployments without additional entitlement for connecting to WebSphere MQ queue managers WMQ V7.0.1, WMQ V7.1 and WMQ V7.5 . Realize this benefit through the download and acceptance of the updated License Information Documents for each WMQ Server.
    Using WebSphere MQ Telemetry Standard Client – Use of the WebSphere MQ Telemetry Client requires purchasing an entitlement for WebSphere MQ Telemetry Clients for each WebSphere MQ Server installed that will have WebSphere MQ Telemetry clients connected to it, with no limit to the number of clients connected; applicable to WebSphere MQ v7.5, WebSphere MQ v7.0.1 and WebSphere MQ v7.1.

    Version Comparison Table

    Feature WebSphere MQ V6.0 WebSphere MQ V7.0 WebSphere MQ V7.0.1 WebSphere MQ V7. 1 WebSphere MQ V7. 5
    Special Licensing for developers



    Yes
    JavaScript™ messaging API for use with MQTT



    Yes
    Support for native iOS and Android applications



    Yes
    Integrated Managed File Transfer



    Yes
    Integrated Advanced Message Security



    Yes.
    Integrated Telemetry


    Yes. Yes.
    Multiversion install capability on distributed platforms


    Yes. Yes.
    Enhanced security


    Yes. Yes.
    Cloud support


    Yes. Yes.
    Enhanced clustering


    Yes. Yes.
    Multicast capability


    Yes. Yes.
    Improved performance on distributed platforms


    Yes. Yes.
    Extension to support for .NET APIs


    Yes. Yes.
    Multiple instance queue managers for higher availability

    Yes. Yes. Yes.
    Automatic client reconnect for higher availability

    Yes. Yes. Yes.
    Increased visibility and auditability of configuration changes

    Yes. Yes. Yes.
    Enhanced SSL security support

    Yes. Yes. Yes.
    Service Definition wizard

    Yes. Yes. Yes.
    IBM Message Service Client for .NET developers

    Yes. Yes. Yes.
    Windows® Communication Framework support for .NET developers

    Yes. Yes. Yes.
    Simple File Transfer, Quick Tour Yes. Yes. Yes. Yes. Yes.
    New cross-platform configuration tooling Yes. Yes Yes. Yes. Yes.
    Find out what the system is doing, and influence it Yes. Yes. Yes. Yes. Yes.
    Easier problem determination and problem avoidance Yes. Yes. Yes. Yes. Yes.
    Exploiting z/OS services Yes. Yes. Yes. Yes. Yes.
    Exploiting 64-bit address space Yes. Yes. Yes. Yes. Yes.
    Runs on Linux and Windows Yes. Yes. Yes. Yes. Yes.
    Connections can be local or direct client or via intermediate queue manager Yes. Yes. Yes. Yes. Yes.
    Supports SSL for secure communication Yes. Yes. Yes. Yes. Yes.
    Vendors and users can develop new function and integrate seamlessly Yes. Yes. Yes. Yes. Yes.
    New options to be put on the “right mouse button” menus for objects Yes. Yes. Yes. Yes. Yes.
    New top-level entities (like “queue managers” and “QSGs”) Yes. Yes. Yes. Yes. Yes.
    Plug-ins do not need to duplicate configuration work like getting list of queue manager Yes. Yes. Yes. Yes. Yes.
    NO charge for XA Client

    Yes. Yes. Yes.
    Why is WMQ V7.5 not supported on z/OS or System i?
    A key goal of WMQ V7.5 is to improve the overall Installation process for the WMQ, WMQ FTE and WMQ AMS functions. On Distributed platforms, the installation of the WMQ FTE and WMQ AMS products differed from that for MQ itself and it was felt that improving this was a key priority. This has never been seen as an issue for our z/OS customers, where products had always conformed to a common install process, and thus this key aspect of the release is not meaningful for z/OS customers. Additionally adding a separate release of WMQ on z/OS without any substantial major function would have been highly disruptive to customers who have long migration planning cycles between each release – especially since we have just released MQ V7.1 which contains significant function of particular value to z/OS customers.