Previous     Contents     Index     DocHome     Next     
iPlanet Application Server Enterprise Connector for R/3 Administrator's Guide



Chapter 4   Configuring the Application


This chapter is intended for administrators who configure operational parameters that support the UIF for the iPlanet Application Server Enterprise Connector for R/3. Most configuration parameters are stored in the UIF repository. The R/3 Management Console enables you to modify these parameters.

This chapter describes pooling concepts when you set up a pooling configuration node in the UIF repository.

The chapter contains information about the following topics:



About Pooling

Pooling enables you to share resources. In the UIF, pools are used to share connections to a back-end system from the iPlanet Application Server. Service providers allocate and reuse connections from pools to avoid unnecessary creation and destruction of connections to the back-end. Pools are defined in the Repository on a per-data-source basis. This means that each data source defines its own connection pool, which can be individually configured.

An object in a UIF pool represents a connection to a back-end system. Each pool contains a specified maximum number of objects to constrain the maximum number of simultaneous connections. A pool typically holds a number of objects that represent the number of connections in a steady state.

When an iPlanet Application Server application enables a service provider, the connector attempts to obtain a connection object from the pool.

If the maximum number has been reached and no object is available after a specified waiting period, the request times out. The time-out period can be configured.

If a pool object remains unused for a period of time, the object is destroyed. You can specify how long to wait before the object is destroyed.

The use and longevity of pool objects are monitored by a thread that executes periodically. You can specify the intervals after which the monitor thread executes. Typically, the thread executes more frequently than the waiting period before an object is destroyed. However, setting the monitor interval too small can degrade performance. You specify the frequency in the MonitorInterval node of the pooling connection; for more information see Pooling Configuration.



Bind Durations



A pooled connection is bound to a servlet for a specified period of time, called a bind duration, which is specified in a service provider type. Typically, a bind duration is only for the length of time it takes to execute the method requiring the connection although some operations, such as beginning a transaction, may require a longer bind duration.

UIF supports three bind durations. Table 4-1 lists and describes bind durations.

Table 4-1 Bind Durations  

Bind Duration  

Description  

method-bound-poolable  

The pooled connection is bound for the duration of the method call.  

sp-bound-poolable  

The pooled connection is bound for the life of the service provider; the connection is then returned to the pool.  

not-poolable  

The connection is not poolable. The connection is bound for the life of the service provider and is destroyed when the service provider is destroyed.  

Bind durations are specified in the repository. The following example shows that the <adaptor>Conn service provider type's bind duration is method-bound-poolable:

serviceProviderTypes

<adaptor>Conn

bindDuration string method-bound-poolable


Bind Duration Escalation

The bind duration may be changed dynamically by the connector. For example, at the beginning of a transaction, a connector may escalate the bind duration from method-bound to sp-bound, and then reset the bind duration to method-bound at the end of the transcation.


Bind Duration Time-outs

An sp-bound connection cannot be used by another service provider until the connection has been released by the first service provider. If the first service provider does not release the connection in a timely manner, a time-out occurs and the connection is forcibly released and returned to the pool. The time-out prevents a "runaway" service provider that failed to call disable() from keeping the connection indefinitely.



Pooling Configuration



You specify the pooling configuration for a service provider by specifying the Pooling configuration characteristics in the repository. Table 4-2 lists and defines Pooling Configuration characteristics.

Table 4-2 Pooling Configuration Characteristics  

Variable  

Definition  

MaxPoolSize  

The maximum number of objects allowed in the pool. For example, if the pooled objects are host connections, set this number to the peak number of connections available to the server. If the number of objects is less than MaxPoolSize but exceeds SteadyPoolSize, objects are destroyed 3 seconds after they are returned to the pool.  

SteadyPoolSize  

The number of unused objects that are kept in the pool until they time out. For example, if the pooled objects are host connections, set SteadyPoolSize to the steady state (RMS) number of connections available from the host server.  

MaxWait  

The maximum time, in seconds, that a request for a physical object is held in the queue before the request times out and is destroyed.  

UnusedMaxLife  

The maximum time, in seconds, that a physical object remains unused in the pool. After this time, the physical object is destroyed.  

Monitor Interval  

Optional) The time interval, in seconds, after which a thread is executed to monitor the current status of the pool. Default is 30 seconds. Typically, setting this number too low degrades performance, but it should be set to a number less than UnusedMaxLife.  

DebugLevel  

(Optional) Determines type of message logging, as described by the following choices:

0: Logging turned off.

1: Logs only callback messages.

2: Logs all messages.  

The example below is used to show a "generic" pool, for specific information about the connector. The following entries define the pool configuration for the <adapter>Conn service provider:

pools

<adapter>Pool

sptype reference

bsp.adapterTypes.<adapter>.serviceProviderTypes.r3Conn

config:do

DebugLevel integer 1

MaxPoolSize integer 20

MaxWait integer 3

MonitorInterval integer 10

SteadyPoolSize integer 10

UnusedMaxLife integer 300


Previous     Contents     Index     DocHome     Next     
Copyright © 2000 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.

Last Updated November 02, 2000