OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-j message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: ISSUE 95: Proposed direction for resolution


The following is a high-level sketch of a proposed direction for resolving
issue JAVA-95.  Comments and suggested improvements are most welcome.

  1. Rename CONVERSATIONAL scope to STATEFUL scope.

  2. Remove @Conversational and @EndsConversation from interfaces.

  3. Introduce a new annotation @Correlation(name) for parameters of
     service methods of STATEFUL-scoped implementations.  When a method
     of a STATEFUL-scoped implementation is dispatched by the SCA runtime,
     the set of names and values identified by its @Correlation
     annotations is used to attempt to locate an existing matching instance
     in the component's correlated instance pool.  If a matching instance
     is found, it is used for the method dispatch.  If no matching instance
     is found, a new instance is created and placed in the correlated
     instance pool, identified by the correlation set of names and values.

  4. Introduce a new annotation @EndCorrelation for service methods of
     STATEFUL-scoped implementations.  When an @EndCorrelation method
     is dispatched and returns to the SCA runtime, the instance that was
     used for the dispatch is removed from the pool of correlated instances.

  5. Introduce a new annotation @StartCorrelation for service methods of
     STATEFUL-scoped implementations.  When a @StartCorrelation method
     is dispatched by the SCA runtime, an existing instance must not be
     used for the dispatch, even if it matches the correlation set data.
     If a matching instance is found, the SCA runtime MUST throw a
     ServiceRuntimeException.

  6. A method with no @Correlation annotations implies @EndCorrelation.
     It will always create a new instance because it has no correlation
     set data that can be used to match an existing instance in the
     correlated instance pool.

  7. Rename @ConversationAttributes to @CorrelationAttributes.

  8. Remove Conversation class and @ConversationID annotation.

  9. Remove stateful callbacks.

10. Remove isConversational() and getConversation() from CallbableReference.

11. Remove getConversationID() and setConversationID() from ServiceReference.

12. Remove ServiceReference class.

13. Remove ConversationEndedException.

   Simon



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]