camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bengt Rodehav <be...@rodehav.com>
Subject Re: How to specify a time zone for camel-quartz
Date Thu, 18 Aug 2011 09:19:52 GMT
Claus,

I've now solved the problem by creating a String->TimeZone converter.

My converter looks like this:

*public class String2TimeZoneConverter implements TypeConverter {
>   @SuppressWarnings("unchecked")
>   public <T> T convertTo(Class<T> type, Object value) {
>     return (T) TimeZone.getTimeZone((String) value);
>   }
>   public <T> T convertTo(Class<T> type, Exchange exchange, Object value)
{
>     return convertTo(type, value);
>   }
>   public <T> T mandatoryConvertTo(Class<T> type, Object value) {
>     return convertTo(type, value);
>   }
>   public <T> T mandatoryConvertTo(Class<T> type, Exchange exchange, Object
> value) {
>     return convertTo(type, value);
>   }
> }*

*
*
I currently set the converter explicitly on the context like this:

*context.getTypeConverterRegistry().addTypeConverter(TimeZone.class,
> String.class, new String2TimeZoneConverter());*


I can then create an endpoint using the following URI:

quartz://groupName/timerName?cron=<cronExpression>&trigger.timeZone=Europe/Stockholm

I guess it would be useful to include a String->TimeZone converter in camel
core. What do you think?

/Bengt



2011/8/16 Bengt Rodehav <bengt@rodehav.com>

> Claus,
>
> I think I spoke to soon. I didn't test what I thought I was testing and
> when verifiying again it does seem like a type converter is needed just like
> you wrote. I''ll keep you posted when I get it to work.
>
> /Bengt
>
>
> 2011/8/16 Claus Ibsen <claus.ibsen@gmail.com>
>
>> On Tue, Aug 16, 2011 at 12:34 PM, Bengt Rodehav <bengt@rodehav.com>
>> wrote:
>> > Thanks for your reply Claus,
>> >
>> > I hadn't noticed the "trigger.XXX" syntax in camel-quartz. I tried the
>> > following syntax:
>> >
>> >
>> quartz://groupName/timerName?cron=<cronExpression>&trigger.timeZone=Europe/Stockholm
>> >
>> > This seems to work without having to implement a String ->TimeZone
>> > converter. I don't know why but as long as it works I'm happy.
>> >
>>
>> Camel also uses the JDK java bean property "thingy" which apparently
>> work for TimeZone.
>>
>> I added your example to the quartz wiki page
>>
>>
>> > Thanks for your help,
>> >
>> > /Bengt
>> >
>> > 2011/8/15 Claus Ibsen <claus.ibsen@gmail.com>
>> >
>> >> On Mon, Aug 15, 2011 at 8:50 AM, Bengt Rodehav <bengt@rodehav.com>
>> wrote:
>> >> > I have previously been using the Quartz support in ServiceMix 3.x.
In
>> >> those
>> >> > configurations we always specified the time zone as a separate
>> property.
>> >> > Since a while back we've migrated to Camel and thus use camel-quartz
>> for
>> >> > this. We currently use Camel 2.7.1.
>> >> >
>> >> > However, I cannot see an option in camel-quartz to specify the time
>> zone
>> >> for
>> >> > my cron expressions. It seems like a missing feature.
>> >> > camel-quartz seems to use UTC  (not the local time zone) but I'm not
>> 100%
>> >> > sure on this. Anyway, it is very important to being able to specify
a
>> >> > timezone for the cron expression.
>> >> >
>> >> > Does anyone know if this is supported?
>> >> >
>> >>
>> >> It seems you set in on the trigger
>> >>
>> >>
>> http://www.quartz-scheduler.org/api/1.8.1/org/quartz/CronTrigger.html#setTimeZone(java.util.TimeZone)
>> >>
>> >> So something like in the uri
>> >>
>> >> quartz:xxxx?trigger.timeZone=yyy
>> >>
>> >> However we may need a String -> TimeZone converter.
>> >>
>> >>
>> >> It also looks as if you can specify it in the cron syntax
>> >> http://forums.terracotta.org/forums/posts/list/5142.page
>> >>
>> >>
>> >> Maybe we should also allow people to set a timezone on the quartz
>> >> component, so it will use that as a default, in case the endpoint has
>> >> not been configured with an explicit timezone?
>> >>
>> >> Fell free to create a JIRA ticket
>> >>
>> >> And as we love contribution, then patches with unit tests is welcome :)
>> >>
>> >>
>> >> > /Bengt
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Claus Ibsen
>> >> -----------------
>> >> FuseSource
>> >> Email: cibsen@fusesource.com
>> >> Web: http://fusesource.com
>> >> Twitter: davsclaus, fusenews
>> >> Blog: http://davsclaus.blogspot.com/
>> >> Author of Camel in Action: http://www.manning.com/ibsen/
>> >>
>> >
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> FuseSource
>> Email: cibsen@fusesource.com
>> Web: http://fusesource.com
>> Twitter: davsclaus, fusenews
>> Blog: http://davsclaus.blogspot.com/
>> Author of Camel in Action: http://www.manning.com/ibsen/
>>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message