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

To configure the default properties of each container, you can do it either from Console or by editing the config.xml file manually. The only difference is that you must stop the server first if you choose to update config.xml manually; but by using the Console, you can restart openEJB module on-the-fly.

Understanding the configuration

We'll take the EJB container DefaultStatefulContainer as an example here. By looking into config.xml, we can see the container is defined as followed:

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
 ...

Which means if you want to configure any of properties, change the numbers in config-substitutions.properties or update config.xml after the server is stopped. Here is an example by updating config.xml directly:

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

And then 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 hand side. You will be also presented with all the EJBs that the container is holding. The following figures illustrate the portlet layout.


Expand the tree and find the container you want to configure, input the value and click Update . After that, the Console will prompt:
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 on Application->System Modules on the left panel and check Expert Mode. Then find org.apache.geronimo.configs/openejb/2.2-SNAPSHOT/car and click Restart to make your changes take effect.

  • No labels