@Override public ProtocolMetaData deploy(final Archive<?> archive) throws DeploymentException { try { installBundle(archive, false); } catch (Exception e) { throw new DeploymentException("Can't deploy archive", e); } return new ProtocolMetaData().addContext(new JMXContext(mbeanServer)); }
@Override public ContainerMethodExecutor getExecutor(T config, ProtocolMetaData metaData, CommandCallback callback) { if (metaData.hasContext(JMXContext.class)) { MBeanServerConnection mbeanServer = metaData.getContext(JMXContext.class).getConnection(); Map<String, String> protocolProps = new HashMap<String, String>(); try { BeanInfo beanInfo = Introspector.getBeanInfo(config.getClass()); for (PropertyDescriptor propertyDescriptor : beanInfo.getPropertyDescriptors()) { String key = propertyDescriptor.getName(); Object value = propertyDescriptor.getReadMethod().invoke(config); if (value != null) { protocolProps.put(key, "" + value); } } } catch (Exception ex) { throw new IllegalStateException("Cannot obtain protocol config"); } return new JMXMethodExecutor(mbeanServer, callback, JMXTestRunnerMBean.OBJECT_NAME, protocolProps); } else { throw new IllegalStateException( "No " + JMXContext.class.getName() + " was found in " + ProtocolMetaData.class.getName() + ". The JMX Protocol can not be used without a connection, " + "please verify your protocol configuration or contact the DeployableContainer developer"); } } }
/** * @return the openConnection */ public MBeanServerConnection getConnection() { if (connection == null) { try { JMXConnector connector = JMXConnectorFactory.connect(getRemoteJMXURL(), null); connection = connector.getMBeanServerConnection(); WeakReference<MBeanServerConnection> ref = new JMXConnectorReference(connection, connector); jmxConnectorRefs.add(ref); } catch (IOException e) { throw new RuntimeException("Could not create remote JMX connection: " + this, e); } } return connection; }
public ProtocolMetaData deploy(final Archive<?> archive) throws DeploymentException { try { // Export the bundle bytes ZipExporter exporter = archive.as(ZipExporter.class); ByteArrayOutputStream baos = new ByteArrayOutputStream(); exporter.exportTo(baos); ByteArrayInputStream inputStream = new ByteArrayInputStream(baos.toByteArray()); Bundle bundle = syscontext.installBundle(archive.getName(), inputStream); if (packageAdmin.resolveBundles(new Bundle[] { bundle }) == false) throw new IllegalStateException("Cannot resolve test bundle - see framework log"); } catch (RuntimeException rte) { throw rte; } catch (Exception ex) { throw new DeploymentException("Cannot deploy: " + archive, ex); } return new ProtocolMetaData().addContext(new JMXContext(mbeanServer)); }
/** * @return the openConnection */ public MBeanServerConnection getConnection() { if (connection == null) { try { JMXConnector connector = JMXConnectorFactory.connect(getRemoteJMXURL(), null); connection = connector.getMBeanServerConnection(); WeakReference<MBeanServerConnection> ref = new JMXConnectorReference(connection, connector); jmxConnectorRefs.add(ref); } catch (IOException e) { throw new RuntimeException("Could not create remote JMX connection: " + this, e); } } return connection; }
@Override public ProtocolMetaData deploy(final Archive<?> archive) throws DeploymentException { try { // Export the bundle bytes ZipExporter exporter = archive.as(ZipExporter.class); ByteArrayOutputStream baos = new ByteArrayOutputStream(); exporter.exportTo(baos); String location = archive.getName(); ByteArrayInputStream inputStream = new ByteArrayInputStream(baos.toByteArray()); log.info("Installing bundle: " + location); installBundle(location, inputStream); } catch (RuntimeException rte) { throw rte; } catch (Exception ex) { throw new DeploymentException("Cannot deploy: " + archive, ex); } return new ProtocolMetaData().addContext(new JMXContext(mbeanServer)); }
public ProtocolMetaData getProtocolMetaData(String deploymentName) { URI webURI = getWebUri(); ProtocolMetaData metaData = new ProtocolMetaData(); metaData.addContext(new JMXContext(getConnection())); HTTPContext context = new HTTPContext(webURI.getHost(), webURI.getPort()); metaData.addContext(context); try { ModelNode deploymentNode = readResource(createDeploymentAddress(deploymentName)); if (isWebArchive(deploymentName)) { extractWebArchiveContexts(context, deploymentNode); } else if (isEnterpriseArchive(deploymentName)) { extractEnterpriseArchiveContexts(context, deploymentNode); } } catch (Exception e) { throw new RuntimeException(e); } return metaData; }
public ProtocolMetaData getProtocolMetaData(String deploymentName) { URI webURI = getWebUri(); ProtocolMetaData metaData = new ProtocolMetaData(); metaData.addContext(new JMXContext(getConnection())); HTTPContext context = new HTTPContext(webURI.getHost(), webURI.getPort()); metaData.addContext(context); try { ModelNode deploymentNode = readResource(createDeploymentAddress(deploymentName)); if (isWebArchive(deploymentName)) { extractWebArchiveContexts(context, deploymentNode); } else if (isEnterpriseArchive(deploymentName)) { extractEnterpriseArchiveContexts(context, deploymentNode); } } catch (Exception e) { throw new RuntimeException(e); } return metaData; }
@Override public ProtocolMetaData deploy(Archive<?> archive) throws DeploymentException { try { Manifest manifest = new Manifest(archive.get("/META-INF/MANIFEST.MF").getAsset().openStream()); OSGiMetaData metadata = OSGiMetaDataBuilder.load(manifest); BundleHandle handle = installBundle(archive); deployedBundles.put(metadata.getBundleSymbolicName(), handle); } catch (RuntimeException rte) { throw rte; } catch (Exception ex) { throw new DeploymentException("Cannot deploy: " + archive.getName(), ex); } MBeanServerConnection mbeanServer = mbeanServerInstance.get(); return new ProtocolMetaData().addContext(new JMXContext(mbeanServer)); }
/** * Gets the meta-data. * * @return the meta-data * * @throws IllegalStateException if this has been {@linkplain #close() closed} */ public ProtocolMetaData getProtocolMetaData(String deploymentName) { init(); ProtocolMetaData metaData = new ProtocolMetaData(); metaData.addContext(new JMXContext(getConnection())); if (undertowSubsystemPresent) { URI webURI = getWebUri(); HTTPContext context = new HTTPContext(webURI.getHost(), webURI.getPort()); metaData.addContext(context); try { final ModelNode deploymentNode = readDeploymentNode(deploymentName); if (isWebArchive(deploymentName)) { extractWebArchiveContexts(context, deploymentNode); } else if (isEnterpriseArchive(deploymentName)) { extractEnterpriseArchiveContexts(context, deploymentNode); } } catch (Exception e) { throw new RuntimeException(e); } } return metaData; }
/** * Gets the meta-data. * * @return the meta-data * * @throws IllegalStateException if this has been {@linkplain #close() closed} */ public ProtocolMetaData getProtocolMetaData(String deploymentName) { init(); ProtocolMetaData metaData = new ProtocolMetaData(); metaData.addContext(new JMXContext(getConnection())); if (undertowSubsystemPresent) { URI webURI = getWebUri(); HTTPContext context = new HTTPContext(webURI.getHost(), webURI.getPort()); metaData.addContext(context); try { final ModelNode deploymentNode = readDeploymentNode(deploymentName); if (isWebArchive(deploymentName)) { extractWebArchiveContexts(context, deploymentNode); } else if (isEnterpriseArchive(deploymentName)) { extractEnterpriseArchiveContexts(context, deploymentNode); } } catch (Exception e) { throw new RuntimeException(e); } } return metaData; }
protocolMetaData.addContext(new JMXContext(host, port)); return protocolMetaData;