You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "William Tam (JIRA)" <ji...@apache.org> on 2010/12/04 00:10:10 UTC

[jira] Created: (CAMEL-3386) Support destination address override by CxfProvider and CxfrsProvider

Support destination address override by CxfProvider and CxfrsProvider
---------------------------------------------------------------------

                 Key: CAMEL-3386
                 URL: https://issues.apache.org/jira/browse/CAMEL-3386
             Project: Camel
          Issue Type: New Feature
          Components: camel-cxf
            Reporter: William Tam
            Priority: Minor
             Fix For: 2.6.0


So far, users can only send requests to REST/SOAP service endpoints that have been explicitly defined in Camel routes.  Sometimes, it is useful to override the destination address at runtime (eliminating the need of adding an explicit route or the need of knowing about "future"  service endpoint deployment at the configuring time).  The assumption is these service endpoints are identical but running at different locations.  This feature can greatly simplify the route configuration if there are tens (or hundreds) of identical services to be invoked.

With the included patch, CxfProvider and CxfrsProvider will honor the CamelDestinationOverrideUrl header and use the value as the target address.  

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


[jira] Commented: (CAMEL-3386) Support destination address override by CxfProvider and CxfrsProvider

Posted by "William Tam (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CAMEL-3386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12969066#action_12969066 ] 

William Tam commented on CAMEL-3386:
------------------------------------

@Willem

I removed the client cache in CxfProducer as suggested.  The client factory bean cache in CxfrsProducer provider should probably stay.   There is no easy way to get at the request context.  If we find a way, It is probably a back door way.  The factory bean cache is light weight (not caching the client itself) and it uses SoftReference.  
Committed revision 1043223.


> Support destination address override by CxfProvider and CxfrsProvider
> ---------------------------------------------------------------------
>
>                 Key: CAMEL-3386
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3386
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-cxf
>            Reporter: William Tam
>            Assignee: William Tam
>            Priority: Minor
>             Fix For: 2.6.0
>
>         Attachments: CAMEL-3386.patch
>
>
> So far, users can only send requests to REST/SOAP service endpoints that have been explicitly defined in Camel routes.  Sometimes, it is useful to override the destination address at runtime (eliminating the need of adding an explicit route or the need of knowing about "future"  service endpoint deployment at the configuring time).  The assumption is these service endpoints are identical but running at different locations.  This feature can greatly simplify the route configuration if there are tens (or hundreds) of identical services to be invoked.
> With the included patch, CxfProvider and CxfrsProvider will honor the CamelDestinationOverrideUrl header and use the value as the target address.  

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


[jira] Updated: (CAMEL-3386) Support destination address override by CxfProvider and CxfrsProvider

Posted by "William Tam (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-3386?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

William Tam updated CAMEL-3386:
-------------------------------

    Attachment: CAMEL-3386.patch

> Support destination address override by CxfProvider and CxfrsProvider
> ---------------------------------------------------------------------
>
>                 Key: CAMEL-3386
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3386
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-cxf
>            Reporter: William Tam
>            Priority: Minor
>             Fix For: 2.6.0
>
>         Attachments: CAMEL-3386.patch
>
>
> So far, users can only send requests to REST/SOAP service endpoints that have been explicitly defined in Camel routes.  Sometimes, it is useful to override the destination address at runtime (eliminating the need of adding an explicit route or the need of knowing about "future"  service endpoint deployment at the configuring time).  The assumption is these service endpoints are identical but running at different locations.  This feature can greatly simplify the route configuration if there are tens (or hundreds) of identical services to be invoked.
> With the included patch, CxfProvider and CxfrsProvider will honor the CamelDestinationOverrideUrl header and use the value as the target address.  

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


[jira] Resolved: (CAMEL-3386) Support destination address override by CxfProvider and CxfrsProvider

Posted by "William Tam (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-3386?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

William Tam resolved CAMEL-3386.
--------------------------------

    Resolution: Fixed

Committed to trunk revision 1042677.


> Support destination address override by CxfProvider and CxfrsProvider
> ---------------------------------------------------------------------
>
>                 Key: CAMEL-3386
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3386
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-cxf
>            Reporter: William Tam
>            Assignee: William Tam
>            Priority: Minor
>             Fix For: 2.6.0
>
>         Attachments: CAMEL-3386.patch
>
>
> So far, users can only send requests to REST/SOAP service endpoints that have been explicitly defined in Camel routes.  Sometimes, it is useful to override the destination address at runtime (eliminating the need of adding an explicit route or the need of knowing about "future"  service endpoint deployment at the configuring time).  The assumption is these service endpoints are identical but running at different locations.  This feature can greatly simplify the route configuration if there are tens (or hundreds) of identical services to be invoked.
> With the included patch, CxfProvider and CxfrsProvider will honor the CamelDestinationOverrideUrl header and use the value as the target address.  

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


