Which Requests Can Be Dynamically Routed - IBM SC34-6814-04 Customization Manual

Cics transaction server for z/os
Table of Contents

Advertisement

on the local EJB/CORBA server, that issues a request for another bean. What
happens next depends on whether or not the target object belongs to the local
EJB/CORBA server:
v If the request is for an object owned by the local EJB/CORBA server (that is, the
v If the request is for an object owned by a remote EJB/CORBA server, CICS

Which requests can be dynamically routed?

Not all method requests for enterprise beans or CORBA stateless objects can be
routed dynamically. The distributed routing program is invoked for route selection
only when there is a "free choice" of target region. Requests for methods that are to
run under the same OTS transaction are always routed to the same AOR (even if
they are handled by different listener regions). Thus, the routing program is only
invoked for routing of method requests in two cases:
1. The method of the target object is to run under a new OTS transaction. (See
2. The method of the target object is to run under no OTS transaction.
Note:
CORBASERVER name on the REQUESTMODEL definition is the name of the
local CorbaServer):
– If the transaction attribute of the called method does not require the caller's
unit of work to be suspended and resumed around the call, for optimization
reasons the called method executes on the local (requesting) region. The
distributed routing program is not invoked.
– If the transaction attribute of the called method requires the caller's unit of
work to be suspended and resumed around the call, the called method may
be routed to another region. For eligible requests, the distributed routing
program is invoked for route selection on the requesting region.
passes the request to the remote server. For eligible requests, the distributed
routing program is invoked for route selection on the listener region of the remote
server.
our definition of what constitutes a "new" OTS transaction, in the "Important"
labeled box above.)
1. A new OTS transaction may be started by:
v The client
v The container for the duration of the method
v The target method—if the target is an instance of a session bean that
manages its own OTS transactions.
2. Whether the method of the target object is run under the client's (new or
existing) OTS transaction, under the target bean's (new or existing) OTS
transaction, under a new OTS transaction created by the container for
the duration of the method, or under no OTS transaction, depends on a
combination of factors. For example:
v For enterprise beans:
– The setting of the target method's transaction attribute
– The type of bean—stateful session or stateless session
– For stateful session beans, whether the target object has started an
OTS transaction during a previous method and, if so, whether it
has committed or rolled back the transaction.
v For CORBA stateless objects:
Chapter 18. Writing a distributed routing program
631

Advertisement

Table of Contents
loading

Table of Contents