Quite helpful
seen from United States
seen from China

seen from Türkiye
seen from Australia
seen from Türkiye
seen from Malaysia

seen from Romania
seen from China
seen from Malaysia
seen from United States
seen from China
seen from Japan
seen from United States
seen from France

seen from Malaysia
seen from Poland
seen from China

seen from United States

seen from India

seen from Malaysia
Quite helpful
The onInitialize() method
It is one of those methods of the MbJavaComputeNode class that can be overridden
It is called either during deployment (just before the deployment is committed) or on broker startup
If this method throws an exception, then either the deployment of the flow fails or the it fails to start
Perform those tasks that will always work in this method. Here is one example:
Since the user defined properties cannot be accessed in the constructor. To access these properties at initialization time, implement onInitialize and use this implementation to access the user defined properties
Note: The code that depends on an external resource that might not be there or becomes unavailable then it should not be executed inside an implementation of onInitialize() because the broker will not retry calls to this method unless the broker itself is restarted. If such requirements, like for example, initializing an external connection, need to handled then such steps can be taken during the first call to the evaluate() method. If an exception occurs during the initialization, then it can be thrown so that its handled like any other flow exception (and from then onwards the usual message exception handling algorithm/procedure kicks in)
References:
- http://pic.dhe.ibm.com/infocenter/wmbhelp/v8r0m0/index.jsp?topic=%2Fcom.ibm.etools.mft.doc%2Fac20805_.htm
- http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/index.jsp?topic=%2Fcom.ibm.etools.mft.doc%2Fac30220_.htm
- http://pic.dhe.ibm.com/infocenter/wmbhelp/v9r0m0/index.jsp?topic=%2Fcom.ibm.etools.mft.doc%2Fac30495_.htm
Installing IBM WebSphere Message Broker 8 (trial) on Ubuntu (12.4.01 Desktop)
Prerequisites:
Untar the following:
8.0.0-WS-MB-LINUXIA32-FP0000-TRIAL.tar.gz
8.0.0-WS-MBT-LINUXIA32-FP0000-TRIAL-D1.tar.gz
8.0.0-WS-MBT-LINUXIA32-FP0000-TRIAL-D2.tar.gz
8.0.0-WS-MBT-LINUXIA32-FP0000-TRIAL-D3.tar.gz
CZRW2ML.tar.gz
Note: to untar, open terminal and execute: $ tar xvf filename
The above should result in the extraction of these folders: messagebroker_ia_trial_runtime1, disk1, disk2, disk3, CZRW2ML
Install Alien:
What is alien: Alien is a utility that converts RPM packages to Debian packages or Alien can install RPM packages directly
Installation: Open terminal and execute: $ sudo apt-get install alien
Why Alien: Since Ubuntu is a Debian based OS and WMB installers are rpms (installer packages that are commonly used in Red Hat OS) therefore we need to find a way to make use of such rpms in Ubuntu, using alien is just one way of installing these Red Hat installer packages.
Alternative: We can also use the rpm utility for ubuntu. To install this utility, open terminal and execute: $ sudo apt-get install rpm sharutils
I personally used alien for the installation of WMB
User/ID Setup:
Create the required WebSphere embedded messaging support groups mqm and mqbrkrs
Open terminal and execute: $ sudo groupadd mqm
Open terminal and execute: $ sudo groupadd mqbrkrs
Create the user: mqm and add this user to the group: mqm
Open terminal and execute: $ sudo useradd -d /var/mqm/ -g mqm mqm
Note: -d: directory for the mqm user and -g: The group name or number of the user's initial login group. The group name must exist. A group number must refer to an already existing group. The default group number is 1
Create a Message Broker service id and add to group mqbrkrs and mqm
Open terminal and execute: $ sudo useradd -d /home/mbadmin -G mqbrkrs,mqm mbadmin
Note: -G: A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma, with no intervening whitespace. The groups are subject to the same restrictions as the group given with the -g option. The default is for the user to belong only to the initial group
Adding yourself to these groups: mqm, mqbrkrs:
Open terminal and execute: $ sudo usermod -a -G mqbrkrs,mqm <user id>
Open terminal and execute: $ sudo usermod -a -G mqbrkrs,mqm root
Open terminal and execute: $ sudo usermod -a -G mbadmin <user id>
Note: -a: Add the user to the supplemental group(s). Use only with -G option
Installing WebSphere Message Queue (WMQ):
WMQ is the underlying platform for WMB therefore it has to be installed first
Installation Steps:
Open terminal, navigate to CZRW2ML and execute: $ sudo ./mqlicense.sh
Most probably you will get the following exception as a result of the above's execution otherwise accept the agreement:
Exception in thread "main" java.lang.UnsatisfiedLinkError: fontmanager (libstdc++.so.5: cannot open shared object file: No such file or directory)
If you encounter this exception (which I did as well), execute the following:
On the terminal execute: $ less ./licenses/LA_en
Scroll down the agreement, till the end, then type :q
One more thing: Upon the successful execution of mqlicense.sh this file is created: /tmp/mq_license/license/status.dat which (in this exceptional situation) we need to create ourselves, to do so, open terminal and execute:
$ sudo mkdir -p /tmp/mq_license/license/
$ sudo touch /tmp/mq_license/license/status.dat
Install the following rpms:
MQSeriesRuntime-7.0.1-3.i386.rpm
MQSeriesServer-7.0.1-3.i386.rpm
MQSeriesSDK-7.0.1-3.i386.rpm
MQSeriesClient-7.0.1-3.i386.rpm
MQSeriesJava-7.0.1-3.i386.rpm
MQSeriesSamples-7.0.1-3.i386.rpm
gsk7bas-7.0-4.23.i386.rpm
MQSeriesKeyMan-7.0.1-3.i386.rpm
MQSeriesMan-7.0.1-3.i386.rpm
MQSeriesMsg_es-7.0.1-3.i386.rpm
MQSeriesJRE-7.0.1-3.i386.rpm
MQSeriesEclipseSDK33-7.0.1-3.i386.rpm
MQSeriesConfig-7.0.1-3.i386.rpm
Note: These packages can be installed by executing: $ sudo alien -i --script filename.rpm
Verifying the installation:
Open terminal and execute: sudo su – mqm
Create and start a test queue manager:
$ crtmqm TestQM
$ strmqm TestQM
Exit from mqm: $ exit
Launching the WebSphere MQ Explorer: $ sudo strmqcfg
You should see TestQM when the WMQ explorer runs
Installing WMB:
Open terminal and navigate to: messagebroker_ia_trial_runtime1
Execute: $ sudo ./setuplinuxia32.bin
A GUI installer is launched after the execution of this command [I took all the default options]
The above does not install MB Explorer application, that has to be manually installed by executing the following:
Navigate to: messagebroker_ia_trial_runtime1/MBExplorer
Execute: $ sudo ./install.bin
Toolkit installation:
Navigate to: disk1 (e.g. /tmp/disk1)
Execute: $ sudo ./installToolkit.sh
The above will launch the installation manager (for the record, again I took all the defaults)
During installation, the following steps are needed to be performed, if this exception is encountered on the Install Packages screen: The package IBM webSphere Message Broker Toolkit requires system library libstdc++.so.5 ir libstdc++.so.6. Make sure libstdc++.so.5 or libstdc++.so.6 is available in the system library path before installing this package.
Close the installation manager
Install libstdc++6 (if its not already installed). You can do so while using Synaptic Package Manager
After the above, open terminal and execute: $ sudo ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib
Execute: $ sudo ldconfig
For the verification of the successful application/execution of the above steps, execute: $ ldconfig -p | grep libstdc++
The above, should display this:
libstdc++.so.6 (libc6) => /usr/lib/i386-linux-gnu/libstdc++.so.6
libstdc++.so.6 (libc6) => /usr/lib/libstdc++.so.6
After the successful setup of libstdc++6.0, start over by launching the installation manager (navigate to /disk1 and execute: $ sudo ./installToolkit.sh)
Accept all the defaults (unless you think otherwise), keep on clicking Next and lastly Finish, the installation manager will then complete the installation
Verifying the installation of WMB:
Open Dash, check the installed apps, you'll find the icon of installed IBM WebSphere Message Broker Toolkit 8.0 (alternatively, you can also search for the very app in Dash)
Click on the icon to launch the toolkit, if the app starts successfully, then it should be treated as a proof of the successful installation
Close the Welcome screen
Click New in front of Application Development to start developing WMB artifacts/components
References:
- http://mqseries.net/phpBB/viewtopic.php?p=285778
- http://www.gefira.pl/blog/2010/07/03/websphere-mq-and-ubuntu-howto/
- http://www.gefira.pl/blog/2011/02/18/a-shortstory-of-a-failed-installation-websphere-message-broker-on-ubuntu/
- http://andypiper.co.uk/2011/09/12/websphere-mq-and-ubuntu-and-other-developer-resources/
Linking up source control with IBM WebSphere Message Broker Toolkit
Rational ClearCase
1- Click Window > Preferences to open the Preferences window.
2- Expand General in the left pane, and click Capabilities.
3- In the Capabilities pane, click Advanced. The Advanced window opens.
4- Expand Team, and ensure that ClearCase SCM Adapter is selected.
5- Click OK to close the Advanced window.
6- Click OK or Apply to apply your changes.
Concurrent Versions System (CVS)
1- Configure CVS by carrying out the following tasks:
Create a directory on your computer, for example, on Windows - c:\CVSRepository.
Start the CVSNT control panel. Select Start > Programs > CVSNT to see the icon on the desktop.
Stop both the CVS Service and the CVS Lock Service.
Select the Repositories tag, click Add and create a new repository. Note that no entry appears on the screen the first time that you do this.
Use the ... button on the next window to select the directory that you created in step 1.a and click OK. Note that when CVS has finished formatting its repository the backslash in the directory name is changed to a forward slash.
Select the Service Status tab and restart both the CVS Service and the CVS Lock Service.
2- Enable the CVS Revision tag to be populated in the Eclipse Version fields in the Message Broker Toolkit. To do this on Windows:
Select Window->Preferences
Expand the Team section and click CVS
Use the drop down in the Default keyword substitution: field and set the value to ASCII with keyword expansion(-kkv)
3- Add the WebSphere® Message Broker file types to the Eclipse CVS configuration. To do this:
Select File Content in the Team section of the window you opened in step 2
Click Add and add msgflow as an allowable file extension. Ensure that the value is set to ASCII.
Repeat the above procedure for the following file extensions that the broker uses: esql, mset, mxsd etc.
Click OK when you have finished.
Rational Team Concert
1- Start the WebSphere Message Broker Toolkit. 2- Open the Work Items perspective and click Window > Open Perspective > Other > Work Items. 3- Click the Create Repository Connection link in the Team Artifacts view. 4- Follow the dialog and enter the information given to you by your Jazz™ administrator. 5- To add your project to the repository, right-click the project and select Team > Share Project. 6- In the Share Project window, select Jazz Source Control as the repository type.
Source:
http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r1m0/index.jsp?topic=%2Fcom.ibm.etools.mft.doc%2Fac38010_.htm
http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r1m0/index.jsp?topic=%2Fcom.ibm.etools.mft.doc%2Fac26530_.htm
http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/index.jsp?topic=%2Fcom.ibm.etools.mft.doc%2Fbk52330_.htm
ESQ Variable Types:
External:
They are also known as "user defined" properties. These variables exist for the lifetime of a message flow and are visible to all the messages going through it. They can only be defined at the module or schema level. Their initial values can be changed (can be set using the declare statement in ESQL) at design time in the message flow editor or at the deployment time while using the BAR editor. It should be kept in mind that the BAR override takes precedence over message flow editor and that in turn takes precedence over ESQL The values of external variables can be queried or set at runtime with the usage of CMP API
Note: Such variables are declared in ESQL with External keyword
Normal:
Normal variables have a lifetime of just one message passing through a node and are accessible to that message only.
Shared:
Such variables help in implementing an in-memory cache inside the message flow. These variables have a long lifetime and are visible to multiple messages passing through the flow. They exist for the lifetime of the execution group process or the lifetime of flow/node or the lifetime of the node ESQL that declares such variables (whichever is the shortest). Shared variables are initialized when the first message passes through the flow after broker restart
Node: Its better to use the atomic option of BEGIN ... END construct which gives the statements defined within (between BEGIN and END keywords) the status of a single statement. This helps in preventing other instances seeing the intermediate state of the shared variables.
Source: http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/index.jsp?topic=%2Fcom.ibm.etools.mft.doc%2Fak01010_.htm
Understanding JMS message types and message domains inside WebSphere Message Broker v8
To create a message body from the JMS message payload, JMSInput has to determine the appropriate parser. The entity that leads JMSInput node to this decision is the JMS message type. This value is picked off by JMSInput node with the use of the JMS API. It has to be kept in mind that different JMS message types require different processing/parsing which the following can give some idea about:
- JMS None: Its treated as a BLOB - JMS BytestMessage/TextMessage: Added to the tree as a message bit stream for subsequent parsing by the use of XML, XMLNS, XMLNSC, BLOB, MRM, MIME and IDOC parsers - JMS ObjectMessage: its treated as BLOB - JMS MapMessage/StreamMessage: JMSInputNode reformats these types to XML