General description :
-------------------
This application is made of a client (PerfsClient) and 3 identical beans that
can be loaded in different jonas servers.

Many different architectures are possible :

- 1 jonas server with all 3 beans,
- 1 jonas server with Perfs_1 and 1 other with Perfs_2 + Perfs_3
- The transaction manager can be put in either of the jonas servers
- ...

Beans operations are configured with transactional attribute:
- Supports : for read and write operations
- Required : for txread and txwrite operations.

2 kinds of beans can be used :
- CMP1 beans (Perfs_xxx)
- CMP2 beans (Perfs2_xxx)
They have the same interface.

How to run the test:
-------------------
# start 1 or more jonas servers and load beans :
jonas start
jonas admin -a DB.jar
jonas admin -a Perfs2_1.jar
jonas admin -a Perfs2_2.jar

# start the client tests :
XTRA_CLASSES=$PROJ_BASE/objectweb/jonas_tests/perfs/classes
jclient -cp $XTRA_CLASSES applis.ejb.perfs.PerfsClient -i -cmp2
jclient -cp $XTRA_CLASSES applis.ejb.perfs.PerfsClient -cmp2 -b  40 -p 1 -r 3 -w 1 -n 2 -s 100

Syntax of the PerfsClient command :
---------------------------------
All options have defaut values. Possible options are :

-i	reinit tables before running the test
-cmp2	use CMP2.0 beans (default = CMP1)
-b	nb of loops (default = 1)
-p	nb of threads (default = 1)
-r	nb of read requests in a transaction (default = 0)
-w	nb of write requests in a transaction (default = 0)
-s	size of a request (default = 100, max = 800)
-n	nb of beans accessed (default = 0, max = 3)
-h	no transaction started (default = 1 transaction started)
-c	transaction strted at each request in the container

Constraint : nb of read + nb of write >= nb of beans.

Note that if no transaction is started, since beans are "support" entity beans are modified
outside transactions, so the test is much faster (all in memory!).