[jira] Commented: (CAMEL-3386) Support destination address override by CxfProvider and CxfrsProvider

Posted by "Willem Jiang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CAMEL-3386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12969012#action_12969012 ] 

Willem Jiang commented on CAMEL-3386:
-------------------------------------

Hi William

I'm sorry I just have a chance to review your patch. Here is my inputs:

1. You introduced a new header to override the target address CxfProvider and CxfRsProvider,  which is same as the CXF Message.ENDPOINT_ADDRESS does.
    You and find the unit test of override the target address here[1]
2. As CXF create the interceptor chain dynamically,  you don't need to create a new Client for each new address,  your solution is more like a Recipient List thing.

[1]https://svn.apache.org/repos/asf/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerContextTest.java

> Support destination address override by CxfProvider and CxfrsProvider
> ---------------------------------------------------------------------
>
>                 Key: CAMEL-3386
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3386
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-cxf
>            Reporter: William Tam
>            Assignee: William Tam
>            Priority: Minor
>             Fix For: 2.6.0
>
>         Attachments: CAMEL-3386.patch
>
>
> So far, users can only send requests to REST/SOAP service endpoints that have been explicitly defined in Camel routes.  Sometimes, it is useful to override the destination address at runtime (eliminating the need of adding an explicit route or the need of knowing about "future"  service endpoint deployment at the configuring time).  The assumption is these service endpoints are identical but running at different locations.  This feature can greatly simplify the route configuration if there are tens (or hundreds) of identical services to be invoked.
> With the included patch, CxfProvider and CxfrsProvider will honor the CamelDestinationOverrideUrl header and use the value as the target address.  

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


[jira] Commented: (CAMEL-3386) Support destination address override by CxfProvider and CxfrsProvider

Posted by "William Tam (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CAMEL-3386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12969030#action_12969030 ] 

William Tam commented on CAMEL-3386:
------------------------------------

Hi Willem,

Even the interceptor chain is created dynamically, it created based on the service endpoint configured in the route.  However, you point is well taken that we probably don't need to maintain client cache if we can set CXF's Exchange.ENDPOINT_ADDRESS in the Request Context to override the address.  I'll look into removing the client cache.

The new property in Camel was created with the intention that it can be reused by other component.   So, that probably will stay.

Thanks.

> Support destination address override by CxfProvider and CxfrsProvider
> ---------------------------------------------------------------------
>
>                 Key: CAMEL-3386
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3386
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-cxf
>            Reporter: William Tam
>            Assignee: William Tam
>            Priority: Minor
>             Fix For: 2.6.0
>
>         Attachments: CAMEL-3386.patch
>
>
> So far, users can only send requests to REST/SOAP service endpoints that have been explicitly defined in Camel routes.  Sometimes, it is useful to override the destination address at runtime (eliminating the need of adding an explicit route or the need of knowing about "future"  service endpoint deployment at the configuring time).  The assumption is these service endpoints are identical but running at different locations.  This feature can greatly simplify the route configuration if there are tens (or hundreds) of identical services to be invoked.
> With the included patch, CxfProvider and CxfrsProvider will honor the CamelDestinationOverrideUrl header and use the value as the target address.  

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


[jira] Assigned: (CAMEL-3386) Support destination address override by CxfProvider and CxfrsProvider

Posted by "William Tam (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-3386?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

William Tam reassigned CAMEL-3386:
----------------------------------

    Assignee: William Tam

> Support destination address override by CxfProvider and CxfrsProvider
> ---------------------------------------------------------------------
>
>                 Key: CAMEL-3386
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3386
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-cxf
>            Reporter: William Tam
>            Assignee: William Tam
>            Priority: Minor
>             Fix For: 2.6.0
>
>         Attachments: CAMEL-3386.patch
>
>
> So far, users can only send requests to REST/SOAP service endpoints that have been explicitly defined in Camel routes.  Sometimes, it is useful to override the destination address at runtime (eliminating the need of adding an explicit route or the need of knowing about "future"  service endpoint deployment at the configuring time).  The assumption is these service endpoints are identical but running at different locations.  This feature can greatly simplify the route configuration if there are tens (or hundreds) of identical services to be invoked.
> With the included patch, CxfProvider and CxfrsProvider will honor the CamelDestinationOverrideUrl header and use the value as the target address.  

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