You can find a list of properties here. But read on to understand how these can be used.

Overriding openejb.xml

Anything in the openejb.xml file can be overridden via system properties of the format:

-D<id>.<property-name>=<property-value>

..where id is the value in the config file for example:

<Connector id="mysql"> 
    JdbcDriver com.mysql.jdbc.Driver 
    JdbcUrl jdbc:mysql://localhost/test 
    UserName test 
</Connector> 

Could be overridden as follows via system properties on the command line:

./bin/openejb start -Dmysql.JdbcDriver=com.mysql.jdbc.Driver -Dmysql.JdbcUrl=jdbc:mysql://localhost/test -Dmysql.UserName=test

Overriding Server Services

Any server service installed into OpenEJB can be overridden in the same fashion as things in the openejb.xml file.

For example, when OpenEJB starts it prints out the following:

  ** Starting Services **
  NAME             IP          PORT  
  httpejbd         0.0.0.0         4204  
  telnet           0.0.0.0         4202  
  ejbd             0.0.0.0         4201  
  hsql             0.0.0.0         9001  
  activemq         127.0.0.1       4206  
  derbynet         0.0.0.0         4205  
  admin thread         0.0.0.0         4200  

Each of those has the same standard xinet.d-like properties which can also be configured as such:

-D<id>.<property-name>=<property-value>

... where 'id' is the name of the server service and 'property-name' is one of the following: bind, port, threads, disabled, only_from.

So to set the address and port the ejbd service will bind to, simply specify this on the command line:

./bin/openejb start -Dejbd.bind=192.168.1.12 -Dejbd.port=9988