Java apm agent doesn't capture text or json body

Ok, the logs do not indicate any reason why the agent is actively not capturing the body.

Does your application consume the incoming request body? E.g. does your spring controller have something like a @RequestBody String content parameter?

The agent decides on whether or not to capture the body here. Based on that decision the ServletRequest's getInputStream is wrapped here with a stream which copies the data to the transaction. So if your application does not consume the input stream, no data will be recorded on the transaction.

If you are already debugging yourself with the agent source code, these two code locations might allow you to locate the issue.