I really have no idea whether this is a problem with CXF, but it was the last 
element in the chain, where before it the data seemed to be sane.

I have a CXF/Spring app running in Tomcat (TomEE).  In the controller method I 
print a date value and the default timezone to stdout.  I also store the date 
value and tzoffset in an object that I serialize in the return through JAX-RS.  
Running on my desktop, it looks fine.  It shows a time in PST (my local 
timezone) and the correct tzoffset for that timezone.

I then run that same app in TomEE running in a Docker container on another box.

I first noticed that the container was running in UTC, so I mounted 
/etc/timezone from the host, and now the container is properly in PST.

In the controller method, just before emitting my object, I print "new Date()" 
and the timezone offset.  Running on that container that appears to think it's 
in PST, it prints a time value in UTC, with a UTC tzoffset.  Even that would be 
fine, as I'm sending the tzoffset back in the response, so the front-end can 
shift it.  However, what I see in the marshalled response is something 
brain-damaged, like this:

        "@maxStartTime":"2017-01-19T13:59:55.611Z","@tzOffset":0

This is rendered at 13:59PM PST.  Note that the "Z" means UTC, along with the 
"0" value for tzOffset.

What might I be doing wrong?

Reply via email to