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: RE: [sca-j] ISSUE 4 - Dependency reinjection


Having thought about the use cases some more, including the conversational 
callback callback case explained by Mike R at the end of yesterday's call, 
I'm OK with this restriction.  I think we could make the "injected smart 
proxy" work, but the subtle differences in semantics from the normal 
injected proxy would be a pitfall for the unwary.

To make a slightly more general point, I think it's a good principle to 
favour simplicity rather than sophistication in these discussions.  This 
group of experts may be able to understand the subtle semantics of the 
more esoteric cases, but I worry that the average business programmer will 
find some of the advanced features of callbacks more confusing than 
beneficial.

    Simon

Simon C. Nash, IBM Distinguished Engineer
Member of the IBM Academy of Technology
Tel. +44-1962-815156  Fax +44-1962-818999



"Blohm, Henning" <henning.blohm@sap.com> 
01/11/2007 18:16

To
Simon Nash/UK/IBM@IBMGB, <sca-j@lists.oasis-open.org>
cc

Subject
RE: [sca-j] ISSUE 4 - Dependency reinjection






+1 with amendment that @callback should not be supported in
multi-threaded components (like composite scoped components).

The solution of a smart proxy that resolves potential concurrency
problems by relying on something inherently thread-local (like the
request context) introduces the problem that the service reference at
hand does not truly represent a conversation (target) anymore but a
conversation (target) only as far as the current thread is concerned.

It should however be completey legal to keep the service reference and
have it call from another request (for example to a different service of
the component).

Thanks,
  Henning

-----Original Message-----
From: Simon Nash [mailto:NASH@uk.ibm.com] 
Sent: Donnerstag, 1. November 2007 18:13
To: sca-j@lists.oasis-open.org
Subject: RE: [sca-j] ISSUE 4 - Dependency reinjection

On last week's SCA-J call, I took an action to consider what the
callback 
target would be if multiple forward calls are made to callback
interfaces 
of a composite-scoped component.

I can think of 3 options:

1. Use the value from the last forward call that was made.  This could 
lead to a need for reinjection.  It is not safe if the component can 
receive multithreaded forward invocations.
2. Store the callback address on the thread when a forward call is 
received, and use this address for the callback.  This works with 
multithreaded forward invocations but does not work if a forward request

spins off a new thread to make the callback.
3. When the callback request is made, take the callback address from the

current RequestContext.  This is a small variation on 2, but it is more 
robust because it uses official APIs.

I think 3 is the best approach.

    Simon

Simon C. Nash, IBM Distinguished Engineer
Member of the IBM Academy of Technology
Tel. +44-1962-815156  Fax +44-1962-818999



"Peshev, Peter" <peter.peshev@sap.com> 
05/10/2007 08:12

To
<sca-j@lists.oasis-open.org>
cc

Subject
RE: [sca-j] ISSUE 4 - Dependency reinjection






Hi,
 
The issue in the JIRA has an amendment :
 
AMENDMENT: 
This issue covers not only @Reference, but also (reinjection of)
@Callback and @Property. 
 

Can someone clarify what scenario would lead to reinjection of callback
? Unlike references, callbacks can not start unwired, an attempt to call
such component with unwired callback would result to  -
"NoRegisteredCallbackException"


Best Regards
Peter

________________________________

From: Michael Rowley [mailto:mrowley@bea.com] 
Sent: Thursday, 4. October 2007 16:31
To: Barack, Ron; sca-j@lists.oasis-open.org
Subject: RE: [sca-j] ISSUE 4 - Dependency reinjection



Subject line shortened.

 

________________________________

From: Barack, Ron [mailto:ron.barack@sap.com] 
Sent: Thursday, October 04, 2007 5:27 AM
To: sca-j@lists.oasis-open.org
Subject: [sca-j] ISSUE LOGGED: JAVA-4: Dependency reinjection

 

http://www.osoa.org/jira/browse/JAVA-4

 

________________________________

Von: Michael Rowley [mailto:mrowley@bea.com] 
Gesendet: Mittwoch, 26. September 2007 00:31
An: sca-j@lists.oasis-open.org
Betreff: [sca-j] NEW ISSUE: Dependency reinjection

 

TARGET: Java Common Annotations and APIs specification 

        section "@Reference"

 

DESCRIPTION:

 

The description of the @Reference annotation does not specify what
happens if the wire changes after the component has been instantiated.
One example of a place where this could occur is for a composite-scoped
component that exists at the domain level.  The target of its reference
could start off unwired (and thus would be null).  A later deployment
could deploy a <wire source="" target=""> element which provides a
target for this component.

 

PROPOSAL:

 

In the above scenario, when constructor-based injection is not being
used, the target MAY be reinjected.

 

This would be marked as "MAY" behavior, since it would not be required
of all runtimes.  However, the developer who is creating portable code
needs to know that this reinjection may occur.

 

Other scenarios where such reinjection may occur is TBD.  Note that
reinjection should never occur for a conversational-scoped component
that is in middle of its conversation.

 

 








Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number

741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU







---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail.  You may a link to this group and all your TCs in
OASIS
at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 








Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU








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