Return-path: <owner-jsr-318-eg@JCP.ORG>
Received: from fe-sfbay-10.sun.com ([192.18.34.120])
 by sfbay3-mail1.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 with ESMTP id <0K8S006PKRJZDZE0@sfbay3-mail1.sfbay.sun.com>; Wed,
 15 Oct 2008 13:28:47 -0700 (PDT)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0K8S00301RGDZA00@fe-sfbay-10.sun.com>; Wed,
 15 Oct 2008 13:28:47 -0700 (PDT)
Received: from phys-sfbay3-1.sfbay.sun.com ([129.145.47.22])
 by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 with ESMTP id <0K8S00JE7RJONF90@fe-sfbay-10.sun.com>; Wed,
 15 Oct 2008 13:28:36 -0700 (PDT)
Received: from dm-sfbay-02.sfbay.sun.com ([129.146.11.31])
 by sfbay3-mail1.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 with ESMTP id <0K8S006NIRJODZE0@sfbay3-mail1.sfbay.sun.com>; Wed,
 15 Oct 2008 13:28:36 -0700 (PDT)
Received: from sunmail3mpk.sfbay.sun.com
 (sunmail3mpk.SFBay.Sun.COM [129.146.11.52])	by dm-sfbay-02.sfbay.sun.com
 (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m9FKSaUQ034371; Wed,
 15 Oct 2008 13:28:36 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com
 (brm-avmta-1.Central.Sun.COM [129.147.4.11])	by sunmail3mpk.sfbay.sun.com
 (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m9FKSWVu017398; Wed,
 15 Oct 2008 13:28:36 -0700 (PDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K8S00C11RJN6A00@brm-avmta-1.central.sun.com>; Wed,
 15 Oct 2008 14:28:35 -0600 (MDT)
Received: from sca-ea-mail-1.sun.com ([192.18.43.24])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K8S005JORJMXO60@brm-avmta-1.central.sun.com>; Wed,
 15 Oct 2008 14:28:35 -0600 (MDT)
Received: from swjscmail2.sun.com (swjscmail2.Sun.COM [192.18.99.108])
	by sca-ea-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m9FKRMmQ023021;
 Wed, 15 Oct 2008 20:27:32 +0000 (GMT)
Received: from swjscmail1 (swjscmail1.Sun.COM [192.18.99.107])
	by swjscmail2.sun.com (8.11.7p3+Sun/8.11.7) with ESMTP id m9FKQRC08717; Wed,
 15 Oct 2008 14:26:34 -0600 (MDT)
Received: by JAVA.SUN.COM (LISTSERV-TCP/IP release 15.0)
 with spool id 2477810 for JSR-318-EG@JAVA.SUN.COM; Wed,
 15 Oct 2008 14:26:33 -0600
Received: from sca-es-mail-1.sun.com (sca-es-mail-1.Sun.COM [192.18.43.132])
 by swjscmail1.java.sun.com (Postfix) with ESMTP id 327CE3A800 for
 <JSR-318-EG@JCP.ORG>; Wed, 15 Oct 2008 14:26:32 -0600 (MDT)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
 by sca-es-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m9FKRCfS029137 for
 <JSR-318-EG@JCP.ORG>; Wed, 15 Oct 2008 13:27:12 -0700 (PDT)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0K8S00301RGDZA00@fe-sfbay-10.sun.com>
 (original mail from Kenneth.Saks@Sun.COM) for JSR-318-EG@JCP.ORG; Wed,
 15 Oct 2008 13:27:12 -0700 (PDT)
Received: from [192.168.1.24] ([96.231.94.97])
 by fe-sfbay-10.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0K8S00JQZRH6NF80@fe-sfbay-10.sun.com> for
 JSR-318-EG@JCP.ORG; Wed, 15 Oct 2008 13:27:12 -0700 (PDT)
Date: Wed, 15 Oct 2008 16:27:06 -0400
From: Kenneth Saks <Kenneth.Saks@Sun.COM>
Subject: Re: concurrent Stateful session bean access
In-reply-to: <db199550810141028q45271a4cl3e0e8c6106297b79@mail.gmail.com>
Sender: Java Community Process JSR #318 Expert List <JSR-318-EG@JCP.ORG>
To: JSR-318-EG@JCP.ORG
Reply-to: Java Community Process JSR #318 Expert List <JSR-318-EG@JCP.ORG>
Message-id: <8771717D-581B-44A7-A9FE-15394F52A905@sun.com>
MIME-version: 1.0
X-Mailer: Apple Mail (2.926)
Content-type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
Content-transfer-encoding: 7BIT
Precedence: list
Delivered-to: JSR-318-EG@JCP.ORG
X-PMX-Version: 5.4.1.325704
X-Original-To: JSR-318-EG@JCP.ORG
References: <8E81D9C1-1883-41C6-8DBD-E35D257CB6BE@sun.com>
 <110BA8ACEE682C479D0B008B6BE4AEB106EA162F@esealmw107.eemea.ericsson.se>
 <98890523-1D17-4451-A17D-A14A7BDCD683@visi.com>
 <F3BDCB16-157E-49FD-ABA7-96249D45F1A0@sun.com>
 <db199550810141028q45271a4cl3e0e8c6106297b79@mail.gmail.com>
Comments: To: Java Community Process JSR #318 Expert List <JSR-318-EG@JCP.ORG>
List-Owner: <mailto:JSR-318-EG-request@JAVA.SUN.COM>
List-Subscribe: <mailto:JSR-318-EG-subscribe-request@JAVA.SUN.COM>
List-Unsubscribe: <mailto:JSR-318-EG-unsubscribe-request@JAVA.SUN.COM>
List-Archive: <http://archives.java.sun.com/cgi-bin/wa?LIST=JSR-318-EG>
List-Help: <http://archives.java.sun.com/cgi-bin/wa?LIST=JSR-318-EG>,
 <mailto:LISTSERV@JAVA.SUN.COM?body=INFO%20JSR-318-EG>

On Oct 14, 2008, at 1:28 PM, Gavin King wrote:
>
>
> But what I'm really interested in here is not the potential to  
> actually have
> concurrent execution inside a SFSB, but rather to have concurrent  
> access
> which executes serially. The problem today is that as soon as two  
> invocations
> hit the SFSB, one of them blows up with an ugly, useless and  
> unnecessary
> exception.
>

Yes, the root of the problem is a portability issue in the spec that  
allows the container
to either throw an exception or silently serialize the concurrent  
requests.  We've discussed
this a few times but it wasn't clear how much of an issue it is in  
practice.  If we do anything
it should be to merely make those existing options specifiable via  
standard metadata.

The closest we got previously was defining a subset of the concurrency  
metadata to be applicable to
Stateful beans.

For support of serialized concurrent requests, the stateful bean would  
use
@ConcurrencyManagement(CONTAINER) , but without any of the method- 
level locking metadata.  That
results in single-threaded bean instance access with blocking of  
concurrent requests instead of exceptions.

To force an exception in the face of concurrent access, we could add a  
new concurrency management type :

e.g.  @ConcurrencyManagement(NOT_ALLOWED)