### Question:
JmxSupport implements UsesJmx { @Nullable public MavenArtifact getJmxAgentJarMavenArtifact() { switch (getJmxAgentMode()) { case JMXMP: case JMXMP_AND_RMI: MavenArtifact result = BrooklynMavenArtifacts.artifact(null, "brooklyn-jmxmp-agent", "jar", "with-dependencies"); result.setCustomFileNameAfterArtifactMarker("shaded"); result.setClassifierFileNameMarker(""); return result; case JMX_RMI_CUSTOM_AGENT: return BrooklynMavenArtifacts.jar("brooklyn-jmxrmi-agent"); default: return null; } } JmxSupport(Entity entity, @Nullable String runDir); @Nonnull String getRunDir(); Entity getEntity(); Maybe<SshMachineLocation> getMachine(); boolean isJmx(); JmxAgentModes getJmxAgentMode(); boolean isSecure(); void setJmxUrl(); String getJmxUrl(); List<String> getJmxJavaConfigOptions(); String getJmxAgentJarDestinationFilePath(); String getJmxAgentJarDestinationFilePathDefault(); @Nullable MavenArtifact getJmxAgentJarMavenArtifact(); @Deprecated String getJmxAgentJarBasename(); String getJmxAgentJarUrl(); void applyJmxJavaSystemProperties(MutableMap.Builder<String,Object> result); void install(); void recommendJmxRmiCustomAgent();  }### Answer:
@Test(groups="Integration") public void testJmxmpJarHostedValidity() { app = TestApplication.Factory.newManagedInstanceForTests(); app.config().set(JmxSupport.JMX_AGENT_MODE, JmxAgentModes.JMXMP); JmxSupport support = new JmxSupport(app, null); checkValidArchive(MavenRetriever.hostedUrl(support.getJmxAgentJarMavenArtifact()), 100*1000); }
@Test(groups="Integration") public void testJmxrmiJarHostedValidity() { app = TestApplication.Factory.newManagedInstanceForTests(); JmxSupport support = new JmxSupport(app, null); app.config().set(JmxSupport.JMX_AGENT_MODE, JmxAgentModes.JMX_RMI_CUSTOM_AGENT); checkValidArchive(MavenRetriever.hostedUrl(support.getJmxAgentJarMavenArtifact()), 4000); }