Error creating runner from config: 1 error: no metricsets configured for module 'jolokia'

Removing the entry in the previous file /etc/metricbeat/modules.d/jolokia.yml and replacing with my config seems to have made it start shipping my jolokia data. However, now it is giving a 404 error.

/etc/metricbeat/modules.d/jolokia.yml

- module: "jolokia"
  metricsets: ["jmx"]
  enabled: true
  period: 10s
  namespace: "jolokia_metrics"
  hosts: ["xxx.xxx.xxx.xxx:8443"]
  username: "tomcat"
  password: "tomcat"
  path: "/jolokia/?ignoreErrors=true&canonicalNaming=false"
  ssl.verification_mode: "none"
  jmx.mappings:
    - mbean: 'java.lang:type=Runtime'
      attributes:
        - attr: Uptime
          field: uptime
    - mbean: 'java.lang:type=GarbageCollector,name=ConcurrentMarkSweep'
      attributes:
        - attr: CollectionTime
          field: gc.cms_collection_time
        - attr: CollectionCount
          field: gc.cms_collection_count
    - mbean: 'java.lang:type=Memory'
      attributes:
        - attr: HeapMemoryUsage
          field: memory.heap_usage
        - attr: NonHeapMemoryUsage
          field: memory.non_heap_usage
    - mbean: 'java.lang:type=Threading'
      attributes:
        - attr: ThreadCount
          field: threadcount.threadcount
        - attr: DaemonThreadCount
          field: threadcount.daemon 

However, now on the kibana server I'm seeing the following:

{
  "_index": "metricbeat-6.4.2-2019.02.14",
  "_type": "doc",
  "_id": "vSqU7WgBx3qTvatO0eeH",
  "_version": 1,
  "_score": null,
  "_source": {
    "@timestamp": "2019-02-14T19:56:18.716Z",
    "beat": {
      "name": "josebox.com",
      "hostname": "josebox.com",
      "version": "6.4.2"
    },
    "host": {
      "name": "josebox.com"
    },
    "metricset": {
      "module": "jolokia",
      "host": "xxx.xxx.xxx.xxx:8443",
      "rtt": 1116,
      "name": "jmx"
    },
    "error": {
      "message": "HTTP error 400 in jmx: 400 "
    }
  },
  "fields": {
    "@timestamp": [
      "2019-02-14T19:56:18.716Z"
    ]
  },
  "highlight": {
    "metricset.module": [
      "@kibana-highlighted-field@jolokia@/kibana-highlighted-field@"
    ]
  },
  "sort": [
    1550174178716
  ]
}

This is why I don't understand what a namespace is, is it arbitrary for elastic's usage only or is metricbeat trying to hit some kind of endpoint? It's not clear in the documentation and some of the documentation has #metricsets ['jmx'] ( a comment, which means it doesn't matter?)