class Concurrent::JavaExecutorService

def post(*args, &task)

def post(*args, &task)
  raise ArgumentError.new('no block given') unless block_given?
  return handle_fallback(*args, &task) unless running?
  @executor.submit Job.new(args, task)
  true
rescue Java::JavaUtilConcurrent::RejectedExecutionException
  raise RejectedExecutionError
end