An Enterprise JavaBeans(EJB) container is used to provide a runtime environment for enterprise beans within the application server. The container handles operation of EJBs and also acts as an intermediary between the business logic layer and the rest of the Java EE environment. In Geronimo, OpenEJB is included as a plugin to manage EJBs.

In Geronimo, stateless and stateful session beans have only one container each. In OpenEJB, the pool size is set per container. Therefore, you can set only one pool size for all stateless beans and one for all stateful beans.

To configure the default properties of each container, you can either use the administration console or edit the config.xml file manually. The only difference is that you must stop the server first if you choose to update config.xml manually; while using the administration console, you can restart OpenEJB module on-the-fly.

Understanding the configuration

Take the EJB container DefaultStatefulContainer as an example. By looking into config.xml, you can see the container is defined as follows:

config.xml
    ...  
      <gbean name="DefaultStatefulContainer">
            <attribute name="timeout">${StatefulTimeout}</attribute>
            <attribute name="capacity">${Capacity}</attribute>
            <attribute name="bulkPassivate">${BulkPassivate}</attribute>
       </gbean>
...

All these values are set as system variables in config-substitutions.properties file under the same directory as config.xml.

config-substitutions.properties
    ...  
      Capacity=1000
      StatefulTimeout=20
      BulkPassivate=100
 ...

If you want to configure any of the properties, change the numbers in config-substitutions.properties or update config.xml after the server is stopped. Here is an example that updates config.xml directly:

config.xml
    ...  
      <gbean name="DefaultStatefulContainer">
            <attribute name="timeout">${StatefulTimeout}</attribute>
            <attribute name="capacity">500</attribute>
            <attribute name="bulkPassivate">${BulkPassivate}</attribute>
       </gbean>
 ...

Restart the Geronimo to make the changes take effect.

Configuring the value from console

The EJB Server portlet that displays the EJB containers available in the server and their status is available by selecting EJB Server on the Console Navigation menu on the left side. You will also be presented with all the EJBs that the container is holding. The following figures illustrate the portlet layout.


Expand the tree and find the container that you want to configure. Input the value and click Update . After that, the administration console will prompt the following message:
The openejb configuration should be restarted for the changes that were made to the fields to take effect. The changed fields are now shown in red color.



To restart the openejb module on-the-fly, click Application->System Modules on the left panel and select the Expert Mode check box. Then find org.apache.geronimo.configs/openejb/2.2-SNAPSHOT/car and click Restart to make your changes take effect.

  • No labels