blob: 42c22968c124c83150c1c5c2a3741565eadd72ea [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<services-config>
<services>
<service-include file-path="remoting-config.xml" />
<service-include file-path="proxy-config.xml" />
<service-include file-path="messaging-config.xml" />
</services>
<security>
<login-command class="flex.messaging.security.TomcatLoginCommand" server="Tomcat"/>
<!-- Uncomment the correct app server
<login-command class="flex.messaging.security.TomcatLoginCommand" server="JBoss"/>
<login-command class="flex.messaging.security.JRunLoginCommand" server="JRun"/>
<login-command class="flex.messaging.security.WeblogicLoginCommand" server="Weblogic"/>
<login-command class="flex.messaging.security.WebSphereLoginCommand" server="WebSphere"/>
-->
<!-- Security constraints that are used by samples in features/security-constraints/ -->
<!-- Basic authentication -->
<security-constraint id="sample-user-basic">
<auth-method>Basic</auth-method>
<!-- Roles are defined by the application server.
In Tomcat, they are in conf/tomcat-users.xml
-->
<roles>
<role>sampleusers</role>
</roles>
</security-constraint>
<!-- Custom authentication -->
<security-constraint id="sample-user-custom">
<auth-method>Custom</auth-method>
<roles>
<role>sampleusers</role>
</roles>
</security-constraint>
</security>
<channels>
<!-- AMF -->
<!-- A regular AMF channel -->
<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>false</polling-enabled>
<serialization>
<ignore-property-errors>false</ignore-property-errors>
<include-read-only>true</include-read-only>
<!-- Enable this for remoting_AMF_Vector.mxml test to work -->
<prefer-vectors>false</prefer-vectors>
-->
</serialization>
</properties>
</channel-definition>
<!-- A secure AMF channel -->
<channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel">
<endpoint url="https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure" class="flex.messaging.endpoints.SecureAMFEndpoint"/>
<properties>
<!--HTTPS requests on some browsers do not work when pragma "no-cache" are set-->
<add-no-cache-headers>false</add-no-cache-headers>
</properties>
</channel-definition>
<!-- A piggybacking AMF channel -->
<channel-definition id="my-amf-piggyback" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/myamfpiggyback"
class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>false</polling-enabled>
<piggybacking-enabled>true</piggybacking-enabled>
</properties>
</channel-definition>
<!-- A polling AMF channel -->
<channel-definition id="my-amf-poll" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/myamfpoll"
class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>true</polling-enabled>
<polling-interval-seconds>3</polling-interval-seconds>
</properties>
</channel-definition>
<!-- A long polling AMF channel -->
<channel-definition id="my-amf-longpoll" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/myamflongpoll"
class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<user-agent-settings>
<!--
<user-agent match-on="MSIE" max-streaming-connections-per-session=""1 kickstart-bytes="2048"/>
<user-agent match-on="Firefox" max-streaming-connections-per-session="1" kickstart-bytes="0"/>
-->
<!-- MSIE 5, 6, 7 limit is 2. -->
<user-agent match-on="MSIE" max-persistent-connections-per-session="1" kickstart-bytes="2048"/>
<!-- MSIE 8 limit is 6. -->
<user-agent match-on="MSIE 8" max-persistent-connections-per-session="5" kickstart-bytes="2048"/>
<!-- Firefox 1, 2 limit is 2. -->
<user-agent match-on="Firefox" max-persistent-connections-per-session="1"/>
<!-- Firefox 3 limit is 6. -->
<user-agent match-on="Firefox/3" max-persistent-connections-per-session="5"/>
<!-- Safari 3, 4 limit is 4. -->
<user-agent match-on="Safari" max-persistent-connections-per-session="3"/>
<!-- Chrome 0, 1, 2 limit is 6. -->
<user-agent match-on="Chrome" max-persistent-connections-per-session="5"/>
<!-- Opera 7, 9 limit is 4.-->
<user-agent match-on="Opera" max-persistent-connections-per-session="3"/>
<!-- Opera 8 limit is 8. -->
<user-agent match-on="Opera 8" max-persistent-connections-per-session="7"/>
<!-- Opera 10 limit is 8. -->
<user-agent match-on="Opera 9.8" max-persistent-connections-per-session="7"/>
</user-agent-settings>
<polling-enabled>true</polling-enabled>
<polling-interval-seconds>0</polling-interval-seconds>
<max-waiting-poll-requests>10</max-waiting-poll-requests>
<wait-interval-millis>-1</wait-interval-millis>
<client-wait-interval-millis>3000</client-wait-interval-millis>
</properties>
</channel-definition>
<!-- A second long polling AMF channel -->
<channel-definition id="my-amf-longpoll2" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/myamflongpoll2"
class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<user-agent-settings>
<user-agent match-on="Firefox" max-streaming-connections-per-session="4"/>
</user-agent-settings>
<polling-enabled>true</polling-enabled>
<polling-interval-seconds>0</polling-interval-seconds>
<max-waiting-poll-requests>10</max-waiting-poll-requests>
<wait-interval-millis>-1</wait-interval-millis>
<client-wait-interval-millis>3000</client-wait-interval-millis>
</properties>
</channel-definition>
<!-- A secure long polling AMF channel -->
<channel-definition id="my-amf-secure-longpoll" class="mx.messaging.channels.SecureAMFChannel">
<endpoint url="https://{server.name}:9400/{context.root}/messagebroker/mysecureamflongpoll"
class="flex.messaging.endpoints.SecureAMFEndpoint"/>
<properties>
<user-agent-settings>
<user-agent match-on="Firefox" max-streaming-connections-per-session="4"/>
</user-agent-settings>
<polling-enabled>true</polling-enabled>
<polling-interval-seconds>0</polling-interval-seconds>
<max-waiting-poll-requests>10</max-waiting-poll-requests>
<wait-interval-millis>-1</wait-interval-millis>
<client-wait-interval-millis>3000</client-wait-interval-millis>
</properties>
</channel-definition>
<!-- A streaming AMF channel with default options left in -->
<channel-definition id="my-amf-stream" class="mx.messaging.channels.StreamingAMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/myamfstream"
class="flex.messaging.endpoints.StreamingAMFEndpoint"/>
<properties>
<connection-idle-timeout-minutes>2</connection-idle-timeout-minutes>
<max-streaming-clients>10</max-streaming-clients>
<server-to-client-heartbeat-millis>5000</server-to-client-heartbeat-millis>
<user-agent-settings>
<user-agent match-on="MSIE" kickstart-bytes="2048" max-streaming-connections-per-session="1"/>
<user-agent match-on="Firefox" kickstart-bytes="0" max-streaming-connections-per-session="4"/>
</user-agent-settings>
</properties>
</channel-definition>
<channel-definition id="bad-amf-stream" class="mx.messaging.channels.StreamingAMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/badamfstream"
class="flex.messaging.endpoints.StreamingAMFEndpoint"/>
<properties>
<idle-timeout-minutes>0</idle-timeout-minutes>
<max-streaming-clients>10</max-streaming-clients>
<server-to-client-heartbeat-millis>5000</server-to-client-heartbeat-millis>
<user-agent-settings>
<user-agent match-on="MSIE" kickstart-bytes="2048" max-streaming-connections-per-session="0"/>
<user-agent match-on="Firefox" kickstart-bytes="0" max-streaming-connections-per-session="4"/>
</user-agent-settings>
</properties>
</channel-definition>
<!-- HTTP -->
<!-- A regular HTTP channel -->
<channel-definition id="my-http" class="mx.messaging.channels.HTTPChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/http" class="flex.messaging.endpoints.HTTPEndpoint"/>
<properties>
<polling-enabled>false</polling-enabled>
</properties>
</channel-definition>
<!-- A secure HTTP channel -->
<channel-definition id="my-secure-http" class="mx.messaging.channels.SecureHTTPChannel">
<endpoint url="https://{server.name}:{server.port}/{context.root}/messagebroker/httpsecure" class="flex.messaging.endpoints.SecureHTTPEndpoint"/>
<properties>
<!--HTTPS requests on some browsers do not work when pragma "no-cache" are set-->
<add-no-cache-headers>false</add-no-cache-headers>
</properties>
</channel-definition>
<!-- A piggybacking HTTP channel -->
<channel-definition id="my-http-piggyback" class="mx.messaging.channels.HTTPChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/myhttppiggyback"
class="flex.messaging.endpoints.HTTPEndpoint"/>
<properties>
<polling-enabled>false</polling-enabled>
<piggybacking-enabled>true</piggybacking-enabled>
</properties>
</channel-definition>
<!-- A polling HTTP channel -->
<channel-definition id="my-http-poll" class="mx.messaging.channels.HTTPChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/myhttppoll"
class="flex.messaging.endpoints.HTTPEndpoint"/>
<properties>
<polling-enabled>true</polling-enabled>
<polling-interval-seconds>3</polling-interval-seconds>
</properties>
</channel-definition>
<!-- A long polling HTTP channel -->
<channel-definition id="my-http-longpoll" class="mx.messaging.channels.HTTPChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/myhttplongpoll"
class="flex.messaging.endpoints.HTTPEndpoint"/>
<properties>
<polling-enabled>true</polling-enabled>
<polling-interval-seconds>0</polling-interval-seconds>
<max-waiting-poll-requests>10</max-waiting-poll-requests>
<wait-interval-millis>-1</wait-interval-millis>
<client-wait-interval-millis>3000</client-wait-interval-millis>
</properties>
</channel-definition>
<!-- A streaming HTTP channel with default options left out -->
<channel-definition id="my-http-stream" class="mx.messaging.channels.StreamingHTTPChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/myhttpstream"
class="flex.messaging.endpoints.StreamingHTTPEndpoint"/>
</channel-definition>
<channel-definition id="bad-http-stream" class="mx.messaging.channels.StreamingHTTPChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/badhttpstream"
class="flex.messaging.endpoints.StreamingHTTPEndpoint"/>
<properties>
<max-streaming-clients>10</max-streaming-clients>
<server-to-client-heartbeat-millis>5000</server-to-client-heartbeat-millis>
<user-agent-settings>
<user-agent match-on="MSIE" kickstart-bytes="2048" max-streaming-connections-per-session="0"/>
<user-agent match-on="Firefox" kickstart-bytes="0" max-streaming-connections-per-session="0"/>
</user-agent-settings>
</properties>
</channel-definition>
<!-- Clustering -->
<!-- A polling AMF channel to be used in clustered destinations. This means
all tokens (server.name, server.port, etc.) removed from endpoint url
-->
<channel-definition id="my-amf-poll-for-cluster" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://localhost:8400/team/messagebroker/myamfpollforcluster"
class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>true</polling-enabled>
<polling-interval-seconds>3</polling-interval-seconds>
</properties>
</channel-definition>
<!-- A polling HTTP channel to be used in clustered destinations. This means
all tokens (server.name, server.port, etc.) removed from endpoint url
-->
<channel-definition id="my-http-poll-for-cluster" class="mx.messaging.channels.HTTPChannel">
<endpoint url="http://localhost:8400/team/messagebroker/myhttppollforcluster"
class="flex.messaging.endpoints.HTTPEndpoint"/>
<properties>
<polling-enabled>true</polling-enabled>
<polling-interval-seconds>3</polling-interval-seconds>
</properties>
</channel-definition>
<!-- A secure polling AMF channel to be used in clustered destinations. This means
all tokens (server.name, server.port, etc.) removed from endpoint url
-->
<channel-definition id="my-secure-amf-poll-for-cluster" class="mx.messaging.channels.SecureAMFChannel">
<endpoint url="https://localhost:9400/team/messagebroker/mysecureamfpollforcluster"
class="flex.messaging.endpoints.SecureAMFEndpoint"/>
<properties>
<!--HTTPS requests on some browsers do not work when pragma "no-cache" are set-->
<add-no-cache-headers>false</add-no-cache-headers>
<polling-enabled>true</polling-enabled>
<polling-interval-seconds>3</polling-interval-seconds>
</properties>
</channel-definition>
<!-- A secure polling HTTP channel to be used in clustered destinations. This means
all tokens (server.name, server.port, etc.) removed from endpoint url
-->
<channel-definition id="my-secure-http-poll-for-cluster" class="mx.messaging.channels.SecureHTTPChannel">
<endpoint url="https://localhost:9400/team/messagebroker/mysecurehttppollforcluster"
class="flex.messaging.endpoints.SecureHTTPEndpoint"/>
<properties>
<!--HTTPS requests on some browsers do not work when pragma "no-cache" are set-->
<add-no-cache-headers>false</add-no-cache-headers>
<polling-enabled>true</polling-enabled>
<polling-interval-seconds>3</polling-interval-seconds>
</properties>
</channel-definition>
<!-- A regular AMF channel with login-after-disconnect enabled. This channel is used
by security-constraint samples.
-->
<channel-definition id="my-amf-loginafterdisconnect" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amfloginafterdisconnect"
class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>false</polling-enabled>
<login-after-disconnect>true</login-after-disconnect>
</properties>
</channel-definition>
</channels>
<logging>
<target class="flex.messaging.log.ConsoleTarget" level="Debug">
<properties>
<prefix>[BlazeDS] </prefix>
<includeDate>false</includeDate>
<includeTime>false</includeTime>
<includeLevel>true</includeLevel>
<includeCategory>true</includeCategory>
</properties>
<filters>
<!--
<pattern>Endpoint.FlexSession</pattern>
<pattern>Client.FlexClient</pattern>
<pattern>Client.MessageClient</pattern>
<pattern>Endpoint.*</pattern>
<pattern>Service.*</pattern>
<pattern>Configuration</pattern>
-->
</filters>
</target>
</logging>
<system>
<!--
<enforce-endpoint-validation>false</enforce-endpoint-validation>
-->
<manageable>true</manageable>
<!--
<redeploy>
<enabled>true</enabled>
<watch-interval>20</watch-interval>
<watch-file>{context.root}/WEB-INF/flex/services-config.xml</watch-file>
<watch-file>{context.root}/WEB-INF/flex/proxy-config.xml</watch-file>
<watch-file>{context.root}/WEB-INF/flex/remoting-config.xml</watch-file>
<watch-file>{context.root}/WEB-INF/flex/messaging-config.xml</watch-file>
<touch-file>{context.root}/WEB-INF/web.xml</touch-file>
</redeploy>
-->
</system>
<clusters>
<cluster id="default-cluster" properties="jgroups-tcp.xml" default="false" url-load-balancing="true"/>
<cluster id="udp-cluster" properties="jgroups-udp.xml" default="false" url-load-balancing="true"/>
</clusters>
<flex-client>
<!--
<timeout-minutes>45</timeout-minutes>
<heartbeat-interval-millis>5000</heartbeat-interval-millis>
-->
</flex-client>
<!-- Deserialization validator, uncomment the one you want to use -->
<validators>
<!--
<validator class="features.validators.deserialization.TestDeserializationValidator"/>
-->
<!--
<validator class="flex.messaging.validators.ClassDeserializationValidator">
<properties>
<disallow-classes>
</disallow-classes>
<allow-classes>
<class name="java.*"/>
<class name="\[Ljava.*"/>
<class name="flex.*"/>
</allow-classes>
</properties>
</validator>
-->
</validators>
</services-config>