WebSphere MQ v7.0 Open Beta announced.
If you are interested in a sneak preview of WebSphere MQ v7.0, here is your chance to get it. The WebSphere MQ v7.0 Open Beta program has been announced. To read more about WebSphere MQ v7.0 and participate in the Open Beta program, please visit this link
You can also download presentations, lab exercises and a draft RedBook at the above link.
There is also a WebSphere MQ V7.0 Open Beta Forum to ask questions, report bugs and just keep track on whats going on. Go ahead and enrol yourself - both to the Open Beta and Open Beta forum
( Apr 04 2008, 12:37:38 AM EDT ) Permalink Comments [1]IBM WebSphere MQ v7.0 announced
A new version of IBM WebSphere MQ has been announced. The obvious questions - what is new ? When will it be available ? Other questions that might need answering - what are my hardware and software requirements ?
Find answers to these and other questions here
Meanwhile, keep watching this space for more on WebSphere MQ v7.0
( Apr 02 2008, 10:10:24 PM EDT ) Permalink Comments [0]Micro broker bundles in Lotus Expeditor 6.1.2
In the Lotus Expeditor 6.1.2 release the micro broker bundles have been simplified. Now admin bundles are clearly separated out and the micro broker core bundle (com.ibm.micro) is not needed at all if you are doing remote administration.Another significant change is the removal of the bridge specific bundles. The bundles com.ibm.micro.bridge.mq.jms and com.ibm.micro.bridge.jndi.jms are merged into the core bundle (com.ibm.micro)
Also getting started bundle which can bring up a broker is now available as an optional bundle. If you are installing a expeditor client you can find in the directory "desktop\updates\platform\"
Now the bundle com.ibm.micro will be lazy started. This webpage on life cycle explains more in these lines.
If you are using the Lotus Expeditor client for desktop on windows you'll find config.ini file present in "C:\Documents and Settings\Administrator\Application Data\Lotus\XPD\.config". Just add this entry to "osgi.bundles" property:
../../rcp/eclipse/plugins/com.ibm.micro@start-level:start,
where start-level specifies the level at which the bundle will be started. All the bundles at the same start-level, will be installed and started if specified (:start at the end) simultaneously. If the start-level is not specified then it defaults to the value of osgi.bundles.defaultStartLevel.
The next time you start the expeditor client use -clean argument. For example: "C:\Program Files\IBM\Lotus\Expeditor rcp\rcplauncher.exe" -console -clean. You'll see the com.ibm.micro bundle in ACTIVE state.
From,
Neeraj Krishna, Vedika Joshi and Vijay
( Mar 24 2008, 11:46:46 PM EDT )
Permalink
Comments [0]
Lotus expeditor 6.1.2 introduces enhancements to micro broker
Lotus expeditor 6.1.2 is just released. A trial version of the toolkit can be downloaded from the developer works, click hereFor features and benefits refer to the product website
It can be downloaded from the Lotus expeditor support site
The micro broker component has some significant enhancements:
- Buffered JMS clients - This allows micro broker JMS client applications to operate regardless of whether or not they are currently connected to a micro broker.
- Simplified bundle structure
Regards,
Neeraj Krishna and Vijay
( Mar 14 2008, 12:06:30 AM EDT )
Permalink
Comments [0]
WMQ v6.0.2.3 for iSeries is now available
Hi All,
WMQ v6.0.2.3 for iSeries is now available.
The Group PTFs have been updated and the download is available through Fix Central.
Please see the "Recommended Fixes for WebSphere MQ website -> http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037#1 for more information.
( Mar 12 2008, 12:53:53 AM EDT ) Permalink Comments [0]WMQ v5.3 FP14 is now available for iSeries
Hi All,
WMQ v5.3 FP14 is now available for iSeries.
The Group PTFs have been updated and all relevant webpages have been published. The download is available through Fix Central.
Please see the "Recommended Fixes for Websphere MQ website -> http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037#2 for more information. This is the last planned Fix Pack for WMQ v5.3.
( Feb 28 2008, 11:23:48 PM EST ) Permalink Comments [0]MA0Y: IBM WebSphere MQ Bridge for HTTP - v1.1
HTTP interface for WebSphere MQ (WMQ) is a new feature that allows client applications to connect to a queue manager using the HTTP protocol. The first version of this support pac was released in June 2007.
We are now excited to announce the release of version 1.1 of WebSphere MQ Bridge for HTTP. Please visit http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg24016142&loc=en_US&cs=utf-8&lang=en for more information.
What is new in this release:
Mithun V Katti
IBM India Software Labs
Messaging Service Client for C/C++
A new version of Message Service Client for C/C++ (XMS for C/C++) is released. Have a look at the announcement page here.
I am always open to new technology and offerings. With windows 64 operating system making its presence in the desktop arena, there is scope for lot of opportunities. XMS being a worthy alternative to JMS in non-Java world, it is quite natural to expect XMS on windows 64. Yes, a new version of XMS for C/C++ (Message Service Client for C/C++) is now available.
What's new in Version 1.2.7 ?
# Support for windows 64 bit platform# Support for WebSphere Enterprise Service Bus v6.1 & WebSphere Process Server v6.1
Keep pace with technology !!!
Harsha
Harsha[DOT]mp[AT]in[DOT]ibm[DOT]com
Filtering out the messages in the micro broker bridge
Message filtering is a pretty popular concept and when seen from a pervasive messaging perspective it can be to filter out all the unwanted messages entering the enterprise servers (like MQ). Message can is filtered based on lots of parameters. One may wish to filter the messages based on content or some property in the header, etc.Here's a small trick to achieve message filtering in micro broker bridge. Here we filter out messages based on the topic at which the message arrives. For example if there are messages arriving at the topic "in/unwantedtopic" let's filter that out and allow messages on other topics like "in/topic", etc to pass through.
1. Create a micro broker and create a pipe to MQ
Bridge bridge = broker.getBridge();
MQJMSConnectionDefinition mqjmsconn = bridge.createMQJMSConnectionDefinition("MQConn");
mqjmsconn.setPort(1414);
mqjmsconn.setHost("MQHOSTNAME");
2. Create a out bound flow with source in/#.
FlowDefinition outFlow = bridge.createFlowDefinition("OutFlow");
outFlow.setSources(new TopicDefinition[]{bridge.createTopicDefinition("in/#")});
outFlow.setTarget(bridge.createTopicDefinition("out/topic"));
3. Now let's filter out all the messages that are published under "in/unwantedTopic" and let others pass through. For this we need to create a transformation. Here's the example:
public class MessageFilterFactory extends AbstractTransformationFactory{
public Transformation getTransformation() {
return new MessageFilter();
}
public String getName() {
return MessageFilter.class.getName();
}
}
class MessageFilter extends Transformation {
public BridgeMessage doTransformation(BridgeMessage input) throws BridgeException {
BridgeDestination sourceDest = input.getSource();
String sourceTopicName = sourceDest.getName();
if(sourceTopicName.equals("in/unwantedTopic")) {
return null;
}
else {
return input;
}
}
public void initialise() throws BridgeException {
//Do nothing
}
}
4. Now set the transformation created above to the flow
MessageFilterFactory mtf = new MessageFilterFactory();
TransformationRegistry.INSTANCE.registerTransformationFactory(mtf);
TransformationDefinition td = bridge.createTransformationDefinition("myTD");;
td.setClassName("test.jndibridge.MessageFilter");
TransformationDefinitionList tdl = bridge.createTransformationDefinitionList();
tdl.addTransformation(td);
outFlow.setTransformations(tdl);
Connect the micro broker client and you'll see the messages getting filtered. Refer to the information center for a detailed description: http://publib.boulder.ibm.com/infocenter/ledoc/v6r11/topic/com.ibm.rcp.tools.doc.microbroker/ovr11660.html
From: Neeraj Krishna & Vijay ( Jan 28 2008, 12:02:25 AM EST ) Permalink Comments [2]
Registering the transformations in micro broker bridge
Transformations can be either be a part of the project that configures the bridge or in a different client services project. If written in a different project the transformation package has to be exported in the manifest file so that the micro broker bridge can access that. In any case transformation factory needs to be transformation registry. When the pipe starts and a transformation is set on any one of the flows or the pipe itself, it queries the transformation registry and checks if the transformation factory is registered. When the broker automatically starts often you will see the log message:2621=Pipe
Here are small tricks to avoid it:
When the broker factory service is registered, the transformation factory needs to be registered with the Transformation registry. This can't be done remotely using remote administration.
Here is an example:
HelloTransFact mtf = new HelloTransFact();
TransformationRegistry.INSTANCE.registerTransformationFactory(mtf);
Once this is the done the pipe will be able to connect to the remote end. Its works well when done soon after the broker factory service get registered.
Here is pseudo code for broker start up:
addingService(reference) {
brokerFactoryService = (BrokerFactory)bundleContext.getService(reference);
if (!brokerFactoryService.exists(brokerName)) {
Create and start a new broker
}
else {
Broker already exists
HelloTransFact mtf = new HelloTransFact();
TransformationRegistry.INSTANCE.registerTransformationFactory(mtf);
}
}
In the above method you will observe that the broker will be waiting for the transformation to be available after printing 2621 log message. The pipe starts only when the transformation is registered. To avoid the log message, you can use setAutoStartEnabled(false) on the broker definition. This implies that only the broker factory service get registered and the broker will not start. Hence you can register the transformation and then manually start the broker.
Here is the pseudo code for this:
addingService(reference) {
brokerFactoryService = (BrokerFactory)bundleContext.getService(reference);
if (!brokerFactoryService.exists(brokerName)) {
Create the broker definition
brokerDef.setAutoStartEnabled(false);
Register the transformation
TransformationRegistry.INSTANCE.registerTransformationFactory(mtf);
LocalBroker lb = brokerFactoryService.getByName(brokerName);
Start the broker
}
else {
Broker already exists
HelloTransFact mtf = new HelloTransFact();
TransformationRegistry.INSTANCE.registerTransformationFactory(mtf);
LocalBroker lb = brokerFactoryService.getByName(brokerName);
lb.start();
}
}
More details on transformations is available in the updated information center page .
From Neeraj Krishna and Vijay ( Jan 27 2008, 11:45:00 PM EST ) Permalink Comments [2]
Micro broker Information center
Here's the micro broker information center (documentation) . It has only micro broker information and excludes Lotus expeditor info. It gives you the javadoc for MQTT, micro broker administration and transformation. The complete Lotus Expeditor information center can be accessed over the web here.From: Neeraj Krishna & Vijay ( Jan 21 2008, 03:04:31 AM EST ) Permalink Comments [0]
Links to developer works resources on IBM messaging products
Here are the links for forums, community spaces and feature pages:For links to new releases, articles, and many interesting things in the IBM messaging space visit: Messaging community space
WebSphere MQ
WebSphere Message BrokerLotus Expeditor Micro broker
WebSphere MQ everyplace
( Jan 08 2008, 12:26:05 AM EST ) Permalink Comments [0]
Simplest micro broker JMS client
If you want to quickly get started with writing a micro broker JMS client and connecting to a micro broker, here's how you do it.JmsFactoryFactory is your entry point into the JMS implementation classes. You need to add com.ibm.msg.client.jms and com.ibm.msg.client.mqtt as imports along with javax.jms in the manifest.
Get started with creating a connection factory like this
JmsFactoryFactory jmsFactory = JmsFactoryFactory
.getInstance(MQTTConstants.PROVIDER_NAME);
JMS 1.1 simplifies messaging with unified domains and hence you just need to create a connection factory and use it for both topics and queues
ConnectionFactory connFactory = jmsFactory.createConnectionFactory();
Now set the URI telling the factory how to connect to the server
((JmsConnectionFactory) connFactory).setStringProperty(
MQTTConstants.MQTT_CONNECTION_URL,
MQTTConstants.MQTT_TCP_SCHEMA + "127.0.0.1:1883");
From here you can go ahead creating a connection (don't forget to set the clientID as this is unique for each client) and a session and the other JMS objects as required.... Full example is given in this article in listing 2.
Regards,
Neeraj Krishna & Vijay
( Jan 08 2008, 12:03:49 AM EST )
Permalink
Comments [0]
Micro broker logs
If you are working on Lotus Expeditor, you would have probably figured out how to see INFO level logs for particular bundle. For micro broker also you can increase the logging levels the same way Here are 6 simple commands that can be used in the XPD console for you to see all the micro broker logs at INFO level.setlogrlev com.ibm.micro INFO
setlogrlev com.ibm.micro.bridge.jndi.jms INFO
setlogrlev com.ibm.micro.bridge.mq.jms INFO
setlogrlev com.ibm.mqttclient INFO
setlogrlev com.ibm.micro.utils INFO
setlogrlev com.ibm.mqttclient.jms INFO
There are other ways of setting the logging levels. Its documented here
Regards,
Neeraj Krishna and Vijay
( Jan 07 2008, 10:45:02 PM EST )
Permalink
Comments [0]
Micro broker bundles
If you see Lotus Expeditor installation, you'll see many bundles, Here your guide to identifying the micro broker related bundles.- com.ibm.micro.bridge.mq.jms_XXX.jar or package com.ibm.micro.bridge.mq.jms contains the classes that you need for connecting to WebSphere MQ using MQJMSConnectionDefinition from the micro broker bridge
- com.ibm.micro.bridge.jndi.jms_XXX.jar or package com.ibm.micro.bridge.jndi.jms contains the classes required for the miro broker bridge to connect to a JNDI enabled JMS provider using JNDIConnectionDefinition.
- com.ibm.micro.gettingstarted_XXX.jar contains sample broker. If deployed and started, it runs a broker at port 1883
- com.ibm.micro_XXX.jar This contains all the micro broker core classes
- com.ibm.micro.utils_XXX.jar This contains all the utility classes that are needed by the core micro broker
- com.ibm.mqttclient.jms_XXXX.jar This contains all the classes that are needed for a micro broker JMS client
- com.ibm.mqttclient_XXX.jar This contains the classes needed fot a normal MQTT java client
- Bundles ending with nl1, nl2, nl3 are fragments that are needed for NLS support.
If your deploying on a device, you can install only the required jars in the device environment. For example, com.ibm.mqttclient_XXX.jar is enough if you are running a MQTT client only, if you are running a micro broker with a MQTT bridge only the core bundles com.ibm.micro_XXX.jar and com.ibm.micro.utils_XXX.jar are sufficient.
Regards,
Neeraj Krishna and Vijay
( Jan 06 2008, 09:15:46 AM EST )
Permalink
Comments [0]




