yes, that feature needs to be combined with the audit=false destinationPolicy

2011/12/7 SuoNayi <[email protected]>:
> Another confusion abount forwarding messages and back.
> The lastest release version such as apache-activemq-5.5.1-fuse-01-06 and 
> apache-activemq-5.5.1-fuse-01-11 has added a new 
> conditionalNetworkBridgeFilter to allow messages to be forwarded back to the 
> original broker where it come from.
> while in the forward process,forward bridge does not set new messageId for 
> the message.
> Duplicate audit will be applied when the message comes back from the remote 
> broker and it will be recognized to be duplicate message and suppressed, 
> won't it?
> Counld someone make me clear?
> Thanks.
>
>
> At 2011-12-07 12:36:31,SuoNayi <[email protected]> wrote:
>>I have tested apache-activemq-5.5.1-fuse-01-06 and 
>>apache-activemq-5.5.1-fuse-01-11 and they don't work as well.
>>I'm depressed so much after lots of tests.
>>My configuration files are the following:
>>------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>><beans
>>  xmlns="http://www.springframework.org/schema/beans";
>>  xmlns:amq="http://activemq.apache.org/schema/core";
>>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>  xsi:schemaLocation="http://www.springframework.org/schema/beans 
>> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
>>  http://activemq.apache.org/schema/core 
>> http://activemq.apache.org/schema/core/activemq-core.xsd";>
>>
>>    <bean 
>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
>>
>>    <broker xmlns="http://activemq.apache.org/schema/core"; 
>> brokerName="mybroker1" dataDirectory="${activemq.base}/data">
>>
>>        <destinationPolicy>
>>            <policyMap>
>>                <policyEntries>
>>                    <policyEntry queue=">" producerFlowControl="false" 
>> memoryLimit="512mb">
>>                        <networkBridgeFilterFactory>
>>                            <conditionalNetworkBridgeFilterFactory 
>> replayWhenNoConsumers="true" />
>>                        </networkBridgeFilterFactory>
>>                    </policyEntry>
>>                    <policyEntry topic=">" producerFlowControl="true" 
>> memoryLimit="20mb">
>>                    </policyEntry>
>>                </policyEntries>
>>            </policyMap>
>>        </destinationPolicy>
>>
>>        <managementContext>
>>            <managementContext createConnector="true"/>
>>        </managementContext>
>>
>>        <networkConnectors>
>>            <networkConnector     uri="multicast://default?group=knet"
>>                                  name="nc1"
>>                                duplex="true"
>>                                networkTTL="6"
>>                                dynamicOnly="true"
>>                                prefetchSize="1"
>>                                conduitSubscriptions="true"
>>                                suppressDuplicateQueueSubscriptions="true"
>>                                suppressDuplicateTopicSubscriptions="true"
>>                                decreaseNetworkConsumerPriority="true" />
>>        </networkConnectors>
>>
>>        <persistenceAdapter>
>>            <kahaDB directory="${activemq.base}/data/kahadb" 
>> enableJournalDiskSyncs="false" indexWriteBatchSize="10000" 
>> indexCacheSize="1000"/>
>>        </persistenceAdapter>
>>
>>        <systemUsage>
>>            <systemUsage>
>>                <memoryUsage>
>>                    <memoryUsage limit="1 gb"/>
>>                </memoryUsage>
>>                <storeUsage>
>>                    <storeUsage limit="10 gb" name="foo"/>
>>                </storeUsage>
>>                <tempUsage>
>>                    <tempUsage limit="1 gb"/>
>>                </tempUsage>
>>            </systemUsage>
>>        </systemUsage>
>>
>>        <transportConnectors>
>>            <transportConnector name="openwire" uri="tcp://0.0.0.0:61616" 
>> discoveryUri="multicast://default?group=knet" />
>>        </transportConnectors>
>>
>>
>>    </broker>
>>    <import resource="jetty.xml"/>
>></beans>
>>------------------------------------------------------------------------------------------------------------------------------------------------------
>><beans
>>  xmlns="http://www.springframework.org/schema/beans";
>>  xmlns:amq="http://activemq.apache.org/schema/core";
>>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>  xsi:schemaLocation="http://www.springframework.org/schema/beans 
>> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
>>  http://activemq.apache.org/schema/core 
>> http://activemq.apache.org/schema/core/activemq-core.xsd";>
>>
>>    <bean 
>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
>>
>>    <broker xmlns="http://activemq.apache.org/schema/core"; 
>> brokerName="mybroker2" dataDirectory="${activemq.base}/data">
>>
>>        <destinationPolicy>
>>            <policyMap>
>>                <policyEntries>
>>                    <policyEntry queue=">" producerFlowControl="false" 
>> memoryLimit="512mb">
>>                        <networkBridgeFilterFactory>
>>                            <conditionalNetworkBridgeFilterFactory 
>> replayWhenNoConsumers="true" />
>>                        </networkBridgeFilterFactory>
>>                    </policyEntry>
>>                    <policyEntry topic=">" producerFlowControl="true" 
>> memoryLimit="20mb">
>>                    </policyEntry>
>>                </policyEntries>
>>            </policyMap>
>>        </destinationPolicy>
>>
>>        <managementContext>
>>            <managementContext createConnector="false"/>
>>        </managementContext>
>>
>>        <networkConnectors>
>>            <networkConnector     uri="multicast://default?group=knet"
>>                                  name="nc2"
>>                                duplex="true"
>>                                networkTTL="6"
>>                                dynamicOnly="true"
>>                                prefetchSize="1"
>>                                conduitSubscriptions="true"
>>                                suppressDuplicateQueueSubscriptions="true"
>>                                suppressDuplicateTopicSubscriptions="true"
>>                                decreaseNetworkConsumerPriority="true" />
>>        </networkConnectors>
>>
>>        <persistenceAdapter>
>>            <kahaDB directory="${activemq.base}/data/kahadb" 
>> enableJournalDiskSyncs="false" indexWriteBatchSize="10000" 
>> indexCacheSize="1000"/>
>>        </persistenceAdapter>
>>
>>        <systemUsage>
>>            <systemUsage>
>>                <memoryUsage>
>>                    <memoryUsage limit="1 gb"/>
>>                </memoryUsage>
>>                <storeUsage>
>>                    <storeUsage limit="10 gb" name="foo"/>
>>                </storeUsage>
>>                <tempUsage>
>>                    <tempUsage limit="1 gb"/>
>>                </tempUsage>
>>            </systemUsage>
>>        </systemUsage>
>>
>>        <transportConnectors>
>>            <transportConnector name="openwire" uri="tcp://0.0.0.0:61616" 
>> discoveryUri="multicast://default?group=knet" />
>>        </transportConnectors>
>>
>>
>>    </broker>
>>    <import resource="jetty.xml"/>
>></beans>
>>---------------------------------------------------------------------------------------------------------------------------------------------------------
>>
>>
>>
>>
>>At 2011-12-07 00:05:42,"Torsten Mielke" <[email protected]> wrote:
>>>Yep, the latest release version.
>>>I have already seen a customer using it.
>>>
>>>
>>>
>>>On Dec 6, 2011, at 5:02 PM, SuoNayi wrote:
>>>
>>>> Thanks Torsten,It's the release version not snapshot version,right?
>>>>
>>>> http://repo.fusesource.com/nexus/content/repositories/releases/org/apache/activemq/apache-activemq/5.5.1-fuse-01-06/
>>>>
>>>>
>>>>
>>>>
>>>> At 2011-12-06 23:44:49,"Torsten Mielke" <[email protected]> wrote:
>>>>> The latest 5.5 release from FuseSource should already have this feature 
>>>>> implemented, AFAIK.
>>>>>
>>>>>
>>>>> On Dec 6, 2011, at 3:43 PM, SuoNayi wrote:
>>>>>
>>>>>> Yes, it's a feature of AMQ 5.6 which is not released yet.
>>>>>> The trunk is a snapshot version but I want a release version for my 
>>>>>> product enviroment.
>>>>>> So I want to modify some to solve this issue.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> At 2011-12-06 19:44:36,"Torsten Mielke" <[email protected]> wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> Is it the replayWhenNoConsumers feature that you're looking for?
>>>>>>>
>>>>>>> <conditionalNetworkBridgeFilterFactory replayWhenNoConsumers="true" />
>>>>>>>
>>>>>>> See http://activemq.apache.org/networks-of-brokers.html, part "Stuck 
>>>>>>> messages".
>>>>>>>
>>>>>>>
>>>>>>> Torsten Mielke
>>>>>>> [email protected]
>>>>>>> [email protected]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Dec 6, 2011, at 6:54 AM, SuoNayi wrote:
>>>>>>>
>>>>>>>> Hi all and professionals at fusesource, is there a simple way to solve 
>>>>>>>> the issuse of stuck messages when network?
>>>>>>>> Could I modify some source code ,for example the 
>>>>>>>> matchesForwardingFilter method in the class NetworkBridgeFilter ?
>>>>>>>> I want to annotate the line code which checks a message passes through 
>>>>>>>> the target broker or not,
>>>>>>>> but this maybe cause other potential and unknown problem.
>>>>>>>> So could anyone give me a advice or some tips?Thanks a lot!
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>
>>>>> Torsten Mielke
>>>>> [email protected]
>>>>> [email protected]
>>>
>>
>>
>>
>>
>>--
>>
>>Wangyin
>>[email protected]
>>



-- 
http://fusesource.com
http://blog.garytully.com

Reply via email to