org.objectweb.easybeans.server
Class Embedded

java.lang.Object
  extended by org.objectweb.easybeans.server.Embedded
All Implemented Interfaces:
EZBServer

public class Embedded
extends java.lang.Object
implements EZBServer

Allows to create an embedded EJB3 server.

Author:
Florent Benoit

Field Summary
private  ServerConfig config
          Configuration of this server.
private  java.util.Map<java.lang.String,EZBContainer> containers
          Map of managed ejb3 containers.
private static int counter
          Internal (global) counter of all embedded instance created.
private  java.util.List<EasyBeansConfigurationExtension> extensionFactories
          List of Callbacks factories.
private  java.lang.Integer id
          ID of this embedded server.
private  JoramService joramService
          Link to the joram service (if started).
private static JLog logger
          Logger.
private static int SLEEP_VALUE
          Default sleep value (for server loop).
 
Constructor Summary
Embedded()
          Creates a new Embedded server.
It will take default values of configuration.
Embedded(ServerConfig config)
          Creates a new embedded server with a given configuration.
 
Method Summary
private  void callJContainerConfigExtensions(EZBContainerConfig jcc)
          Adapt the JContainerConfig for all EasyBeansConfigurationExtension.
private  void configure()
          Configure the server by using the given configuration.
 EZBContainer createContainer(java.io.File archive)
          Creates and adds an ejb3 container to the managed container.
protected  ServerConfig getConfig()
           
 EZBContainer getContainer(java.lang.String id)
          Gets a container managed by this server.
 java.util.Map<java.lang.String,EZBContainer> getContainers()
           
 java.lang.Integer getID()
          Gets the id of this embedded server.
 JoramService getJoramService()
          Gets the joram service (null if not started).
static void main(java.lang.String[] args)
          Main method called by default.
 void start()
          Starts the EJB3 server.
private  void startRegistry()
          Starts the registry.
 void stop()
          Stops the EJB3 server.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SLEEP_VALUE

private static final int SLEEP_VALUE
Default sleep value (for server loop).

See Also:
Constant Field Values

logger

private static JLog logger
Logger.


counter

private static int counter
Internal (global) counter of all embedded instance created.


id

private java.lang.Integer id
ID of this embedded server.


config

private ServerConfig config
Configuration of this server.


containers

private java.util.Map<java.lang.String,EZBContainer> containers
Map of managed ejb3 containers.


extensionFactories

private java.util.List<EasyBeansConfigurationExtension> extensionFactories
List of Callbacks factories.


joramService

private JoramService joramService
Link to the joram service (if started).

Constructor Detail

Embedded

public Embedded()
Creates a new Embedded server.
It will take default values of configuration.


Embedded

public Embedded(ServerConfig config)
Creates a new embedded server with a given configuration.

Parameters:
config - the server configuration.
Method Detail

start

public void start()
           throws EmbeddedException
Starts the EJB3 server.

Throws:
EmbeddedException - if there is a failure while starting the server.

stop

public void stop()
          throws EmbeddedException
Stops the EJB3 server.

Throws:
EmbeddedException - if container cannot be stopped.

getContainer

public EZBContainer getContainer(java.lang.String id)
Gets a container managed by this server.

Specified by:
getContainer in interface EZBServer
Parameters:
id - the container id.
Returns:
the container if it is found, else null.

configure

private void configure()
Configure the server by using the given configuration.


createContainer

public EZBContainer createContainer(java.io.File archive)
Creates and adds an ejb3 container to the managed container.

Parameters:
archive - jar file or exploded archive.
Returns:
the created container.

callJContainerConfigExtensions

private void callJContainerConfigExtensions(EZBContainerConfig jcc)
Adapt the JContainerConfig for all EasyBeansConfigurationExtension.

Parameters:
jcc - the JContainerConfig to adapt.

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
Main method called by default.

Parameters:
args - the arguments for the main method
Throws:
java.lang.Exception - if failures

getConfig

protected ServerConfig getConfig()
Returns:
the configuration of this server.

getContainers

public java.util.Map<java.lang.String,EZBContainer> getContainers()
Specified by:
getContainers in interface EZBServer
Returns:
the containers managed by this server.

startRegistry

private void startRegistry()
                    throws EmbeddedException
Starts the registry.

Throws:
EmbeddedException - if registry can't be started

getID

public java.lang.Integer getID()
Gets the id of this embedded server.

Specified by:
getID in interface EZBServer
Returns:
the id of this server.

getJoramService

public JoramService getJoramService()
Gets the joram service (null if not started).

Returns:
joram service instance.