Friday, November 11, 2011

Settings up Message Broker Command environment

Run mqsiprofile script

Running Commands:
Commands must be lower case
Component names case sensitive
Start/Stop/Delete Broker:
Start: mqsistart BrokerName
Stop: mqsistop BrokerName

–q after name stops associated queue manager
–i after name stops immediately
Delete: mqsideletebroker BrokerName [options]
Note: Broker must be stopped before it can be deleted
Start/Stop/Delete Configuration Manager:
Start: mqsistart ConfigMgrName
Stop: mqsistop ConfigMgrName
–q after name stops associated queue manager
Delete: mqsideleteconfigmgr [ConfigMgrName] [options]
–n flag to delete configuration repository
-w flag deletes all files in the configuration manager’s work path
Start/Stop/Delete UserNameServer:
Start: mqsistart UserNameServer
Stop: mqsistop UserNameServer
–q after name stops associated queue manager
Delete: mqsideleteusernameserver [options]
–q after name deletes associated queue manager
–w after name deletes all files in the work path associated with the User Name Server
Specifying Username and password:
You can specify the following flags along with the commands
–i userid
–a password
If you leave, -a flag black; it will prompt you for password.
Changing Broker
mqsichangebroker BrokerName [options]
-s — User Name Server queue manager name
-j — Enable publish/subscribe for the broker
-d — Disable publish/subscribe for the broker
-t — Run the broker as a trusted MQ application
-n — Stop running the broker as a trusted MQ application
-g — Configuration timeout — maximum time for response from an execution group
-k — Configuration delay timeout — maximum time for response from a broker
Changing Configuration Manager
mqsichangeconfigmgr [ConfigMgrName] [options]
-s — User Name Server queue manager name
-j — Maximum Java virtual machine heap size in megabytes. The default is 128.
Changing User name server
mqsichangeusernameserver [options]
-r — Refresh interval being the amount of time before the User Name Server interrogates
the security subsystem for changes to users or groups
-g — The name of the authentication data source
-j — Indicates use of a data source containing users and group information instead of
using the operating system
-o — Indicates use of the operating system users and group information
Note: before executing above change commands, the respective component must be stopped.
Execution Groups:
Create: mqsicreatexecutiongroup [options]
Delete: mqsideleteexecutiongroup [options]
-i host
-p port number of the Configuration Manager-q Config Manager QM
-q queue manager of Configuration Manager
-b Broker name
–e Execution group name
-w timeout
- v tracefile name
Start: mqsistartmsgflow [options]
Stop: mqsistopmsgflow[options]
-i host
-p port number of the Configuration Manager-q Config Manager QM
-q queue manager of Configuration Manager
-b Broker name
–e Execution group name
-m specific flow within the execution group
-w timeout
- v tracefile name
Report message flow statistics: mqsireportflowstats broker_name [options]
-e ExecutionGroupName
-f MessageFlow
-a Specify that the command modifies archive accounting and statistics collection.
-s Specify that the command modifies snapshot accounting and statistics collection.
-g Specifies that the command applies to all execution groups that belong to the broker.
-j Specifies that the command applies to all message flows that belong to the execution group.
Change message flow statistics: mqsichangeflowstats [options]
-e ExecutionGroupName
-f MessageFlow
-a Specify that the command modifies archive accounting and statistics collection.
-s Specify that the command modifies snapshot accounting and statistics collection.
-g Specifies that the command applies to all execution groups that belong to the broker.
-j Specifies that the command applies to all message flows that belong to the execution group.
-o OutputFormat; usertrace/xml
Deploy:
mqsideploy [options]
-p port number of the Configuration Manager
-q queue manager of Configuration Manager
-b Broker
-e Execution Group
-a BAR file
-w Timeout
Listing resources
mqsilist [options]
- a List all the components
- brokerName The name of the broker for which you want to list resources
- e egName selects an execution group within a broker
Security Commands
Create ACL: mqsicreateaclentry ConfigmgrName [options]
List ACL entries: mqsilistaclentries [options]
Delete ACL entries: mqsideleteaclentries [options]
-g GroupName The local group to which this entry refers
-u UserName The user name to which this entry refers
-m MachineName The name of the machine from which a specified user can connect.
-a The specified user name can be on any machine.
-x AccessLevel
F: Full control
D: Deploy
E: Edit
V: View
-b Broker
-e ExeGroup, You must specify the b flag if you specify this flag.
-s Subscription The object is a subscription object, and its name is specified as a parameter.
-r The object refers to the root topic.
-t The object refers to the main topology.
-p The object refers to the “allresources” resource type
Backup/Restore Commands
Backup: mqsibackupconfigmgr ConfigMgrName –d DirPath [options]
Restore: mqsirestoreconfigmgr ConfigMgrName –d DirPath –a ArchiveName [options]
-w WorkPath Specifies the path for the Configuration Manager repository
Problem Determination
Trace
Report Trace: mqsireporttrace [options]
Change Trace: mqsichangetrace [options]
-componentName The name of a broker, a Configuration Manager, or the fixed name User Name Server;
-e egName The label of the execution group for which a report is required. This option is valid only if you have specified a broker as the component.
-f messageFlow The label of the message flow for which a report is required. This option is valid only if you have specified a broker as the component, and an execution group.
-u Derive report information from the user trace.
-t Derive report information from the service trace.
-b Request a report for agent function.
-n Report the setting of the Trace node switch.
Read Trace: mqsireadlog BrkName [options] –o Output_file
-e Egroup
-o Outputfilename
-f Read the log file directly from the file system
-u Read the log contents from the user trace log.
-t Read the log contents from the service trace log.
Format Trace: mqsiformatlog –i input_file -o Output_file
Publish/subscribe commands
Add, remove, and list MQ publish/subscribe broker network
Add: mqsijoinmqpubsub Broker_name [options]
-p ParentQueueManagerName, The name of the queue manager that hosts the WebSphere MQ Publish/Subscribe broker to which this WebSphere Message Broker broker is to be joined
Remove: mqsiclearmqpubsub Broker_name [options]
-n NeighborQueueManagerName, The name of the queue manager that hosts the WebSphere MQ Publish/Subscribe broker for which the association as a neighbor is being removed.
List: mqsilistmqpubsub Broker_name
Database commands
CreateDB:
(windows) mqsicreatedb DBName [options]
-i ServiceUserID, The user ID under which the DatabaseInstanceMgr service runs
-a ServicePassword, The password for the ServiceUserID
-p PortNumber, The TCP/IP port number that this component will use on the local machine
-e DbType
-u DbUserID, An additional user name that requires access to the database that is created by this command.
(unix/Linux) mqsi_setupdatabase [options]
-Database_Home_Directory, The name of the directory in which the database is (or will be) installed
Change user ID andpassword information
mqsisetdbparms BrokerName [options]
-n ResourceName or AdapterName
-u UserId or EISUserId
-p Password
-d This parameter deletes the user ID and password pair for this resource from the registry.
-a Specify this parameter to process the mqsisetdbparms command when the broker itself is running.

