You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Ron Gavlin (JIRA)" <ji...@apache.org> on 2008/09/22 13:52:55 UTC
[jira] Created: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
cxf-bc consumer should allow async sending of message exchanges to the NMR
--------------------------------------------------------------------------
Key: SM-1592
URL: https://issues.apache.org/activemq/browse/SM-1592
Project: ServiceMix
Issue Type: Improvement
Components: servicemix-cxf-bc
Affects Versions: 3.2.2
Reporter: Ron Gavlin
cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46029#action_46029 ]
Freeman Fang commented on SM-1592:
----------------------------------
Hi Ron,
Yeah, this patch locks to the two-way async cxf-bc consumer thread until we get response from the NMR, since we do need the response before we can return soap message to external client.
As to the smx-http consumer you mentioned, even it use jetty continuations, if I understand correctly, it also block the thread until get response from the NMR, see the code at this line
boolean result = cont.suspend(to);
this is the code for suspend from jetty
public boolean suspend(long timeout)
{
synchronized (_mutex)
{
_new=false;
_pending=true;
boolean result;
try
{
if (!_resumed && timeout>=0)
{
if (timeout==0)
_mutex.wait();
else if (timeout>0)
_mutex.wait(timeout);
}
}
catch (InterruptedException e)
{
e.printStackTrace();
}
finally
{
result=_resumed;
_resumed=false;
_pending=false;
}
return result;
}
}
so, IMHO it's no real difference between the cxf bc consumer and http consumer.
All in all, for the consumer, we do need block somewhere to wait the response back from NMR if the transport itself is sync.
Besides that, something similar with cxf jms transport as we discussed before, we just leverage the cxf transport in smx but we can't and shouldn't touch the transports level details in smx.
Regards
Freeman
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: 3.2.3, 3.3
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Ron Gavlin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46027#action_46027 ]
Ron Gavlin commented on SM-1592:
--------------------------------
Hi Freeman,
Am I correct that this patch locks the two-way async cxf-bc consumer thread while waiting for the response to be returned from the NMR? If so, then from my perspective, this defeats the main purpose of using async in the first place which is scalability. I don't think an async consumer should lock threads waiting for the response from the NMR.
In the async case, I would have expected Jetty continuations to be used to support the http-based transport and a Spring-like MessageContainerListener thread-pool to be used to support the jms-based transport. See the smx-http consumer and smx-jms consumer for examples. I would have hoped that CXF itself provided/exposed this type of async functionality in a transport-agnostic way such that the smx-cxf-bc consumer could leverage it. Is this not the case?
Regards,
Ron
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: 3.2.3, 3.3
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=47533#action_47533 ]
Freeman Fang commented on SM-1592:
----------------------------------
Attach patch against 3.2 branch for this issue.
This patch is based on the Sergey's great work for CXF-1835
I'd like to hold commit until cxf snapshot which contains the lastest change get published.
patch against servicemix-cxf-bc component project is coming soon
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: servicemix-cxf-bc-2008.02, 3.3.1, 3.2.4
>
> Attachments: SM-1592.patch
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Ron Gavlin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46031#action_46031 ]
Ron Gavlin commented on SM-1592:
--------------------------------
Hi Freeman,
Have you read the description of Continuations at http://docs.codehaus.org/display/JETTY/Continuations? Based on my reading, it appears Jetty is doing some magic behind the scenes in the suspend() method to free the thread and then resume it later. Do you agree?
If so, then I think there is a significant difference between the cxf-bc and http consumers.
Let me know your thoughts.
Ron
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: 3.2.3, 3.3
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Work started: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Work on SM-1592 started by Freeman Fang.
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46026#action_46026 ]
Freeman Fang commented on SM-1592:
----------------------------------
commit fix
http://svn.apache.org/viewvc?rev=699565&view=rev for 3.2 branch
http://svn.apache.org/viewvc?rev=699564&view=rev for servicemix-cxf-bc component project
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: 3.2.3, 3.3
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Willem Jiang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46057#action_46057 ]
Willem Jiang commented on SM-1592:
----------------------------------
Hi Ron,
Current CXF doesn't implement the Async HTTP API, please feel free to create a JIRA ticket in CXF.
Willem
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: 3.2.3, 3.3
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=47602#action_47602 ]
Freeman Fang commented on SM-1592:
----------------------------------
commit fix
http://svn.apache.org/viewvc?rev=720392&view=rev to 3.2 branch
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: servicemix-cxf-bc-2008.02, 3.3.1, 3.2.4
>
> Attachments: SM-1592-for-3.3.patch, SM-1592.patch
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46024#action_46024 ]
Freeman Fang commented on SM-1592:
----------------------------------
I'd like to stay the default behaivor for use sendsync for backward compability/..
You can set synchronous="false" attribute for the cxf bc consumer endpoint to use send.
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Reopened: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Freeman Fang reopened SM-1592:
------------------------------
should wait for CXF-1835 get address in cxf
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: 3.2.3, 3.3
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Freeman Fang updated SM-1592:
-----------------------------
Fix Version/s: servicemix-cxf-bc-2008.02
3.2.4
(was: 3.4)
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: servicemix-cxf-bc-2008.02, 3.3.1, 3.2.4
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=47730#action_47730 ]
Freeman Fang commented on SM-1592:
----------------------------------
commit fix
http://svn.apache.org/viewvc?rev=722003&view=rev to servicemix-cxf-bc component project
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: servicemix-cxf-bc-2008.02, 3.3.1, 3.2.4
>
> Attachments: SM-1592-for-3.3.patch, SM-1592.patch
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=45904#action_45904 ]
Freeman Fang commented on SM-1592:
----------------------------------
we need address
CXF-1812 first to enable aync invocation working in cxf bc consumer
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Freeman Fang updated SM-1592:
-----------------------------
Fix Version/s: 3.3.1
3.4
(was: 3.3)
(was: 3.2.3)
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: 3.3.1, 3.4
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Ron Gavlin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46038#action_46038 ]
Ron Gavlin commented on SM-1592:
--------------------------------
Hi Freeman,
One more thought.
Note the comment in CXF subversion commit: http://svn.apache.org/viewvc?view=rev&revision=489574 - "TODO
Support blocking and noblocking connector".
If the above TODO has not been implemented, should a CXF JIRA be added to implement support for a non-blocking http connector? In a CXF server, a non-blocking connector is probably not that important because the service itself is likely to be short-lived. However, ESB integration processes tend to be longer running operations. So, support for a non-blocking connector in a smx-cxf-bc consumer is much more significant.
What do you think?
Ron
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: 3.2.3, 3.3
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Freeman Fang resolved SM-1592.
------------------------------
Fix Version/s: 3.2.3
3.3
Resolution: Fixed
commit fix
http://svn.apache.org/viewvc?rev=699555&view=rev for 3.2 branch
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: 3.2.3, 3.3
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Freeman Fang updated SM-1592:
-----------------------------
Comment: was deleted
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: 3.2.3, 3.3
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Willem Jiang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46039#action_46039 ]
Willem Jiang commented on SM-1592:
----------------------------------
Hi
Current CXF http jetty transport support to inject the blocking and noblocking connector into the JettyEngine and the default connector is noblocking.
But we don't use the Continuation to implement the asyc http processing. It is good that you bring this requirment for us. We'd like to do this improvement.
BTW, CAMEL prodvides a kind of Asynchronous Processing[1] , which can be an example for us :)
[1]http://cwiki.apache.org/CAMEL/asynchronous-processing.html
Willem
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: 3.2.3, 3.3
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Ron Gavlin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46036#action_46036 ]
Ron Gavlin commented on SM-1592:
--------------------------------
Hi Freeman,
Yes, I was hoping this would give you enough information to see if you can implement the cxf-bc consumer in such a way as to leverage the asynchrony built into the cxf http (jetty continuations) & jms (forthing spring messageContainerListener) transports. Please keep me updated on your progress.
Ideally, someone who chooses the cxf-bc consumer shouldn't pay a scalability cost over the smx-http or smx-jms consumer.
Thanks again,
Ron
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: 3.2.3, 3.3
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Ron Gavlin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46040#action_46040 ]
Ron Gavlin commented on SM-1592:
--------------------------------
Hi Willem,
Is there a CXF JIRA already open for this improvement? If not, would it make sense to open one?
Thanks,
- Ron
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: 3.2.3, 3.3
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Freeman Fang resolved SM-1592.
------------------------------
Resolution: Fixed
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: servicemix-cxf-bc-2008.02, 3.3.1, 3.2.4
>
> Attachments: SM-1592-for-3.3.patch, SM-1592.patch
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46034#action_46034 ]
Freeman Fang commented on SM-1592:
----------------------------------
Hi Ron,
Good to learn.
Now I know the tricky in jetty continuations, throw exception delibarately to free the thread, but seems only the SelectChannelConnector.RetryContinuation can do this tricky.
Yeah, http consumer is different with the block way in cxf bc consumer currently.
But not sure we can reuse this mechanism in cxf bc consumer, since as I test, all the continuation I get from the incoming cxf message by means of
HttpServletRequest request = (HttpServletRequest) message
.get(AbstractHTTPDestination.HTTP_REQUEST);
Continuation cont = ContinuationSupport.getContinuation(
request, null);
is always WaitingContinuation, which means still the block way. Seems like cxf http transport doesn't support it, not 100% sure.
Need investigate it more.
Freeman
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: 3.2.3, 3.3
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Ron Gavlin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46074#action_46074 ]
Ron Gavlin commented on SM-1592:
--------------------------------
Is it possible to re-open this issue open until the real fix for this CXF issue, https://issues.apache.org/jira/browse/CXF-1835, is integrated into the SMX-CXF-BC Consumer?
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: 3.2.3, 3.3
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Ron Gavlin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46032#action_46032 ]
Ron Gavlin commented on SM-1592:
--------------------------------
Hi Freeman,
Also, note the use of cont.resume() in the HttpConsumerEndpoint.process(MessageExchange) method. I believe this triggers the cont.suspend() from the original process(HttpServletRequest request, HttpServletResponse response) method to "resume" processing.
Again, if this works as advertised, I think it is a significant scalability improvement over the current cxf-bc consumer solution.
- Ron
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: 3.2.3, 3.3
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Freeman Fang updated SM-1592:
-----------------------------
Attachment: SM-1592-for-3.3.patch
for servicemix-cxf-bc component project
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: servicemix-cxf-bc-2008.02, 3.3.1, 3.2.4
>
> Attachments: SM-1592-for-3.3.patch, SM-1592.patch
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Freeman Fang reassigned SM-1592:
--------------------------------
Assignee: Freeman Fang
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (SM-1592) cxf-bc consumer should allow async
sending of message exchanges to the NMR
Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Freeman Fang updated SM-1592:
-----------------------------
Attachment: SM-1592.patch
> cxf-bc consumer should allow async sending of message exchanges to the NMR
> --------------------------------------------------------------------------
>
> Key: SM-1592
> URL: https://issues.apache.org/activemq/browse/SM-1592
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-cxf-bc
> Affects Versions: 3.2.2
> Reporter: Ron Gavlin
> Assignee: Freeman Fang
> Fix For: servicemix-cxf-bc-2008.02, 3.3.1, 3.2.4
>
> Attachments: SM-1592.patch
>
>
> cxf-bc consumer should allow async sending of message exchanges to the NMR. Currently, two-way requests are always sent synchronously. I would think that two-way requests should by sent asynchronously by default, similar to how most other smx-bc consumers behave. The synchronous boolean property should be exposed via xbean and probably set to false by default.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.