IBM E02HMLL-I Implementation Guide - Page 180

Recovery, Implicit, database, transaction

Page 180 highlights

twice in the destination applications. You can then use Flow Manager to examine the requests and can investigate the destination applications to determine whether or not the requests were processed successfully before the error occurred. You should discard any requests that were processed successfully and resubmit any that were not processed successfully. There are also programmatic measures that can be taken to handle these types of transport-related failures. For more information, refer to the information on handling service call transport exceptions in the Collaboration Development Guide. Recovery mode In previous releases, if a fatal system error occurred then all flows being processed at the time of failure would be recovered when the system was restarted. The flows were all read from persistent storage and resubmitted for processing. If there were many such flows, the system memory could actually be consumed entirely by the act of retrieving the events into memory, possibly resulting in another fatal system error related to lack of sufficient memory. Furthermore, you could not effectively manage the system with the tools until InterChange Server Express had completed its recovery processing. It is possible to defer recovery for a collaboration object by setting the Recovery mode drop-down menu to the value Deferred. If you configure a collaboration object for deferred recovery in this manner, any flows that are in progress at the time of a fatal system error are treated as failed flows and are not recovered immediately when the system is restarted. The administrator can then use Flow Manager to resubmit the flows after the system has restarted and any desired administrative actions have been taken prior to the recovery efforts. Important: For some interfaces it is important that event be processed in the order in which they are received. If event sequencing is not important to the integrity of an interface then you can implement deferred recovery without regard to the order in which failed or new flows are processed. If event sequencing is important, however, and you need to implement deferred recovery then you must document and follow administrative procedures to ensure that event sequencing is maintained. For instance, the administrator must make sure that the collaboration does not receive and process new flows when the system is restarted before the failed flows are resolved. They can do this managing the startup or polling of the source connector agents that would send new events to the collaboration in question. The need for deferred recovery has been mitigated by optimized recovery measures. Rather than reading the entire business object data for in-progress transactions into memory, the server only reads enough information in memory to locate the business object in persistent storage. Although deferred recovery is still available, you may not require it because of the optimized recovery approach. Implicit database transaction If the collaboration template upon which the collaboration object you are configuring is based implements transactional database logic then you need to configure the collaboration object for either implicit or explicit transaction bracketing. If the collaboration was developed so that the transaction semantics are handled explicitly by the code written by the developer then you should leave the Implicit database transaction checkbox cleared. If the collaboration was not developed with explicit management of the database transactions, however, then you should enable the Implicit database transaction checkbox. 168 IBM WebSphere Business Integration Server Express and Express Plus: System Implementation Guide

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302

twice
in
the
destination
applications.
You
can
then
use
Flow
Manager
to
examine
the
requests
and
can
investigate
the
destination
applications
to
determine
whether
or
not
the
requests
were
processed
successfully
before
the
error
occurred.
You
should
discard
any
requests
that
were
processed
successfully
and
resubmit
any
that
were
not
processed
successfully.
There
are
also
programmatic
measures
that
can
be
taken
to
handle
these
types
of
transport-related
failures.
For
more
information,
refer
to
the
information
on
handling
service
call
transport
exceptions
in
the
Collaboration
Development
Guide
.
Recovery
mode
In
previous
releases,
if
a
fatal
system
error
occurred
then
all
flows
being
processed
at
the
time
of
failure
would
be
recovered
when
the
system
was
restarted.
The
flows
were
all
read
from
persistent
storage
and
resubmitted
for
processing.
If
there
were
many
such
flows,
the
system
memory
could
actually
be
consumed
entirely
by
the
act
of
retrieving
the
events
into
memory,
possibly
resulting
in
another
fatal
system
error
related
to
lack
of
sufficient
memory.
Furthermore,
you
could
not
effectively
manage
the
system
with
the
tools
until
InterChange
Server
Express
had
completed
its
recovery
processing.
It
is
possible
to
defer
recovery
for
a
collaboration
object
by
setting
the
Recovery
mode
drop-down
menu
to
the
value
Deferred
.
If
you
configure
a
collaboration
object
for
deferred
recovery
in
this
manner,
any
flows
that
are
in
progress
at
the
time
of
a
fatal
system
error
are
treated
as
failed
flows
and
are
not
recovered
immediately
when
the
system
is
restarted.
The
administrator
can
then
use
Flow
Manager
to
resubmit
the
flows
after
the
system
has
restarted
and
any
desired
administrative
actions
have
been
taken
prior
to
the
recovery
efforts.
Important:
For
some
interfaces
it
is
important
that
event
be
processed
in
the
order
in
which
they
are
received.
If
event
sequencing
is
not
important
to
the
integrity
of
an
interface
then
you
can
implement
deferred
recovery
without
regard
to
the
order
in
which
failed
or
new
flows
are
processed.
If
event
sequencing
is
important,
however,
and
you
need
to
implement
deferred
recovery
then
you
must
document
and
follow
administrative
procedures
to
ensure
that
event
sequencing
is
maintained.
For
instance,
the
administrator
must
make
sure
that
the
collaboration
does
not
receive
and
process
new
flows
when
the
system
is
restarted
before
the
failed
flows
are
resolved.
They
can
do
this
managing
the
startup
or
polling
of
the
source
connector
agents
that
would
send
new
events
to
the
collaboration
in
question.
The
need
for
deferred
recovery
has
been
mitigated
by
optimized
recovery
measures.
Rather
than
reading
the
entire
business
object
data
for
in-progress
transactions
into
memory,
the
server
only
reads
enough
information
in
memory
to
locate
the
business
object
in
persistent
storage.
Although
deferred
recovery
is
still
available,
you
may
not
require
it
because
of
the
optimized
recovery
approach.
Implicit
database
transaction
If
the
collaboration
template
upon
which
the
collaboration
object
you
are
configuring
is
based
implements
transactional
database
logic
then
you
need
to
configure
the
collaboration
object
for
either
implicit
or
explicit
transaction
bracketing.
If
the
collaboration
was
developed
so
that
the
transaction
semantics
are
handled
explicitly
by
the
code
written
by
the
developer
then
you
should
leave
the
Implicit
database
transaction
checkbox
cleared.
If
the
collaboration
was
not
developed
with
explicit
management
of
the
database
transactions,
however,
then
you
should
enable
the
Implicit
database
transaction
checkbox.
168
IBM
WebSphere
Business
Integration
Server
Express
and
Express
Plus:
System
Implementation
Guide