Preloader image

{note} Availability: Since OpenEJB 0.9{note}

Basic Usage

To use OpenEJB’s Telnet Console, simply boot your server normally.

$ ./bin/openejb start

OPENEJB_HOME=/Users/dblevins/Desktop/openejb-1.0
OpenEJB 1.0    build: 20060226-1701
http://www.openejb.org
resources 1
OpenEJB ready.
[init]

OpenEJB Remote Server Starting Services NAME IP PORT
webadmin 0.0.0.0 4203
httpejbd 0.0.0.0 4204
telnet 0.0.0.0 4202
ejbd 0.0.0.0 4201
admin 0.0.0.0 4200
------- Ready!

Then in another shell telnet in

$ telnet localhost 4202

Trying ::1...
Connected to localhost.
Escape character is '^]

'. OpenEJB Remote Server Console type 'help' for a list of commands [openejb] $ help stop exit system version lookup help [openejb] $ system Containers: Default BMP Container Default CMP Container Default Stateful Container Default Stateless Container

Deployments:
 client/tests/stateful/EncBean
 client/tests/entity/cmp/RMI-over-IIOP/EJBHome
 client/tests/stateful/BasicStatefulHome
 ClientTools/ViewClass
 Webadmin/Configuration
 EJBGenerator/CreateEJB
 ClientTools/InvokeObject
 Webadmin/Properties
 client/tests/stateful/RMI-over-IIOP/EJBHome
 Webadmin/Home
 client/tests/entity/bmp/allowed_operations/EntityHome
 client/tests/entity/cmp/EncBean
 httpd/DefaultBean
 client/tests/stateful/BeanManagedBasicStatefulHome
 client/tools/DatabaseHome
 client/tests/entity/bmp/EncBean
 config/webadmin/ConfigurationData
 deploy/webadmin/Deployer
 ClientTools/ViewJndi
 Webadmin/DeploymentList
 client/tests/stateless/BeanManagedBasicStatelessHome
 Webadmin/CMPMapping
 client/tests/stateless/EncBean
 client/tests/stateful/BeanManagedTransactionTests/EJBHome
 client/tests/entity/bmp/RMI-over-IIOP/EJBHome
 Webadmin/ListLogs
 client/tests/stateless/BeanManagedTransactionTests/EJBHome
 ClientTools/ViewEjb
 client/tests/entity/bmp/BasicBmpHome
 mapping/webadmin/CMPMappingData
 client/tests/stateless/BasicStatelessHome
 client/tests/entity/cmp/BasicCmpHome
 Webadmin/Deployment
 httpd/session
 client/tests/entity/cmp/allowed_operations/EntityHome
 client/tests/stateless/RMI-over-IIOP/EJBHome
[openejb]

$ exit Connection closed by foreign host.

Configuring the Telnet Service

The configuration of all server services (network facing services) is done in xinet.d style config files. The telnet shell is controlled via the $OPENEJB_HOME/conf/telnet.properties file. This file is created for you automatically after the first time OpenEJB boots.

$ cat conf/telnet.properties

    server  = org.openejb.server.telnet.TelnetServer
    bind    = 127.0.0.1
    port    = 4202
    disabled    = false
    threads = 5
#   only_from   = 192.168.1.123

You can change the IP, port, and even the number of threads allowed to concurrently access the Telnet service via this file.

Disabling the Telnet Service

Simply edit the config file and set 'disabled' to true

    disabled    = true

Then restart OpenEJB.

Restricting Access

It is unlikely you want just anyone to be able to login and execute commands. While you can’t restrict access on a user basis, yet, you can restrict access to specific hosts. Host based access control (HBA) is a built-in part of any Server Service in OpenEJB and the Telnet Service is no different. This is done with the 'only_from' property, which like the rest of the file is a direct copy of the xinet.d syntax for HBA.

For an example to restrict access to the localhost, you could configure the Telnet Service like this:

    server  = org.openejb.server.telnet.TelnetServer
    bind    = 127.0.0.1
    port    = 4202
    disabled    = false
    threads = 5
    only_from   = localhost

If you wanted to restrict access to localhost and say the hosts 192.168.1.207 and 192.168.1.16, you can simply add them to the list.

    server  = org.openejb.server.telnet.TelnetServer
    bind    = 127.0.0.1
    port    = 4202
    disabled    = false
    threads = 5
    only_from   = localhost, 192.168.1.207, 192.168.1.16