У меня есть приложение Adobe Air 2.0, которое также использует интеграцию Spring BlazeDS.Внутри этого приложения у меня есть несколько сеток данных.Дизайн был для каждой модели сетки, чтобы зарегистрировать Потребителя для прослушивания изменений, выдвинутых BlazeDS.Первая созданная сетка работает правильно, однако каждая последующая сетка вызывает следующее предупреждение в BlazeDS
[WARN] [Endpoint.StreamingAMF] Endpoint with id 'streaming-amf' received a duplicate streaming connection request from, FlexClient with id ''
У меня сложилось впечатление, что в приложении Flex / Air может быть несколько потребителей.Я ошибаюсь или просто что-то пропустил в своей конфигурации?
Определение канала на стороне сервера
<channel-definition id="streaming-amf" class="mx.messaging.channels.StreamingAMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/streamingamf" class="flex.messaging.endpoints.StreamingAMFEndpoint"/>
<properties>
<add-no-cache-headers>false</add-no-cache-headers>
<max-streaming-clients>15</max-streaming-clients>
<user-agent-settings>
<user-agent match-on="AdobeAIR" kickstart-bytes="2048" max-streaming-connections-per-session="2" />
<user-agent match-on="MSIE" kickstart-bytes="2048" max-streaming-connections-per-session="3" />
<user-agent match-on="Firefox" kickstart-bytes="2048" max-streaming-connections-per-session="3" />
</user-agent-settings>
</properties>
</channel-definition>
Код для набора каналов
<s:ChannelSet id="pricingCS">
<s:channels>
<s:StreamingAMFChannel id="streaming-amf"
url="http://localhost:8080/blazeds/messagebroker/streamingamf"
connectTimeout="5"/>
</s:channels>
</s:ChannelSet>
Код для потребителя
consumer = new Consumer();
consumer.id = "pricingConsumer";
consumer.destination = "pricingUpdates";
consumer.subtopic = pId;
consumer.channelSet = channelSet;
consumer.addEventListener(MessageEvent.MESSAGE, priceUpdate);
consumer.addEventListener(MessageFaultEvent.FAULT, priceUpdateFail);
consumer.subscribe();