On Sun, Jun 29, 2008 at 12:10 AM, David Blevins <[EMAIL PROTECTED]> wrote:
> Ok. So... what's there is basically the stateless container with a couple
> tweaks so that it doesn't remove instances and only allows one instance per
> bean.
>
> Here's what we don't yet support. Will be making more jiras for these.
>
>
> -----------------------------------
> CONCURRENCY
> -----------------------------------
>
> - @BeanManagedConcurrency
> - @ContainerManagedConcurrency
> - @ReadOnly (shared access)
> - @ReadWrite (exclussive access), the default
> - ConcurrentAccessTimeoutException
>
> The functionality we have now in regards to concurrency is compliant with
> Container-Managed Concurrency and method default of ReadWrite. I.e. only
> one person can use the singleton at a time. It'll be a bit of work to break
> that up to support locking on a per method basis. That'll be doable with
> the java.util.concurrent.locks.ReentrantReadWriteLock class.
>
> When we add that functionality we'll want to make an option on the container
> to control how long a calling thread should wait till timeout occurs and a
> ConcurrentAccessTimeoutException is thrown. Any thoughts on what the
> default timeout should be? Couple seconds, couple minutes, infinite?
>
> The spec group hasn't determined what the related xml is for declaring bean
> vs container concurrency management, so we'll have to make something up.
> Same goes for how to specify the "concurrency attribute" of a bean's
> methods. Any ideas on what the xml should look like?
* For container managed concurrency:
<concurrency>CMC</concurrency>
* For bean managed concurrency
<concurrency>BMC</concurrency>
>
> -----------------------------------
> STARTUP
> -----------------------------------
>
> - @Startup
>
> Right now, the instances are created lazily when you first look them up.
> Startup could be easily supported by just instantiating the bean when the
> Container's deploy(DeploymentInfo) method is called.
>
> We could add an option on the container so people can control which they'd
> like to do by default. Any thoughts on what the default default should be?
> I.e. first access (lazy) or at startup?
I would choose *lazy* to be the default for startup efficiency of the
OEJB system. And to give the users a JVM property to control this
default loading policy of the OEJB system for singleton beans.
>
> Again the spec group hasn't determined the ejb-jar.xml xml for specifying if
> the singleton bean should be loaded on startup. Any ideas?
* For loading on startup :
<on-startup>true</on-startup>
* For not loading on startup:
<on-startup>false</on-startup>
>
>
> -----------------------------------
> ORDERING
> -----------------------------------
>
> - @DependsOn(String[])
>
> Right now, we just load the beans in the order they are declared in the
> ejb-jar.xml or discovered in the jar. The @DependsOn allows you to list the
> ejbs that should be loaded before the bean in question. You can list beans
> by ejb-name.
>
> There are no real configurable options for this functionality that I see.
>
> Again the spec group hasn't determined the ejb-jar.xml xml for specifying if
> the "@DependsOn" data in the deployment descriptor. Any ideas?
We can use this XML - same like dependencies defined in Maven but I
will use the same name used in the annotation for consistency:
<depends-on>
<dependency>
EJB1_NAME
</dependency>
<dependency>
EJB2_NAME
</dependency>
<dependency>
EJB_JAR3#EJB3_NAME
</dependency>
<dependency>
EJB_JAR4#EJB4_NAME
</dependency>
</depends-on>
>
>
>
> -David
>
>
>
>
>
--
Thanks
- Mohammad Nour