You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Sharath Reddy (JIRA)" <ji...@apache.org> on 2009/02/09 10:14:59 UTC
[jira] Commented: (AXIS2-4085) While loop doesnot exit while
running echo non blocking client
[ https://issues.apache.org/jira/browse/AXIS2-4085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12671772#action_12671772 ]
Sharath Reddy commented on AXIS2-4085:
--------------------------------------
I also noticed this issue in the release 1.4.1.
The problem is that onComplete is not being called by NonBlockingInvocationWorker when the user uses AxisCallback interface:
} finally {
if (callback != null) {
callback.setComplete(true);
}
}
When we make this change, it works:
} finally {
if (callback != null) {
callback.setComplete(true);
} else {
axisCallback.onComplete();
}
}
I checked the latest Axis source code, and it looks like this has been fixed. So it should work for the next release;
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java?r1=637413&r2=656721
> While loop doesnot exit while running echo non blocking client
> ---------------------------------------------------------------
>
> Key: AXIS2-4085
> URL: https://issues.apache.org/jira/browse/AXIS2-4085
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: samples
> Affects Versions: 1.4.1
> Environment: Windows XP Professional Vesion 2002 SP-2 , NetBeans 6.1
> Reporter: Akhila
> Priority: Critical
>
> public class EchoNonBlockingClient {
> private static EndpointReference targetEPR = new EndpointReference("http://localhost:8080/axis2/services/MyService");
> public static void main(String[] args) {
> ServiceClient sender = null;
> try {
> OMElement payload = ClientUtil.getEchoOMElement();
> Options options = new Options();
> options.setTo(targetEPR);
> options.setAction("urn:echo");
> TestCallback axisCallback = new TestCallback( " Call Back 1 " ) ;
> sender = new ServiceClient();
> sender.setOptions(options);
> sender.sendReceiveNonBlocking( payload, axisCallback );
> //Wait till the callback receives the response.
> while ( ! axisCallback.isComplete( ) ) {
> Thread.sleep(1000);
> }
> While running this program ( echo-nonblocking client ( using axisCallback interface instead of Callback ) ) , it goes to infinite loop in while ( ! axisCallback.isComplete( ) ) {
> Thread.sleep(1000);
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.