def start_transaction(exclusive = true, options = {})
      session = @option.use_current_session?(options)
      transaction = Janus::Transactions::Session.new(exclusive, session)
      transaction.connect { yield(transaction) }
    rescue
      raise Errors::RRJ::StartTransaction.new(exclusive, options)
    end
def start_transaction(exclusive = true, options = {})
      session = @option.use_current_session?(options)
      transaction = Janus::Transactions::Session.new(exclusive, session)
      transaction.connect { yield(transaction) }
    rescue
      raise Errors::RRJ::StartTransaction.new(exclusive, options)
    end
Return a new instance of RubyRabbitmqJanus.

 @example Create a instance to this gem
   @rrj = RubyRabbitmqJanus::RRJ.new
   => #<RubyRabbitmqJanus::RRJ:0x007 @session=123>
 Start a transaction with Janus. Request use session_id information.

 @param [Boolean] exclusive Choose if message is storage in exclusive queue
 @param [Hash] options
   Give a session number for use another session in Janus

 @example Get Janus information
   @rrj.start_transaction do |transaction|
     response = transaction.publish_message('base::info').to_hash
   end

 @since 2.0.0