Time.at() takes a value in "seconds". looks like jms_timestamp is in milliseconds. Try dividing by 1000.0