How to Schedule a Java Application from Windows Task Scheduler

If you want a Java application to run daily, hourly or on some other frequency and the server is Windows, this entry provides a step-by-step method for configuring such a system.  Below are the basic steps in brief:

1. write java class or obtain classes to use
2. move class or classes to root location:  java_home\bin (where java.exe is found)
3. put your classes in the file path descending from bin, as usual (i.e. com.utilities.mycompany)
4. put .properties file (if any) in bin directory (java_home\bin )
5. create a batch file on desktop or anywhere.  Inside batch file place your java class invocation
6. point to batch file in Windows Scheduler.
7. Configure Windows Scheduler to run on some schedule.

Details of Process (uses same sequence as above):
1. write java class or obtain classes to use. Can also use jar files, of course.
2. move class or classes to root location:  java_home\bin (where java.exe is found). If you don't have java_home environment variable set search for java.exe and use the JRE/JDK folder that matches the version of Java JVM you're using. It's often found in c:\program files\java...
3. put your classes in the file path descending from bin, as usual (i.e. com.utilities.mycompany).  See image below: 
 


4. put .properties file (if any) in bin directory (java_home\bin ). In this example: C:\Program Files\Java\jdk1.5.0_09\bin
5. create a batch file on desktop or anywhere.  Inside batch file place your java class invocation.  Here is a sample batch file. Of course, you can get as fancy and include as many features as you want. Check the Internet for details about how to write batch (.bat) files...this is an entire subject in itself:
echo Running Java Move File utility
echo %date% %time% Start of Running Java Move File utility> c:\test.log
cd C:\Program Files\Java\jdk1.5.0_09\bin
java -cp ".;" com.util.cmmc.CopyAndDelete 1>>c:\test.log 2>>&1
echo Batch file completed
Intrepretation of bat file (in parentheses)
echo Running Java Move File utility (just a comment)
echo %date% %time% Start of Running Java Move File utility> c:\test.log  (this line puts a timestamp and title into a file called test.log)
cd C:\Program Files\Java\jdk1.5.0_09\bin (this ensures you are in correct directory to launch java JVM)
java -cp ".;" com.util.cmmc.CopyAndDelete 1>>c:\test.log 2>>&1 (this is the key line that launches your app. In this case it's called CopyAndDelete. Classpath has no supporting classes besides default classes. Note that standard output statements are written to the same log file)
echo Batch file completed (just a comment)
6. point to batch file in Windows Scheduler. Open Windows Scheduler by Contol Panel | Scheduled Tasks (Windows 2003 Server Enterprise Ed.). Create a new task. Point to the .bat file you just created:
  
 


7. Configure Windows Scheduler to run on a schedule. Use Advanced settings if you need to further define scheduled run time.







Advanced settings allow repeating schedule and frequency not found in the basic settings:
 



Setup is now complete. You can do a sample run (independent of schedule) by right clicking on the Scheduled Task (at Explorer level - folder level) and clicking Run.
 
Note that there are many options for creating a .bat file, setting up scheduler, logging, etc. This blog entry shows how to do a basic, workable system from start-to-finish.  You can use this as a starting point and construct what you need from this example working system