If you do not need to use WebSphere® MQ functionality in an application
server you can disable it by using either the administrative console
or an administrative command. You can also disable WebSphere MQ functionality in a client
process by specifying a custom property.
About this task
When a WebSphere Application Server process or an
application client process starts, and while this process is running,
an amount of processing is performed to allow it to support WebSphere MQ-related functionality
such as the WebSphere MQ
messaging provider. By default this processing is performed regardless
of whether any WebSphere MQ-related
functionality is ever used. If you do not need to take advantage of
any WebSphere MQ functionality,
it is possible to disable all WebSphere MQ
functionality in an application server or client process to give increased
performance.
Disabling
WebSphere MQ functionality
in a
WebSphere Application Server process
has the following effects:
- No WebSphere MQ messaging provider
functionality is available on that particular server:
- Any defined WebSphere MQ messaging
provider resources are not bound into JNDI, and so are unavailable
to look up from inside the affected application server process, from
other application server processes or application clients.
- It
is still possible to define WebSphere MQ messaging
provider resources.
However the test connection button on either
the create connection factory or create activation specification wizard,
depending on the scope at which WebSphere MQ has
been disabled, does not work.
- Any message driven beans that
use message listener ports configured
with WebSphere MQ messaging provider
resources do not start.
- Any message driven beans that use WebSphere MQ messaging provider activation
specifications do not start.
- It is not possible to recover
any indoubt XA transactions involving WebSphere MQ messaging provider resources.
- Any attempt to look up a WebSphere MQ messaging
provider resource from a remote server that does not have WebSphere MQ functionality disabled fails.
- It is not possible to use the WebSphere MQ queue
connection properties function.
- No WebSphere MQ link functionality
is available on that particular server:
- It is not possible
to stop or start any WebSphere MQ links.
- It is not possible to stop or start any WebSphere MQ receiver channels.
- It
is not possible to stop, start, or reset any WebSphere MQ sender channels.
- It
is not possible to send messages to a WebSphere MQ queue manager. Any messages
that are sent to a foreign bus based on a WebSphere MQ link remain on the transmission
item stream for that WebSphere MQ link.
- It is not possible to receive messages from a WebSphere MQ queue manager.
- The
inbound channel chains used by the WebSphere MQ link do not start.
- It
is not possible to resolve indoubt sender channels.
- Attempts
to use the Test connection functionality
of the foreign bus connection that uses the WebSphere MQ link fail.
- It is
not possible to fully delete a WebSphere MQ link,
as any stored state
about indoubt messages cannot be processed.
- No WebSphere MQ server functionality
is available on that particular server:
- It is not possible
to send messages to WebSphere MQ.
- It is not possible to receive messages from WebSphere MQ.
- The Test
connection button does not work.
- No WebSphere MQ client link functionality
works:
- It is not possible to stop or start any WebSphere MQ client links.
- It
is not possible to send messages using a WebSphere MQ client link.
- It
is not possible to receive messages using a WebSphere MQ client link.
- The
inbound channel chains used by the WebSphere MQ link do not start.
- WebSphere MQ resource adapters
do not start.
- WebSphere MQ Base Java functionality is unavailable.
- Any attempt to use any classes provided by WebSphere MQ fails.
Disabling
WebSphere MQ functionality
in a
WebSphere Application Server client
process
has the following effects:
- Any attempt to look up a WebSphere MQ messaging
provider resource from a remote server that does not have WebSphere MQ functionality disabled fails.
- WebSphere MQ Base Java functionality is not available.
- Any
attempt to make use of any classes provided by WebSphere MQ fails.
Procedure
- To disable WebSphere MQ functionality
in a WebSphere Application Server process,
complete one of the following steps:
- Using the
administrative console, select the Disable
WebSphere MQ check box on the required WebSphere MQ messaging provider panel.
- Use the manageWMQ administrative command
with the disableWMQ flag.
In a single
server environment, you can only disable WebSphere MQ at the server scope. When
you have saved your changes and restarted the application server,
all WebSphere MQ functionality is
disabled on that server.
In a network deployment environment,
you can disable
WebSphere MQ at all
scopes in order to give fine grained configuration flexibility:
- At the cell scope, all WebSphere MQ functionality
is disabled on all application servers in the cell.
- At the
node scope, all WebSphere MQ functionality
is disabled on all application servers that are part of that node.
- At the cluster scope, all WebSphere MQ functionality
is disabled on all application servers in that cluster.
- At
the server scope, all WebSphere MQ functionality
is disabled in that particular application server.
The value
of the
Disable WebSphere MQ check
box at a higher scope takes precedence over the value at a lower scope.
For example, if you do not select the check box at the server scope
but do select it for a higher (for example, cell) scoped
WebSphere MQ messaging provider, the
value at the cell scope takes precedence and
WebSphere MQ functionality is therefore
disabled in all application servers in the cell, regardless of whether
the check box is selected at the server scope. The changes take effect
when you have saved them and restarted all affected processes in the
cell.
- To disable WebSphere MQ functionality
in a WebSphere Application Server client
process, specify the custom property com.ibm.ejs.jms.disableWMQSupport=true.
Example
Consider the following example:
A network deployment configuration
with two nodes: node1 and node2. Node1 has two servers on it, server1
and server2. Node2 has a single server on it, server3. Server3 and
server1 are part of a cluster, cluster1. The WebSphere MQ messaging provider panel
at cluster1 scope has the WebSphere MQ disabled check
box selected and the changes saved. When cluster1 has been restarted,
all WebSphere MQ functionality is
disabled on server3 and server1.
It is worth noting that it
is possible to have WebSphere MQ functionality
disabled on all processes in a network deployment configuration without
all scopes having WebSphere MQ functionality
disabled. Using the scenario in the previous example, if all nodes
in the topology (deployment manager node, node1 and node2) have WebSphere MQ functionality disabled,
then all the processes in the topology also have WebSphere MQ functionality disabled.
What to do next
When the server starts, it is possible
to detect whether
WebSphere MQ functionality
has been disabled
on that server because messages with the following ids are output:
- WMSG2016I is output when the server starts
if WebSphere MQ has been disabled.
- CWSIC3650I is output once for any configured WebSphere MQ links that are running on
the server.
- CWSIC3713I is output once for any
configured WebSphere MQ client links
that are running
on the server.