<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.apache.edgent.topology.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
<meta name="date" content="2017-12-18">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="org.apache.edgent.topology.mbeans (Apache Edgent (incubating) v1.2.0 API)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/edgent/topology/json/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/edgent/topology/mbeans/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.topology.mbeans</h1>
<div class="docSummary">
<div class="block">Controls for executing topologies.</div>
</div>
<p>See:&nbsp;<a href="#package.description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a></td>
<td class="colLast">
<div class="block">Control MBean for the application service.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!--   -->
</a>
<h2 title="Package org.apache.edgent.topology.mbeans Description">Package org.apache.edgent.topology.mbeans Description</h2>
<div class="block">Controls for executing topologies.
 <P>
 The "Attribute Name" column values below correspond to <code>KEY</code> values defined
 in <code>org.apache.edgent.runtime.jsoncontrol.JsonControlService</code>.
 
 <h3>Application Service </h3>
 <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">Application service</a>
 allows an application to be registered
 so that it be be submitted remotely using a device command.
 
 <BR>
 This service registers a control MBean
 <a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans"><code>ApplicationServiceMXBean</code></a>
 to provide control of the service.
  
 <h4 id="submitApp">Submit an Application</h4>
 Method: <a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-"><code>ApplicationServiceMXBean.submit(String, String)</code></a>
 <table border=1 cellpadding=3 cellspacing=1>
 <caption>JSON Submit Application</caption>
 <tr>
    <th id="attrName" align=center><b>Attribute name</b></th>
    <th id="type" align=center><b>Type</b></th>
    <th id="value" align=center><b>Value</b></th>
    <th id="desc" align=center><b>Description</b></th>
  </tr>
 <tr>
    <td headers="attrName"><code>type</code></td>
    <td headers="type">String</td>
    <td headers="value"><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#TYPE"><code>appService</code></a></td>
    <td headers="desc"><code>ApplicationServiceMXBean</code> control MBean type.</td>
  </tr>
  <tr>
    <td headers="attrName"><code>op</code></td>
    <td headers="type">String</td>
    <td headers="value"><code>submit</code></td>
    <td headers="desc">Invoke <a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-"><code>submit</code></a> operation
    against the control MBean.</td>
  </tr>
  <tr>
    <td headers="attrName"><code>alias</code></td>
    <td headers="type">String</td>
    <td headers="value">Alias of control MBean.</td>
    <td headers="desc">Default is <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#ALIAS"><code>edgent</code></a>.</td>
  </tr>
  <tr>
    <td rowspan="2" headers="attrName"><code>args</code></td>
    <td rowspan="2" headers="type">List</td>
    <td headers="value">String: application name</td>
    <td headers="desc">Registered application to submit.</td>
  </tr>
  <tr>
    <td headers="value">JSON Object: submission configuration</td>
    <td headers="desc">Configuration for the submission,
    see <a href="../../../../../org/apache/edgent/execution/Submitter.html#submit-E-com.google.gson.JsonObject-"><code>submit()</code></a>.
    If <code>jobName</code> is not set in the configuration then the job is submitted with <code>jobName</code> set to the
    application name.</td>
  </tr>
 </table>
 <BR>
 Example submitting the application <code>EngineTemp</code> with no configuration, will result in a running
 job named <code>EngineTemp</code>.
 <BR>
 <code>{"type":"appService","alias":"edgent","op":"submit","args":["EngineTemp",{}]}</code></div>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/edgent/topology/json/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/edgent/topology/mbeans/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
