<?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> |