synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Amila Chinthaka Suriarachchi (JIRA)" <j...@apache.org>
Subject [jira] Commented: (SYNAPSE-493) Synapse sets the HttpCoreRequestResponseTransport status value to INITIAL
Date Thu, 25 Dec 2008 06:46:44 GMT

    [ https://issues.apache.org/jira/browse/SYNAPSE-493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12659189#action_12659189
] 

Amila Chinthaka Suriarachchi commented on SYNAPSE-493:
------------------------------------------------------

I went through the doc and found this,

/**
     * Pause execution and wait for a response message to be ready.  This will
     * typically be called by the transport after a message has been paused and
     * will cause the transport to block until a response message is ready to be
     * returned.  This is required to enable RM for in-out MEPs over a
     * request/response transport; without it the message would be paused and the
     * transport would simply ack the request.
     *
     * @throws InterruptedException
     */
    public void awaitResponse() throws InterruptedException, AxisFault;

This means the transport has to set the it to wait state if AxisEngine returns a SUSPEND.
But for Annonymous case the response message is send using the same thread and it returns
only after response message is sent.

Seems like a problem with sandesha2 and I'll send a note there.

> Synapse sets the HttpCoreRequestResponseTransport status value to INITIAL
> -------------------------------------------------------------------------
>
>                 Key: SYNAPSE-493
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-493
>             Project: Synapse
>          Issue Type: Bug
>            Reporter: Amila Chinthaka Suriarachchi
>         Attachments: patch.txt
>
>
> ServletRequestResponseTransport and SimpleHTTPRequestResponseTranspor set this value
to WAITING.
> This gives a problem with sandesah2. Sandesha2 has this code.
> if((toEPR==null || toEPR.hasAnonymousAddress()) &&
> 			   (makeConnection == null || !makeConnection.booleanValue()) &&
> 			   (t == null || !t.getStatus().equals(RequestResponseTransportStatus.WAITING))) {
> 				
> 				// Mark this sender bean so that we know that the transport is unavailable, if the
> 				// bean is still stored.
> 				SenderBean bean = senderBeanMgr.retrieve(senderBean.getMessageID());
> 				if(bean != null && bean.isTransportAvailable()) {
> 					bean.setTransportAvailable(false);
> 					senderBeanMgr.update(bean);
> 				}
> 				
> 				// Commit the update
> 				if(transaction != null && transaction.isActive()) transaction.commit();
> 				transaction = null;
> 				
> 				if (log.isDebugEnabled())
> 					log.debug("Exit: SenderWorker::run, no response transport for anonymous message");
> 				return;
> 			}
> it does not send the response back if the status of the RequestResponseTransport is WAITING.

> Setting this initial value to WAITING makes the Sandesha2 works with the synapse.
> is it possible to change this initial value to WAITING?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


Mime
View raw message