<processor>
	<!-- Add outpu event adapter config element -->
	<add>
		<after>/outputEventAdaptersConfig/adapterConfig[@type="websocket"]</after>
		<value><![CDATA[<adapterConfig type="oauth-http">
      <!-- Thread Pool Related Properties -->
        <property key="minThread">8</property>
        <property key="maxThread">100</property>
        <property key="keepAliveTimeInMillis">20000</property>
        <property key="jobQueueSize">10000</property>
        <property key="connectionKeepAliveInterval">60</property>
        <property key="dcrUrl">https://${iot.keymanager.host}:${iot.keymanager.https.port}/client-registration/v0.12/register</property>
        <property key="tokenUrl">https://${iot.gateway.host}:${iot.gateway.https.port}/token</property>
        <property key="url">tcp://${mqtt.broker.host}:${mqtt.broker.port}</property>
        <property key="username">admin</property>
        <property key="password">admin</property>
    </adapterConfig>

    <adapterConfig type="oauth-mqtt">
      <!-- Thread Pool Related Properties -->
        <property key="minThread">8</property>
        <property key="maxThread">100</property>
        <property key="keepAliveTimeInMillis">20000</property>
        <property key="jobQueueSize">10000</property>
        <property key="connectionKeepAliveInterval">60</property>
        <property key="dcrUrl">https://${iot.keymanager.host}:${iot.keymanager.https.port}/client-registration/v0.12/register</property>
        <property key="tokenUrl">https://${iot.gateway.host}:${iot.gateway.https.port}/token</property>
        <property key="url">tcp://${mqtt.broker.host}:${mqtt.broker.port}</property>
        <property key="username">admin</property>
		<property key="password">admin</property>
		<property key="qos">2</property>
		<property key="clearSession">true</property>
    </adapterConfig>

    <adapterConfig type="secured-websocket">
        <!-- Thread Pool Related Properties -->
        <property key="minThread">8</property>
        <property key="maxThread">100</property>
        <property key="keepAliveTimeInMillis">20000</property>
        <property key="jobQueueSize">10000</property>
        <!--Authorizer holds the information of the authorizer that is used authorize a connection.-->
        <property key="authenticator">org.wso2.carbon.device.mgt.output.adapter.websocket.authentication.OAuthAuthenticator</property>
        <property key="tokenValidationUrl">https://${iot.keymanager.host}:${iot.keymanager.https.port}</property>
        <property key="maximumHttpConnectionPerHost">2</property>
        <property key="maximumTotalHttpConnection">100</property>
        <property key="authorizer">org.wso2.carbon.device.mgt.output.adapter.websocket.authorization.DeviceAuthorizer</property>
       	<property key="tokenUrl">https://${iot.gateway.host}:${iot.gateway.https.port}/token</property>
        <property key="deviceMgtServerUrl">https://${iot.gateway.host}:${iot.gateway.https.port}</property>
        <property key="username">admin</property>
        <property key="password">admin</property>
        <!--websocket connection permissions which are validated for grouping (can have multiple permission.)-->
        <!--offset time from expiry time to trigger refresh call (in seconds)-->
        <property key="tokenRefreshTimeOffset">100</property>
    </adapterConfig>]]></value>
	</add>
</processor>