diff options
2 files changed, 18 insertions, 0 deletions
diff --git a/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/EndpointReference.java b/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/EndpointReference.java index f9edbe6e87..2fc8eebe4d 100644 --- a/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/EndpointReference.java +++ b/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/EndpointReference.java @@ -162,4 +162,13 @@ public interface EndpointReference extends Base, PolicySubject, Cloneable, Seria * @param status the new status */ void setStatus(Status status); + + /** + * When true this endpoint reference is able to process the invocation + * as being asynchronous. The forward call is effectively one-way + * and the response will arrive asynchronously via the CallbackEndpoint + * + * @return true if the reference is asynchronous + */ + boolean isAsyncInvocation(); } diff --git a/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointReferenceImpl.java b/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointReferenceImpl.java index ac35b45678..d5ba25f04b 100644 --- a/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointReferenceImpl.java +++ b/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointReferenceImpl.java @@ -230,4 +230,13 @@ public class EndpointReferenceImpl implements EndpointReference { public void setStatus(Status status) { this.status = status; } + + public boolean isAsyncInvocation() { + for(Intent intent : getRequiredIntents()){ + if (intent.getName().getLocalPart().equals("asyncInvocation")){ + return true; + } + } + return false; + } } |