synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Afkham Azeez <afk...@gmail.com>
Subject Re: Ability to dynamically define endpoints
Date Fri, 10 Feb 2012 07:02:53 GMT
The easiest way to implement this is to change the getEndpointFactory
method in org.apache.synapse.config.xml.endpoints.EndpointFactory. If the
factory class is specified in the endpoint, it will simply use that, if
not, it will continue to search the list of known endpoints. So, my
previous example will change to;

<endpoint name="sdlbEndpoint">
    <session type="http">
        <!-- Session timout is 15mins-->
        <sessionTimeout>900000</sessionTimeout>
    </session>
    <tenantAwareLoadbalance *
factory="org.wso2.carbon.endpoints.TenantAwareLBEndpointFactory"*
                               failover="true"

 algorithm="org.apache.synapse.endpoints.algorithms.RoundRobin"
                               configuration="$system:loadbalancer.xml"/>
</endpoint>


Is this an acceptable change?

On Fri, Feb 10, 2012 at 12:16 PM, Afkham Azeez <afkham@gmail.com> wrote:

> I think the simplest thing to do is to specify the class inline;
>
> e.g.
>
> <endpoint name="sdlbEndpoint">
>     <session type="http">
>         <!-- Session timout is 15mins-->
>         <sessionTimeout>900000</sessionTimeout>
>     </session>
>     <tenantAwareLoadbalance *
> class="org.wso2.carbon.endpoints.TenantAwareLBEndpoint"*
>                                failover="true"
>
>  algorithm="org.apache.synapse.endpoints.algorithms.RoundRobin"
>                                configuration="$system:loadbalancer.xml"/>
> </endpoint>
>
> So the config builder will know which class to instantiate when it
> encounters an unknown endpoint type such as tenantAwareLoadbalance.
>
>
> On Fri, Feb 10, 2012 at 11:54 AM, Hiranya Jayathilaka <
> hiranya911@gmail.com> wrote:
>
>>
>>
>> On Thu, Feb 9, 2012 at 9:00 PM, Supun Kamburugamuva <supun06@gmail.com>wrote:
>>
>>> May be using a service providers is not a good idea. Lately we have not
>>> used this approach for registering things because of its sun specific
>>> nature. We use the synapse.properties file for registering the XPath
>>> extensions. It is a best place for placing this kind of extensions because
>>> we are not going to develop lot of endpoints like we do for mediators.
>>>
>>
>> +1
>>
>> We should look for a simple and open way of registering endpoints (and
>> mediators) as Java extensions.
>>
>> Thanks,
>> Hiranya
>>
>>
>>>
>>> Thanks,
>>> Supun..
>>>
>>>
>>> On Thu, Feb 9, 2012 at 9:50 AM, Udayanga Wickramasinghe <
>>> udayanga@wso2.com> wrote:
>>>
>>>>
>>>>
>>>> On Thu, Feb 9, 2012 at 2:27 PM, Afkham Azeez <afkham@gmail.com> wrote:
>>>>
>>>>> Sorry, when I said endpoint, I meant endpoint type such as
>>>>> AddressEndpoint, DynamicLoadbalanceEndpoint etc. These endpoint types
>>>>> cannot be externally defined right now.
>>>>
>>>>
>>>> +1
>>>> one option is to use Java *Service providers  to register endpoint
>>>> factories*/serializers.  This approach is currently have been used for
>>>> pluggin in external  mediators
>>>> Regards,
>>>> udayanga
>>>>
>>>>>
>>>>>
>>>>> On Thu, Feb 9, 2012 at 2:13 PM, <askde3@gmail.com> wrote:
>>>>>
>>>>>> **
>>>>>> I guess you can define and register the end points from your ESB
>>>>>> using ws-discovery to a WSO2 Registry , later write a custom mediation
from
>>>>>> synapse to retrieve the EPR from Registry using Discovery api and
>>>>>> dynamically route the request to that end point
>>>>>> Sent using BlackBerry® from Orange
>>>>>> ------------------------------
>>>>>> *From: * Afkham Azeez <afkham@gmail.com>
>>>>>> *Date: *Thu, 9 Feb 2012 13:29:58 +0530
>>>>>> *To: *<dev@synapse.apache.org>
>>>>>> *ReplyTo: * dev@synapse.apache.org
>>>>>> *Subject: *Ability to dynamically define endpoints
>>>>>>
>>>>>> This is a requirement we have in the WSO2 Load Balancer which uses
>>>>>> Synapse. At present, endpoints cannot be defined externally we are
forced
>>>>>> to use the predefined endpoint sets. However, we require a special
endpoint
>>>>>> which does stuff specific to our setup. How easy or difficult is
it to
>>>>>> change Synapse to do this?
>>>>>>
>>>>>> Thanks
>>>>>> Azeez
>>>>>>
>>>>>>
>>>>
>>>>
>>>> --
>>>> *Udayanga Wickramasinghe*
>>>> Software Engineer; WSO2 Inc.; http://wso2.com,
>>>> *email: **udayanga@wso2.com* <udayangaw@wso2.com>* cell: +94 (77)
>>>> 983-4365
>>>> blog: **http://udayangawiki.blogspot.com*<http://udayangawiki.blogspot.com/>
>>>> *
>>>> twitter: **http://twitter.com/udayanga_wick*<http://twitter.com/udayanga_wick>
>>>> *
>>>> *
>>>>
>>>
>>>
>>>
>>> --
>>> Supun Kamburugamuva
>>> Member, Apache Software Foundation; http://www.apache.org
>>> E-mail: supun06@gmail.com <supun@wso2.com>;  Mobile: +94 77 431 3585
>>> Blog: http://supunk.blogspot.com
>>>
>>>
>>>
>>>
>>
>>
>> --
>> Hiranya Jayathilaka
>> Associate Technical Lead;
>> WSO2 Inc.;  http://wso2.org
>> E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
>> Blog: http://techfeast-hiranya.blogspot.com
>>
>
>
>
> --
> *Afkham Azeez*
> Director of Architecture; WSO2, Inc.; http://wso2.com,
> *Member; Apache Software Foundation; **http://www.apache.org/*<http://www.apache.org/>
> *
> *
> *email: **azeez@wso2.com* <azeez@wso2.com>* cell: +94 77 3320919
> blog: **http://blog.afkham.org* <http://blog.afkham.org>*
> twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez>
> *
> linked-in: **http://lk.linkedin.com/in/afkhamazeez*
> *
> *
> *Lean . Enterprise . Middleware*
> *
> *
>
>


-- 
*Afkham Azeez*
Director of Architecture; WSO2, Inc.; http://wso2.com,
*Member; Apache Software Foundation;
**http://www.apache.org/*<http://www.apache.org/>
*
*
*email: **azeez@wso2.com* <azeez@wso2.com>* cell: +94 77 3320919
blog: **http://blog.afkham.org* <http://blog.afkham.org>*
twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez>
*
linked-in: **http://lk.linkedin.com/in/afkhamazeez*
*
*
*Lean . Enterprise . Middleware*
*
*

Mime
View raw message