Hi there

Orion is a great application server for small web apps. (We have deployed 2
small sites using orion with success).

But the moment you start thinking of using it for bigger more serious apps
it will always throw a java.lang.OutOfMemoryError

The problem: Orion does not passivate EJB's.

Attached an EAR file that will show this.

How to deploy..

Change your server.xml file to include something like..

        <application name="orionTest" path="file://C:/work/oriontest.ear" />

Start orion the normal way..

        java -jar orion.jar

Well, I don't know how to execute an external client that reference classes
inside a jar that is inside an ear, but the following works fine..

Unjar/Unzip the EAR
Unjar/Unzip the JARS

(I've used the directory structures..
        c:\work\oriontest
        c:\work\oriontest\test-ejb
        c:\work\oriontest\test-client

        and orion.jar is in..

        c:\PRG\orion)

execute..
        c:\work\oriontest\test-client\test.cmd

or cd to..
        c:\work\oriontest

and execute..
        c:\java\jdk1.3\bin\java -cp .;test-client;test-ejb;c:\PRG\orion\orion.jar
tests.TestClient 1 100000 2000


PARAMS..
index of first bean to create = 1
create 100000 beans
refresh home reference every 2000 creations (thought it could make a
difference)

and after 6410 creations..

Created bean...6410
Exception in thread "main" java.lang.OutOfMemoryError
        at com.evermind.server.rmi.bb.invokeMethod(JAX)
        at com.evermind.server.rmi.a2.invoke(JAX)
        at com.evermind.server.rmi.a3.invoke(JAX)
        at __Proxy0.create(Unknown Source)
        at tests.TestClient.loopTest(TestClient.java:33)
        at tests.TestClient.main(TestClient.java:39)

And about 7 seconds later on the server side..
        a single bean gets passivated

Good Luck






oriontest.ear

Reply via email to