Comments on patch v2:
The queue level instrumentation class configuration is not a requirement. If you don't want to test the mechanism I'd suggest that you remove the related code (you can still keep the instrumentation methods, it's the abstract class and class loading stuff that are unnecessary).
Looking up the queue from queue manager for metrics for every metrics update seems unnecessary as well. You can add a final Queue field in JIP and initialize it in the JIP ctor.
You need a unique name (which also maps to a MBean name) for every queue metrics so you don't have naming conflicts when you have multiple queues. An MBean/jconsole friendly QueueInstrumentation#create would look like this:
return ms.register("QueueMetrics,q="+ queueName, "Queue metrics",
new QueueMetricsSource(queueName, conf));