Application Connectivity
Application connectivity is about providing a way for application programs to interconnect, and allow information to flow between them, without requiring the applications to be aware of the details of the connection. Basic connectivity is the starting point for any integration solution. It provides the transport on which information will flow.
Application connectivity is about providing a way for application programs to interconnect, and allow information to flow between them, without requiring the applications to be aware of the details of the connection. Basic connectivity is the starting point for any integration solution. It provides the transport on which information will flow.
There are many characteristics that distinguish different
transport options, but when integrating across heterogeneous environments and
when dealing with applications that were not designed to intercommunicate,
there are several mandatory functions needed for success: assured delivery (and
persistence), once-only delivery, and asynchronous delivery. It is also
essential that the transport be capable of delivering any type of data:
Extensible Markup Language (XML), SOAP, and proprietary (when this makes the
mostsense for a particular customer’s situation).
These functions are delivered through WebSphere MQ, the
defacto standard for messaging connectivity. WebSphere MQ can provide all an
application needs provided the number of applications being interconnected is
small, two or three for example. But as the number of applications being
interconnected increases, additional application connectivity services are
needed to implement a more efficient and effective solution.
Message Brokering
When you are working in a large environment, message brokering functions are required. Fundamentally, message brokers are used to centralize routing and transformation functions, and these functions are essentially handled by a message flow. A message flow is a sequence of operations performed on a message by a series of message processing nodes. The actions are defined in terms of the message format, its content, and the results of individual actions along the message flow.
When you are working in a large environment, message brokering functions are required. Fundamentally, message brokers are used to centralize routing and transformation functions, and these functions are essentially handled by a message flow. A message flow is a sequence of operations performed on a message by a series of message processing nodes. The actions are defined in terms of the message format, its content, and the results of individual actions along the message flow.
Notice, however, that the flow is, as was the case with
basic messaging, simply an extension of the path from the source application to
the destination application. In other words, it is assumed that the destination
wants, expects, and will handle all messages sent to it.
Basically, the Message Broker is a WebSphere MQ application
that routes and transforms messages.
The WebSphere Message Broker consists of four components
(Toolkit, configuration manager, broker, and User Name Server) that communicate
with each other using WebSphere MQ messages. The format of this information is
XML.
Message Broker Toolkit
The WebSphere Message Brokers Toolkit is an integrated development environment (IDE) and graphical user interface (GUI) based on the open source Eclipse platform. Application developers work in separate instances of the Message Brokers Toolkit (also known as workbenches) to develop message sets and message flows.
The WebSphere Message Brokers Toolkit is an integrated development environment (IDE) and graphical user interface (GUI) based on the open source Eclipse platform. Application developers work in separate instances of the Message Brokers Toolkit (also known as workbenches) to develop message sets and message flows.
Tasks that can be performed using ToolKit
• Definition of message flows
• Definition and import of message definitions
• Deployment of message flows and message sets to brokers
• Control of log entries written during deploy
• Start, stop, and trace of message flows running in brokers
• Registering brokers in the configuration domai
• Viewing and deleting subscriptions for publish/subscribe
• Setting topic-based access control for publish/subscribe
• Definition of message flows
• Definition and import of message definitions
• Deployment of message flows and message sets to brokers
• Control of log entries written during deploy
• Start, stop, and trace of message flows running in brokers
• Registering brokers in the configuration domai
• Viewing and deleting subscriptions for publish/subscribe
• Setting topic-based access control for publish/subscribe
Broker
A broker is a system service on Windows platforms, a daemon process on UNIX platforms, or a started task on z/OS platforms. It controls processes that run message flows.
A broker is a system service on Windows platforms, a daemon process on UNIX platforms, or a started task on z/OS platforms. It controls processes that run message flows.
Applications often send messages to the broker using
WebSphere MQ queues and connections. The broker routes each message using the
rules defined in message flows and message sets, which also transforms the data
into the structure required by the receiving applications.
Broker Domains
A broker domain is one or more brokers that share a common configuration, together with the single configuration manager that controls them. The configuration manager maintains all configuration details about the brokers in its domain within its internal configuration repository.
A broker domain is one or more brokers that share a common configuration, together with the single configuration manager that controls them. The configuration manager maintains all configuration details about the brokers in its domain within its internal configuration repository.
Configuration Manager
The configuration manager functions as the interface between toolkit instances, its internal configuration repository, and a set of brokers executing message flows.
The configuration manager functions as the interface between toolkit instances, its internal configuration repository, and a set of brokers executing message flows.
The configuration manager provides brokers with their
initial configuration, and updates them with any subsequent changes. It
maintains the broker domain configuration. The configuration manager is the
central runtime component that manages the components and resources that
constitute the broker domain. Administrators typically install, create, and
start a configuration manager for each broker domain.
User name server
The User Name Server is an optional component, needed only when topic-based access control for publish/subscribe is desired or required.
The User Name Server is an optional component, needed only when topic-based access control for publish/subscribe is desired or required.
Message Flows
A message flow is really nothing more than a program created using graphical tools. The toolkit component provides both the environment and tools to accomplish this task.
Queue Manager Commands A message flow is really nothing more than a program created using graphical tools. The toolkit component provides both the environment and tools to accomplish this task.
crtmqm
<QUEUE_MANAGER_NAME>
Start a Queue
Manager
strmqm
<QUEUE_MANAGER_NAME>
Stop Queue Manager
endmqm -i
<QUEUE_MANAGER_NAME>
Delete Queue Manager
dltmqm <QUEUE_MANAGER_NAME>
Define and view
Queue Manager Configuration using runmqsc
Open mqsc console for Queue Manager
runmqsc
<QUEUE_MANAGER_NAME> --> Press Enter
Display list of
Local Queue
display QLOCAL(*)
dis QLOCAL(*)
dsp QLOCAL(*)
Display list of
Remote Queue
display QREMOTE(*)
Create Local Queue
Under Queue Manager
DEFINE
QLOCAL(QUEUE_NAME)
Create Local Queue
Under Queue Manager overriding default value e.g maxdepth
DEFINE
QLOCAL(QUEUE_NAME) MAXDEPTH(100000)
Create Server
Connection Channel
DEFILE
CHANNEL(CHANNEL_NAME) CHLTYPE(SVRCONN) TRPTYPE(TCP)
To view the list of
local queues created under a Queue Manager:
runmqsc
QUEUE_MANAGER_NAME -> Press ENTER
dis qlocal(*)
end
[As an alternative to
'dis', 'display' or 'dsp' can also be used. 'end' is used to exit performing
any operations on the QUEUE_MANAGER_NAME]
WebSphere Message Broker Commands
To view the Components
(Broker, Configuration Manager & Queue Manager associated with the Broker)
created:
mqsilist
To view the Execution Groups created under a particular Broker: (The 4-digit number displayed against each Execution Group is the Process ID of the Process DataFlowEngine.exe which corresponds to an Execution Group)
mqsilist BROKER_NAME
To view the Flows & Resources (Jars, Message Dictionaries, Message Maps etc) deployed onto a Broker's Execution Group:
mqsilist BROKER_NAME -e EXECUTION_GROUP_NAME
To view the Broker's EG Properties:
mqsireportproperties BROKER_NAME -e EXECUTION_GROUP_NAME -o ObjectName -n PropertyName
To view all the properties of a Broker's EG ('-r' indicates recursive fetch, use '-a' for non-recursive fetch):
mqsireportproperties BROKER_NAME -e EXECUTION_GROUP_NAME -o AllReportableEntityNames -r
To view all the Configurable properties of a Broker ('-r' indicates recursive fetch, use '-a' for non-recursive fetch):
mqsireportproperties BROKER_NAME -c AllTypes -o AllReportableEntityNames -r
To view the Max Heap Size set to a Broker's EG:
mqsireportproperties BROKER_NAME -e EXECUTION_GROUP_NAME -o ComIbmJVMManager -n jvmMaxHeapSize
To view the Min Heap Size set to a Broker's EG:
mqsireportproperties BROKER_NAME -e EXECUTION_GROUP_NAME -o ComIbmJVMManager -n jvmMinHeapSize
To view the Debug Port set to a Broker's EG:
mqsireportproperties BROKER_NAME -e EXECUTION_GROUP_NAME -o ComIbmJVMManager -n jvmDebugPort
To change the Broker's EG Properties:
mqsichangeproperties BROKER_NAME -e EXECUTION_GROUP_NAME -o ObjectName -n PropertyName -v ValueToBeSet
To change any of the Configurable properties of a Broker ('-r' indicates recursive fetch, use '-a' for non-recursive fetch):
mqsichangeproperties BROKER_NAME -c ConfigurablePropertyName -o ObjectName -v NewValue
To change the Max Heap Size set to a Broker's EG: [-v parameter should be a value in Bytes]
mqsichangeproperties BROKER_NAME -e EXECUTION_GROUP_NAME -o ComIbmJVMManager -n jvmMaxHeapSize -v NewValue
To change the Min Heap Size set to a Broker's EG: [-v parameter should be a value in Bytes]
mqsichangeproperties BROKER_NAME -e EXECUTION_GROUP_NAME -o ComIbmJVMManager -n jvmMinHeapSize -v NewValue
To change the Debug Port set to a Broker's EG: [-v parameter should be a 4-digit value]
mqsichangeproperties BROKER_NAME -e EXECUTION_GROUP_NAME -o ComIbmJVMManager -n jvmDebugPort -v NewValue
Commands for taking trace: [-u indicates 'User Trace' and -t indicates 'Service Trace']
Values of -l (Trace Level) parameter:
1. normal,
2. none,
3. debug.
Values of -m (Mode) parameter:
1. safe,
2. fast.
User Trace:
To view the user trace: (Optional -f to view the trace level of a particular message flow deployed onto an EG)
mqsireporttrace BROKER_NAME -u -e EXECUTION_GROUP_NAME -f MESSAGE_FLOW_NAME
To set the user trace: (Optional -f to view the trace level of a particular message flow deployed onto an EG)
mqsichangetrace BROKER_NAME -u -e EXECUTION_GROUP_NAME -f MESSAGE_FLOW_NAME -l TRACE_LEVEL -c SIZE_OF_TRACE_IN_KB
Service Trace:
To view the service trace: (Optional -f to view the trace level of a particular message flow deployed onto an EG)
mqsireporttrace BROKER_NAME -t -e EXECUTION_GROUP_NAME -f MESSAGE_FLOW_NAME
To set the service trace: (Optional -f to view the trace level of a particular message flow deployed onto an EG)
mqsichangetrace BROKER_NAME -t -e EXECUTION_GROUP_NAME -f MESSAGE_FLOW_NAME -l TRACE_LEVEL -c SIZE_OF_TRACE
To read the trace file: (Optional -f to view the trace level of a particular message flow deployed onto an EG)
mqsireadlog BROKER_NAME -u/-t -e EXECUTION_GROUP_NAME -f MESSAGE_FLOW_NAME -o PATH_TO_FILE_WITH_NAME_AND_EXTENSION
To create a BAR file:
mqsicreatebar -data PATH_TO_BAR_DIRECTORY -b BAR_FILE_NAME -p PROJECT_NAME -o NAME_OF_THE_RESOURCE_TO_BE_ADDED_WITH_EXTN
['-cleanBuild' parameter can be used to refresh the workspace projects and perform a clean build before adding]
Syntax: mqsicreatebar -data workspace -b barName [-version id] [-esql21] [-p projectName [...]] -o filePath1 [filePath2 [...]]
Command Options:
'-data workspace' workspace location (Mandatory)
'-b barName' bar file name to create or replace
'-version id' appends '_' and id to compiled names in the archive (optional)
'-esql21' compile ESQL for brokers version 2.1 (optional)
'-p projectName' specify projects containing files to link (optional, multiple projects can be specified)
'-o filePath1' workspace relative path (including the project) of deployable files to add to the broker archive. Multiple deployable files can be compiled in a single mqsicreatebar command.
To cancel all outstanding deployments:
mqsideploy -n PATH_TO_CONFIGURATION_MANAGER_FILE -c
To deploy a BAR file:
mqsideploy -n PATH_TO_CONFIGURATION_MANAGER_FILE -b BROKER_NAME -e EXECUTION_GROUP_NAME -a PATH_TO_BAR_FILE_NAME
To remove a flow or resource from the Broker's EG:
mqsideploy -n PATH_TO_CONFIGURATION_MANAGER_FILE -b BROKER_NAME -e
EXECUTION_GROUP_NAME -d FLOW_OR_RESOURCE_NAME_TO_BE_UNDEPLOYED
NOTE:
1. For all the mqsideploy commands above, a combination of -i, -p & -q parameters can be used instead of -n. -i carries the machine name, -p indicates the port on which the Queue Manager is open and -q represents the name of the Queue Manager,
2. An additional '-w' parameter can be added at the end of the command to set a Timeout Value (in seconds).
To reload/restart a particular Execution Group:
mqsireload BROKER_NAME -e EXECUTION_GROUP_NAME
To reload/restart all the Execution Groups of the Broker: [This command does not restart the Broker]
mqsireload BROKER_NAME
To stop a Broker: [Optional '-i' parameter before BROKER_NAME immediately stops the Broker, else, the Broker is stopped in Control Mode. Optional '-q' parameter after BROKER_NAME stops the Broker's Queue Manager along with the Broker]
[CONFIGURATION_MANAGER_NAME, USER_NAME_SERVER or DATABASE_INSTANCE_MANAGER can be used in place of BROKER_NAME to stop the respective Component]
mqsistop BROKER_NAME
To stop a Broker's EG:
mqsistop BROKER_NAME -e EXECUTION_GROUP_NAME
To stop a Message Flow running on a Broker's EG:
mqsistopmsgflow BROKER_NAME -e EXECUTION_GROUP_NAME -m MESSAGE_FLOW_NAME
To start a Broker:
[CONFIGURATION_MANAGER_NAME, USER_NAME_SERVER or DATABASE_INSTANCE_MANAGER can be used in place of BROKER_NAME to stop the respective Component]
mqsistart BROKER_NAME
To start a Broker's EG:
mqsistart BROKER_NAME -e EXECUTION_GROUP_NAME
To start a Message Flow running on a Broker's EG:
mqsistartmsgflow BROKER_NAME -e EXECUTION_GROUP_NAME -m MESSAGE_FLOW_NAME
To set the DSN Name to a Broker which will be used by the flows deployed onto its' EGs:
mqsisetdbparms BROKER_NAME -n DSN_NAME -u USER_ID -p PASSWORD
To reset the DSN Name to a Broker which will be used by the flows deployed onto its' EGs:
mqsisetdbparms BROKER_NAME -n DSN_NAME - -u USER_ID -p PASSWORD
To remove the DSN Name to a Broker which was used by the flows deployed onto its' EGs:
mqsisetdbparms BROKER_NAME -n DSN_NAME -d
To list/display/export an ACL Entry:
mqsilistaclentry CONFIGURATION_MANAGER_NAME -n .configmgr_FILE_NAME -f FILE_TO_WHICH_THE_ACL_ENTRIES_ARE_EXPORTED
To create an ACL Entry:
mqsilistaclentry CONFIGURATION_MANAGER_NAME -n .configmgr_FILE_NAME -f FILE_FROM_WHICH_THE_ACL_ENTRIES_ARE_IMPORTED
To delete an ACL Entry:
mqsideleteaclentry CONFIGURATION_MANAGER_NAME -n .configmgr_FILE_NAME -f FILE_FROM_WHICH_THE_ACL_ENTRIES_ARE_IMPORTED
To create a Broker:
mqsicreatebroker BROKER_NAME -i USER_ID -a PASSWORD -q BROKER_QUEUE_MANAGER_NAME
To create a Configuration Manager:
mqsicreateconfigmgr CONFIGURATION_MANAGER_NAME -i USER_ID -a PASSWORD -q BROKER_QUEUE_MANAGER_NAME
To create a User Name Server: [Optional '-r' parameter can be added to set the Refresh Interval at the end of the command with a value in seconds. Default value is 60 seconds]
mqsicreateusernameserver -i USER_ID -a PASSWORD -q BROKER_QUEUE_MANAGER_NAME
To delete a Broker: [Optional '-q' parameter can be added to delete the associated Queue Manager along with the Broker]
[Optional '-w' parameter can be added to delete all the files related to the Broker under the work path mentioned by '-w's value]
mqsideletebroker BROKER_NAME
To delete a Configuration Manager: [Optional '-q' parameter can be added to delete the associated Queue Manager along with the Configuration Manager]
mqsideleteconfigmgr CONFIGURATION_MANAGER_NAME
To delete a User Name Server: [Optional '-q' parameter can be added to delete the associated Queue Manager along with the User Name Server]
[Optional '-w' parameter can be added to delete all the files related to the User Name Server under the work path mentioned by '-w's value]
mqsideleteusernameserver
To create a Configurable Service:
mqsicreateconfigurableservice BROKER_NAME -c CONFIGURABLE_SERVICE_NAME -o ObjectName -n PropertyName -v PropertyValue
To delete a Configurable Service:
mqsideleteconfigurableservice BROKER_NAME -c CONFIGURABLE_SERVICE_NAME -o ObjectName
To perform the Component Verification:
mqsicvp COMPONENT_NAME
[COMPONENT_NAME can be BROKER_NAME or CONFIGURATION_MANAGER_NAME]
Create Config Manager
mqsicreateconfigmgr
CM_NAME -i MQ_USER -a MQ_PASSWORD -q QM_NAME
Trun On and Off
Trace Node Output
mqsichangetrace –n [on
off]
Broker Command
queues
Request Queue
SYSTEM.BROKER.ADMIN.QUEUE
Reply or status queue.
SYSTEM.BROKER.ADMIN.REPLY
To Stop a flow send a
message like this to command input queue.
------------------------Start----------------
<broker
label="MB_5" uuid="fde5fa11-2101-0000-0080-ad643ef657b0"
version="1">
<executiongroup
uuid="94679f5c-2101-0000-0080-fcd728eb29b9">
<stop>
<messageflow
uuid="dd732563-2101-0000-0080-a2d1ba771093">
</stop>
</executiongroup>
</broker>
------------------------End------------------
Message CCID
1208 = utf-8
819 is a default Unix platform CCSID (819 = ISO-8859-1)
Constants
• MQCCSI_UNDEFINED
• MQCCSI_DEFAULT
• MQCCSI_Q_MGR
• MQCCSI_INHERIT
• MQCCSI_EMBEDDED
Encoding
• MQENC_NATIVE
MQ Output node once write the into Q the message property like New Msg ID (if set to be generated), Correlation ID would be written to Destination Data coming from out node.
WMB Flow testing.
A good WMB flow result testing tool. Good tool to do a broker flow regression testing. Easy to configure and use. MA0T tool here: http://www-01.ibm.com/support/docview.wss?uid=swg24007048
Tracing in WMB
Support pac to format and read the logs from WMB
http://www-01.ibm.com/support/docview.wss?rs=171&uid=swg24006480&loc=en_US&cs=utf-8&lang=en
Note: Should modify the bat file to
Message CCID
1208 = utf-8
819 is a default Unix platform CCSID (819 = ISO-8859-1)
Constants
• MQCCSI_UNDEFINED
• MQCCSI_DEFAULT
• MQCCSI_Q_MGR
• MQCCSI_INHERIT
• MQCCSI_EMBEDDED
Encoding
• MQENC_NATIVE
MQ Output node once write the into Q the message property like New Msg ID (if set to be generated), Correlation ID would be written to Destination Data coming from out node.
WMB Flow testing.
A good WMB flow result testing tool. Good tool to do a broker flow regression testing. Easy to configure and use. MA0T tool here: http://www-01.ibm.com/support/docview.wss?uid=swg24007048
Tracing in WMB
Support pac to format and read the logs from WMB
http://www-01.ibm.com/support/docview.wss?rs=171&uid=swg24006480&loc=en_US&cs=utf-8&lang=en
Note: Should modify the bat file to
1) Specify the log file
directory location
2)Delete the log files
once trace is read from WMB.
9.1) Service Trace: Service trace is used to get detailed information about your environment for use by your IBM Support Center.
Activate service traces only when you receive an error message that instructs you to start service trace, or when directed to do so by your IBM Support Center
Start: mqsichangetrace {BrokerName} -t -e {ExecutionGroup} -l {log level debug|normal|none} -r -c 50000
Stop: mqsichangetrace {BrokerName} -t -e {ExecutionGroup} -l none -r -c 50000
Delete old log files: mqsichangetrace {BrokerName} -t -e {ExecutionGroup} -r
Trace Level Report: mqsireporttrace {BrokerName} -e {ExecutionGroup} -t
User Trace: Use user trace for debugging your applications; you can trace brokers, execution groups, and deployed message flows. Start user trace facilities using the mqsichangetrace command or the WebSphere® Message Broker Explorer
Start: mqsichangetrace {BrokerName} -u -e {ExecutionGroup} -l {log level debug|normal|none} -r -c 50000
Stop: mqsichangetrace {BrokerName} -u -e {ExecutionGroup} -l none -r -c 50000
Delete old log files: mqsichangetrace {BrokerName} -u -e {ExecutionGroup} -r
Trace Level Report: mqsireporttrace {BrokerName} -e {ExecutionGroup} -u
Collecting message flow accounting and statistics data
Message flow accounting and statistics data is the information that can be collected by a broker to record performance and operating details of message flow execution. Message flow accounting and statistics data records dynamic information about the runtime behavior of a message flow. For example, it indicates how many messages are processed and how large those messages are, as well as processor usage and elapsed processing times.
Two types of performance data can be collected.
Snapshot Data: Snapshot data is collected for an interval of approximately 20 seconds. The exact length of the interval depends on system loading and the level of current broker activity. You cannot modify the length of time for which snapshot data is collected. At the end of this interval, the recorded statistics are written to the output destination and the interval is restarted.
9.1) Service Trace: Service trace is used to get detailed information about your environment for use by your IBM Support Center.
Activate service traces only when you receive an error message that instructs you to start service trace, or when directed to do so by your IBM Support Center
Start: mqsichangetrace {BrokerName} -t -e {ExecutionGroup} -l {log level debug|normal|none} -r -c 50000
Stop: mqsichangetrace {BrokerName} -t -e {ExecutionGroup} -l none -r -c 50000
Delete old log files: mqsichangetrace {BrokerName} -t -e {ExecutionGroup} -r
Trace Level Report: mqsireporttrace {BrokerName} -e {ExecutionGroup} -t
User Trace: Use user trace for debugging your applications; you can trace brokers, execution groups, and deployed message flows. Start user trace facilities using the mqsichangetrace command or the WebSphere® Message Broker Explorer
Start: mqsichangetrace {BrokerName} -u -e {ExecutionGroup} -l {log level debug|normal|none} -r -c 50000
Stop: mqsichangetrace {BrokerName} -u -e {ExecutionGroup} -l none -r -c 50000
Delete old log files: mqsichangetrace {BrokerName} -u -e {ExecutionGroup} -r
Trace Level Report: mqsireporttrace {BrokerName} -e {ExecutionGroup} -u
Collecting message flow accounting and statistics data
Message flow accounting and statistics data is the information that can be collected by a broker to record performance and operating details of message flow execution. Message flow accounting and statistics data records dynamic information about the runtime behavior of a message flow. For example, it indicates how many messages are processed and how large those messages are, as well as processor usage and elapsed processing times.
Two types of performance data can be collected.
Snapshot Data: Snapshot data is collected for an interval of approximately 20 seconds. The exact length of the interval depends on system loading and the level of current broker activity. You cannot modify the length of time for which snapshot data is collected. At the end of this interval, the recorded statistics are written to the output destination and the interval is restarted.
Archive
Data: Archive data is collected for an interval that you have set for the
broker on the mqsicreatebroker or mqsichangebroker command. You can specify an
interval of between 10 and 14400 minutes, the default value is 60 minutes. At
the end of this interval, the recorded statistics are written to the output
destination and the interval is restarted.
Commands
Start: mqsichangeflowstats {BrokerName} -s -e {ExecutionGp} -j -c active -n basic
Stop: mqsichangeflowstats {BrokerName} -s -g -j -c inactive
Report Settings: mqsireportflowstats {BrokerName} -s -g -j
Delete Archive Reports: mqsichangeflowstats {BrokerName} -a -g -j -r
The trace reading support pac can be used to read the statistic in case usertrace option is used.
Sender / Receiver channel setup:
Sender MQSC Scripts
DEFINE QLOCAL(QM2) DESCR('Transmission queue to QM2') REPLACE +
USAGE(XMITQ) PUT(ENABLED) GET(ENABLED) TRIGGER TRIGTYPE(FIRST) +
TRIGDATA(QM1.TO.QM2) INITQ(SYSTEM.CHANNEL.INITQ)
DEFINE CHANNEL(QM1.TO.QM2) CHLTYPE(SDR) TRPTYPE(TCP) +
REPLACE DESCR('Sender channel to QM2') XMITQ(QM2) +
CONNAME('localhost(2414)')
Receiver MQSC Scripts
DEFINE CHANNEL(QM1.TO.QM2) CHLTYPE(RCVR) TRPTYPE(TCP) +
REPLACE DESCR('Receiver channel from QM1')
Some problems
1) Sometime QMGR objects gets corrupted when you could not figure out the problem then. Delete Channels, restart QMGR and recreate Channels
2) One of the common problem is different CCSID of sender and receiver QMs. This is more likely to be a problem when msg from sender CCSID cannot be converted to receiver CCSID by default MQ data conversion. e.g. from 819 to 1399. In case one of QM CCSID needs to be changed.
Some Scripts
1) ALTER CHANNEL(Channel Name) CHLTYPE(SDR) CONVERT(YES)
2) STOP CHL(Channel Name) MODE(FORCE)
3) DIS CHS(Channel Name) STATUS -- Status should be STATUS(STOPPED) not stopping..
4) Start CHL(Channel Name)
Commands
Start: mqsichangeflowstats {BrokerName} -s -e {ExecutionGp} -j -c active -n basic
Stop: mqsichangeflowstats {BrokerName} -s -g -j -c inactive
Report Settings: mqsireportflowstats {BrokerName} -s -g -j
Delete Archive Reports: mqsichangeflowstats {BrokerName} -a -g -j -r
The trace reading support pac can be used to read the statistic in case usertrace option is used.
Sender / Receiver channel setup:
Sender MQSC Scripts
DEFINE QLOCAL(QM2) DESCR('Transmission queue to QM2') REPLACE +
USAGE(XMITQ) PUT(ENABLED) GET(ENABLED) TRIGGER TRIGTYPE(FIRST) +
TRIGDATA(QM1.TO.QM2) INITQ(SYSTEM.CHANNEL.INITQ)
DEFINE CHANNEL(QM1.TO.QM2) CHLTYPE(SDR) TRPTYPE(TCP) +
REPLACE DESCR('Sender channel to QM2') XMITQ(QM2) +
CONNAME('localhost(2414)')
Receiver MQSC Scripts
DEFINE CHANNEL(QM1.TO.QM2) CHLTYPE(RCVR) TRPTYPE(TCP) +
REPLACE DESCR('Receiver channel from QM1')
Some problems
1) Sometime QMGR objects gets corrupted when you could not figure out the problem then. Delete Channels, restart QMGR and recreate Channels
2) One of the common problem is different CCSID of sender and receiver QMs. This is more likely to be a problem when msg from sender CCSID cannot be converted to receiver CCSID by default MQ data conversion. e.g. from 819 to 1399. In case one of QM CCSID needs to be changed.
Some Scripts
1) ALTER CHANNEL(Channel Name) CHLTYPE(SDR) CONVERT(YES)
2) STOP CHL(Channel Name) MODE(FORCE)
3) DIS CHS(Channel Name) STATUS -- Status should be STATUS(STOPPED) not stopping..
4) Start CHL(Channel Name)
No comments:
Post a Comment