hi,

Broker Proxy is a component which users can be used to configure the broker
details. Most of the time it is used to store the
connection details of the Brokers out side the WSO2 Carbon product. These
brokers can be in different types eg. ws-event, jms etc..

The configuration file looks like this,

<brokerProxyConfiguration xmlns="http://wso2.org/carbon/brokerproxy";>
    <brokerProxyType name="ws-event"

class="org.wso2.carbon.brokerproxy.core.internal.ws.WSBrokerProxyTypeFactory">
         <property name="uri"></property>
         <property name="username"></property>
         <property name="password"></property>
    </brokerProxyType>
    <brokerProxy name="wsEventServerProxy" type="ws-event">
         <property name="uri">
https://localhost:9444/services/EventBrokerService</property>
         <property name="username">admin</property>
         <property name="password">admin</property>
    </brokerProxy>
</brokerProxyConfiguration>

The types section is used to define different types of brokers with there
properties. So we can plug any type of broker just implementing relevant
classes and adding an entry here.

Then actual broker details can be given in broker proxy configuration. Later
we can add a UI to configure them.

OSGI interface looks like this,

public interface BrokerProxyService {

    public List<BrokerProxyTypeDto> getBrokerProxyTypes();

    public void addBrokerProxy(BrokerProxy brokerProxy);

    public void removeBrokerProxy(BrokerProxy brokerProxy);

    public List<BrokerProxy> getAllBrokerProxies();

    public void subscribe(String brokerProxyName,
                          String topicName,
                          BrokerProxyListener brokerProxyListener)
                                            throws
BPEventProcessingException;

    public void publish(String brokerProxyName,
                        String topicName,
                        OMElement message) throws
BPEventProcessingException;

}

thanks,
Amila.
_______________________________________________
Carbon-dev mailing list
[email protected]
https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to