Instance pooling

Instance pooling allows a single component instance to service multiple clients. Rather than creating a new instance for each client, EAServer maintains a pool of instances for reuse to service multiple clients. Instance pooling increases performance by eliminating the overhead of creating new instances for each client session. EAServer supports pooling of EJB stateless session bean and entity bean components by default. Chapter 2, “CORBA Component Life Cycles and Transaction Semantics,” in the CORBA Components Guide describes how you can implement CORBA and PowerBuilder components that support pooling.

To enable pooling for CORBA and PowerBuilder components, set the Pooling option in the Management Console Component Properties pages. You can also programmatically enable pooling using the canBePooled transaction primitive method—see Chapter 2, “CORBA Component Life Cycles and Transaction Semantics,” in the CORBA Components Guide.

To prevent idle pooled components from needlessly consuming memory, configure an instance pool timeout by setting the ejb.poolTimeout Ant property in the EJB module’s user-configuration script—see “Commonly configured properties” in Chapter 2, “Deploying and Configuring EJB Components,” in the Enterprise JavaBean User’s Guide. For CORBA and PowerBuilder components, configure this setting for the EJB module that contains the EJB wrappers for your CORBA package.