| Title: openejb.xml |
| |
| <a name="openejb.xml-Overview"></a> |
| # Overview |
| |
| The openejb.xml is the main configuration file for the container system and |
| its services such as transaction, security, and data sources. |
| |
| The format is a mix of xml and properties inspired by the format of the |
| httpd configuration file. Basically: |
| |
| |
| <tag id=""> |
| ...properties... |
| </tag> |
| |
| |
| Such as: |
| |
| |
| <Resource id="MyDataSource" type="DataSource"> |
| username foo |
| password bar |
| </Resource> |
| |
| |
| *Note the space*. White space is a valid name/value pair separator in any |
| java properties file (along with semi-colon). So the above is equivalent |
| to: |
| |
| <Resource id="MyDataSource" type="DataSource"> |
| username = foo |
| password = bar |
| </Resource> |
| |
| You are free to use white space, ":", or "=" for your name/value pair |
| separator with no effect on OpenEJB. |
| |
| <a name="openejb.xml-PropertyDefaultsandOverriding"></a> |
| ## Property Defaults and Overriding |
| |
| The openejb.xml file itself functions as an override, default values are |
| specified via other means (service-jar.xml files in the classpath), |
| therefore you only need to specify property values here for 2 reasons:<br/> |
| 1. you wish to for documentation purposes<br/> |
| 2. you need to change the default value |
| |
| The default openejb.xml file has most of the useful properties for each |
| component explicitly listed with default values for documentation purposes. |
| It is safe to delete them and be assured that no behavior will change if a |
| smaller config file is desired. |
| |
| Overriding can also be done via the command line or plain Java system |
| properties. See [System Properties](system-properties.html) |
| for details. |
| |
| <a name="openejb.xml-Whatpropertiesareavailable?"></a> |
| ## What properties are available? |
| |
| To know what properties can be overriden the './bin/openejb properties' |
| command is very useful: see [Properties Tool](properties-tool.html) |
| |
| Its function is to connect to a running server and print a canonical list |
| of all properties OpenEJB can see via the various means of configuration. |
| When sending requests for help to the users list or jira, it is highly |
| encouraged to send the output of this tool with your message. |
| |
| <a name="openejb.xml-Notconfigurableviaopenejb.xml"></a> |
| ## Not configurable via openejb.xml |
| |
| The only thing not yet configurable via this file are ServerServices due to |
| OpenEJB's embeddable nature and resulting long standing tradition of |
| keeping the container system separate from the server layer. This may |
| change someday, but untill then ServerServices are configurable via |
| conf/<service-id>.properties files such as conf/ejbd.properties to |
| configure the main protocol that services EJB client requests. |
| |
| The format of those properties files is greatly adapted from the xinet.d style |
| of configuration and even shares similar functionality and properties such |
| as host-based authorization (HBA) via the 'only_from' property. |
| |
| <a name="openejb.xml-Restoringopenejb.xmltothedefaults"></a> |
| ## Restoring openejb.xml to the defaults |
| |
| To restore this file to its original default state, you can simply delete |
| it or rename it and OpenEJB will see it's missing and unpack another |
| openejb.xml into the conf/ directory when it starts. |
| |
| This is not only handy for recovering from a non-functional config, but |
| also for upgrading as OpenEJB will not overwrite your existing |
| configuration file should you choose to unpack an new distro over the top |
| of an old one -- this style of upgrade is safe provided you move your old |
| lib/ directory first. |