Hello,

I've tried property timeToLive in <jms:provider /> endpoint, but this is not
setting the JMSExpiration property. But I noticed that <jms:provider /> do
not use my custom marshaler. Do you know when <jms:provider /> endpoint
ignore custom marshalers?

2008/11/26 Gert Vanthienen <[EMAIL PROTECTED]>

> L.S.,
>
> The JMSExpiration you set in the Marshaler is probably being overridden by
> the TimeToLive value specified on the Producer.
> Could you try adding the timeToLive="10000" attribute to your
> <jms:provider/> endpoint to see if that yields the desired result?
>
> Regards,
>
> Gert
>
>
>
> razu programista wrote:
>
>> Hello everybody,
>> I have a problem with removing unused messages from ActiveMQ queue. The
>> problem is that when I peek messages which resides in ActiveMQ queue in
>> jconsole, I see that their JMSExpiration property is set to 0. But I wrote
>> my own jms provider marshaler which sets this property to my custom value.
>> The code looks like:
>>
>> // marshaler
>>
>> import javax.jbi.messaging.MessageExchange;
>> import javax.jbi.messaging.NormalizedMessage;
>> import javax.jms.Message;
>>
>> import org.apache.servicemix.jms.endpoints.DefaultProviderMarshaler;
>>
>> public class MyMarshaler extends DefaultProviderMarshaler {
>>
>>    public void populateMessage(Message message, MessageExchange exchange,
>> NormalizedMessage normalizedMessage) throws Exception {
>>        super.populateMessage(message, exchange, normalizedMessage);
>>        message.setJMSExpiration(10000);
>>    }
>> }
>>
>> // jms xbean.xml config
>>
>> <jms:provider service="test:clientProviderService"
>>       endpoint="clientProviderEndpoint"
>>       destinationName="outClientQueue"
>>       marshaler="#myMarshaler"
>>       connectionFactory="#connectionFactory"/>
>>
>> <bean id="myMarshaler" class="com.test.MyMarshaler" />
>>
>>
>>
>> Despite of setting JMSExpiration property in custom marshaler,
>> JMSExpiration
>> property is 0. Have you any idea what is wrong?
>>
>>
>>
>
>

Reply via email to