If you do not want to use the WebSphere ESB default
messaging feature for event transmission, you can configure asynchronous message
transport to use a different Java Messaging Service (JMS) provider.
Before you begin
Before you can configure event messaging using an external JMS provider,
you must first create a JMS queue and connection factory using the appropriate
interfaces for your JMS provider.
Why and when to perform this task
The
event-message.jacl script sets up the configuration
objects required for asynchronous event transmission using an external JMS
provider such as WebSphere MQ:
- If a scope is specified, then it creates a JMS transmission profile using
the JMS queue and connection factory you specify.
- It creates an emitter factory profile using the created JMS transmission
profile for asynchronous event transmission.
- It deploys the message-driven bean used by the Common Event Infrastructure
to receive events sent asynchronously to the event server, using either a
listener port or a JMS activation specification.
If you want to set up more than one JMS queue to the event server,
you can run this script multiple times, specifying different enterprise application
names and JMS queues. Each time you run the script, it deploys an additional
message-driven bean and configures new resources to use the specified JMS
queue.
To configure event messaging to use an external JMS provider:
Steps for this task
- Go to the $WAS_HOME/event/application directory for the profile
defining the WebSphere ESB runtime environment where you want to
configure default messaging. (Replace profile_path with
the path to the directory containing the WebSphere ESB profile.)
- Run the event-message.jacl script using the wsadmin command:
- Windows systems
%WAS_HOME%\bin\wsadmin -profile event-profile.jacl -f event-message.jacl
-action install -earfile event-message.ear -node node_name
[-server server_name] [cluster cluster_name]
-appname app_name -qjndi queue -qcfjndi connection_factory
[-listenerport listener_port] [-activationspecjndi spec_name]
[-eventprofilescope scope] [-trace]
- Linux and UNIX systems
$WAS_HOME/bin/wsadmin -profile event-profile.jacl -f event-message.jacl
-action install -earfile event-message.ear -node node_name
[-server server_name] [cluster cluster_name]
-appname app_name -qjndi queue -qcfjndi connection_factory
[-listenerport listener_port] [-activationspecjndi spec_name]
[-eventprofilescope scope] [-trace]
$WAS_HOME/bin/wsadmin -profile event-profile.jacl -f event-message.jacl
-action install -earfile event-message.ear -node node_name
[-server server_name] [cluster cluster_name]
-appname app_name -qjndi queue -qcfjndi connection_factory
[-listenerport listener_port] [-activationspecjndi spec_name]
[-eventprofilescope scope] [-trace]
The parameters of the
event-message.jacl script are
as follows:
- node_name
- The WebSphere ESB node in which the messaging application is
to be deployed. To determine the node name:
- Run the profile_path/bin/setupCmdLine script.
- Run the command echo $WAS_NODE (Linux/UNIX systems) or echo
%WAS_NODE% (Windows systems).
This value is case-sensitive. If you are deploying the application in
a cluster, omit this parameter.
- server_name
- The WebSphere server into which the messaging application is to be deployed.
This value is case-sensitive. If you are deploying the application in a cluster,
omit this parameter.
- cluster_name
- The WebSphere cluster into which you want to deploy the messaging application.
Specify this parameter only if you are configuring messaging in a cluster
and you are not specifying a node and server.
Note: If you are using a Cloudscape
event database, clustering is supported only for testing purposes (not in
a production environment).
- app_name
- The name to use for the messaging enterprise application. This parameter
is required.
- queue
- The JNDI name of the JMS queue to be used by the messaging enterprise
application. This queue is used for asynchronous message transport to the
event server. If you deploy the messaging application multiple times, you
must specify a different JMS queue each time.
- connection_factory
- The JNDI name of the JMS connection factory to be used by the messaging
enterprise application.
- listener_port
- The name of the listener port used by the messaging enterprise application.
The listener port is specified in the deployment descriptor. Specify this
parameter only if your messaging application uses a listener port.
- spec_name
- The JNDI name of the activation spec used by the messaging enterprise
application. The activation spec is specified in the deployment descriptor.
Specify this parameter only if your messaging application uses an application
spec.
- eventprofilescope
- The scope of the configuration profile objects to be created for event
messaging. This parameter is optional; if you specify a scope, a JMS transmission
profile and emitter factory profile are created at the specified scope. The
valid values are cell, node, and server.
The optional -trace parameter
causes additional debugging information to be displayed on the standard output.
Note: - If you specify a fully qualified path for the location
of the event-message.ear file, make sure you use forward slashes (/) in the
path, even on Windows systems.
- If you are deploying the messaging application on a stand-alone node,
specify the optional -conntype none parameter to run wsadmin in
local mode
After you start the script, you are prompted
for your JMS user ID and password.