<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/1.8.0/javadoc/org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

<!-- Generated by javadoc (version 1.7.0_80) on Mon Dec 05 14:49:09 MSK 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>UriDeploymentSpi (Ignite 1.8.0)</title>
<meta name="date" content="2016-12-05">
<link rel="stylesheet" type="text/css" href="../../../../../../javadoc.css" title="Style">

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="UriDeploymentSpi (Ignite 1.8.0)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/UriDeploymentSpi.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 class="aboutLanguage"><em>Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpiMBean.html" title="interface in org.apache.ignite.spi.deployment.uri"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html" target="_top">Frames</a></li>
<li><a href="UriDeploymentSpi.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All 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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.ignite.spi.deployment.uri</div>
<h2 title="Class UriDeploymentSpi" class="title">Class UriDeploymentSpi</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">org.apache.ignite.spi.IgniteSpiAdapter</a></li>
<li>
<ul class="inheritance">
<li>org.apache.ignite.spi.deployment.uri.UriDeploymentSpi</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html" title="interface in org.apache.ignite.spi.deployment">DeploymentSpi</a>, <a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpiMBean.html" title="interface in org.apache.ignite.spi.deployment.uri">UriDeploymentSpiMBean</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html" title="interface in org.apache.ignite.spi">IgniteSpiManagementMBean</a></dd>
</dl>
<hr>
<br>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiMultipleInstancesSupport.html" title="annotation in org.apache.ignite.spi">@IgniteSpiMultipleInstancesSupport</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiMultipleInstancesSupport.html#value()">value</a>=true)
<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConsistencyChecked.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConsistencyChecked</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConsistencyChecked.html#optional()">optional</a>=false)
public class <span class="strong">UriDeploymentSpi</span>
extends <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a>
implements <a href="../../../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html" title="interface in org.apache.ignite.spi.deployment">DeploymentSpi</a>, <a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpiMBean.html" title="interface in org.apache.ignite.spi.deployment.uri">UriDeploymentSpiMBean</a></pre>
<div class="block">Implementation of <a href="../../../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html" title="interface in org.apache.ignite.spi.deployment"><code>DeploymentSpi</code></a> which can deploy tasks from
 different sources like file system folders, email and HTTP.
 There are different ways to deploy tasks in grid and every deploy method
 depends on selected source protocol. This SPI is configured to work
 with a list of URI's. Every URI contains all data about protocol/transport
 plus configuration parameters like credentials, scan frequency, and others.
 <p>
 When SPI establishes a connection with an URI, it downloads deployable units
 to the temporary directory in order to prevent it from any changes while
 scanning. Use method <a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#setTemporaryDirectoryPath(java.lang.String)"><code>setTemporaryDirectoryPath(String)</code></a>)
 to set custom temporary folder for downloaded deployment units. SPI will
 create folder under the path with name identical to local node ID.
 <p>
 SPI tracks all changes of every given URI. This means that if any file is
 changed or deleted, SPI will re-deploy or delete corresponding tasks.
 Note that the very first apply to <a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#findResource(java.lang.String)"><code>findResource(String)</code></a>
 is blocked until SPI finishes scanning all URI's at least once.
 <p>
 There are several deployable unit types supported:
 <ul>
 <li>GAR file.</li>
 <li>Local disk folder with structure of unpacked GAR file.</li>
 <li>Local disk folder containing only compiled Java classes.</li>
 </ul>
 <h1 class="header">GAR file</h1>
 GAR file is a deployable unit. GAR file is based on <a href="http://www.gzip.org/zlib/">ZLIB</a>
 compression format like simple JAR file and its structure is similar to WAR archive.
 GAR file has <code>'.gar'</code> extension.
 <p>
 GAR file structure (file or directory ending with <code>'.gar'</code>):
   <pre class="snippet">
      META-INF/
              |
               - ignite.xml
               - ...
      lib/
         |
          -some-lib.jar
          - ...
      xyz.class
      ...</pre>
 <ul>
 <li>
 <code>META-INF/</code> entry may contain <code>ignite.xml</code> file which is a
 task descriptor file. The purpose of task descriptor XML file is to specify
 all tasks to be deployed. This file is a regular
 <a href="http://www.springframework.org/documentation">Spring</a> XML
 definition file.  <code>META-INF/</code> entry may also contain any other file
 specified by JAR format.
 </li>
 <li>
 <code>lib/</code> entry contains all library dependencies.
 </li>
 <li>Compiled Java classes must be placed in the root of a GAR file.</li>
 </ul>
 GAR file may be deployed without descriptor file. If there is no descriptor file, SPI
 will scan all classes in archive and instantiate those that implement
 <a href="../../../../../../org/apache/ignite/compute/ComputeTask.html" title="interface in org.apache.ignite.compute"><code>ComputeTask</code></a> interface. In that case, all grid task classes must have a
 public no-argument constructor. Use <a href="../../../../../../org/apache/ignite/compute/ComputeTaskAdapter.html" title="class in org.apache.ignite.compute"><code>ComputeTaskAdapter</code></a> adapter for
 convenience when creating grid tasks.
 <p>
 By default, all downloaded GAR files that have digital signature in <code>META-INF</code>
 folder will be verified and deployed only if signature is valid.
 <p>
 <h1 class="header">URI</h1>
 This SPI uses a hierarchical URI definition. For more information about standard URI
 syntax refer to <a href="http://docs.oracle.com/javase/7/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net"><code>java.net.URI</code></a> documentation.
 <blockquote class="snippet">
 [<i>scheme</i><tt><b>:</b></tt>][<tt><b>//</b></tt><i>authority</i>][<i>path</i>][<tt><b>?</b></tt><i>query</i>][<tt><b>#</b></tt><i>fragment</i>]
 </blockquote>
 <p>
 Every URI defines its own deployment repository which will be scanned for any changes.
 URI itself has all information about protocol, connectivity, scan intervals and other
 parameters.
 <p>
 URI's may contain special characters, like spaces. If <code>encodeUri</code>
 flag is set to <code>true</code> (see <a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#setEncodeUri(boolean)"><code>setEncodeUri(boolean)</code></a>), then
 URI 'path' field will be automatically encoded. By default this flag is
 set to <code>true</code>.
 <p>
 <h1 class="header">Code Example</h1>
 The following example demonstrates how the deployment SPI can be used. It expects that you have a GAR file
 in 'home/username/ignite/work/my_deployment/file' folder which contains 'myproject.HelloWorldTask' class.
 <pre name="code" class="java">
 IgniteConfiguration cfg = new IgniteConfiguration();

 DeploymentSpi deploymentSpi = new UriDeploymentSpi();

 deploymentSpi.setUriList(Arrays.asList("file:///home/username/ignite/work/my_deployment/file"));

 cfg.setDeploymentSpi(deploymentSpi);

 try (Ignite ignite = Ignition.start(cfg)) {
     ignite.compute().execute("myproject.HelloWorldTask", "my args");
 }
 </pre>
 <h1 class="header">Configuration</h1>
 <code>UriDeploymentSpi</code> has the following optional configuration
 parameters (there are no mandatory parameters):
 <ul>
 <li>
 Array of <code>UriDeploymentScanner</code>-s which will be used to deploy resources
 (see <a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#setScanners(org.apache.ignite.spi.deployment.uri.scanners.UriDeploymentScanner...)"><code>setScanners(UriDeploymentScanner...)</code></a>). If not specified, preconfigured <code>UriDeploymentFileScanner</code>
 and <code>UriDeploymentHttpScanner</code> are used. You can implement your own scanner
 by implementing <code>UriDeploymentScanner</code> interface.
 </li>
 <li>
 Temporary directory path where scanned GAR files and directories are
 copied to (see <a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#setTemporaryDirectoryPath(java.lang.String)"><code>setTemporaryDirectoryPath(String)</code></a>).
 </li>
 <li>
 List of URIs to scan (see <a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#setUriList(java.util.List)"><code>setUriList(List)</code></a>). If not
 specified, then URI specified by <a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#DFLT_DEPLOY_DIR"><code>DFLT_DEPLOY_DIR</code></a> is used.
 </li>
 <li>
 Flag to control encoding of the <code>'path'</code> portion of URI
 (see <a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#setEncodeUri(boolean)"><code>setEncodeUri(boolean)</code></a>).
 </li>
 </ul>
 <h1 class="header">Protocols</h1>
 Following protocols are supported by this SPI out of the box:
 <ul>
 <li><a href="#file">file://</a> - File protocol</li>
 <li><a href="#http">http://</a> - HTTP protocol</li>
 <li><a href="#http">https://</a> - Secure HTTP protocol</li>
 </ul>
 <strong>Custom Protocols.</strong>
 <p>
 You can add support for additional protocols if needed. To do this implement UriDeploymentScanner interface and
 plug your implementation into the SPI via <a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#setScanners(org.apache.ignite.spi.deployment.uri.scanners.UriDeploymentScanner...)"><code>setScanners(UriDeploymentScanner...)</code></a> method.
 <p>
 In addition to SPI configuration parameters, all necessary configuration
 parameters for selected URI should be defined in URI. Different protocols
 have different configuration parameters described below. Parameters are
 separated by '<code>;</code>' character.
 <p>
 <h1 class="header">File</h1>
 For this protocol SPI will scan folder specified by URI on file system and
 download any GAR files or directories that end with .gar from source
 directory defined in URI. For file system URI must have scheme equal to <code>file</code>.
 <p>
 Following parameters are supported:
 <table class="doctable">
  <tr>
      <th>Parameter</th>
      <th>Description</th>
      <th>Optional</th>
      <th>Default</th>
  </tr>
  <tr>
      <td>freq</td>
      <td>Scanning frequency in milliseconds.</td>
      <td>Yes</td>
      <td><code>5000</code> ms specified in <code>UriDeploymentFileScanner.DFLT_SCAN_FREQ</code>.</td>
  </tr>
 </table>
 <h2 class="header">File URI Example</h2>
 The following example will scan <code>'c:/Program files/ignite/deployment'</code>
 folder on local box every <code>'1000'</code> milliseconds. Note that since path
 has spaces, <a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#setEncodeUri(boolean)"><code>setEncodeUri(boolean)</code></a> parameter must
 be set to <code>true</code> (which is default behavior).
 <blockquote class="snippet">
 <code>file://freq=2000@localhost/c:/Program files/ignite/deployment</code>
 </blockquote>
 <a name="classes"></a>
 <h2 class="header">HTTP/HTTPS</h2>
 URI deployment scanner tries to read DOM of the html it points to and parses out href attributes of all &lt;a&gt; tags
 - this becomes the collection of URLs to GAR files that should be deployed. It's important that HTTP scanner
 uses <code>URLConnection.getLastModified()</code> method to check if there were any changes since last iteration
 for each GAR-file before redeploying.
 <p>
 Following parameters are supported:
 <table class="doctable">
  <tr>
      <th>Parameter</th>
      <th>Description</th>
      <th>Optional</th>
      <th>Default</th>
  </tr>
  <tr>
      <td>freq</td>
      <td>Scanning frequency in milliseconds.</td>
      <td>Yes</td>
      <td><code>300000</code> ms specified in <code>UriDeploymentHttpScanner.DFLT_SCAN_FREQ</code>.</td>
  </tr>
 </table>
 <h2 class="header">HTTP URI Example</h2>
 The following example will download the page `www.mysite.com/ignite/deployment`, parse it and download and deploy
 all GAR files specified by href attributes of &lt;a&gt; elements on the page using authentication
 <code>'username:password'</code> every '10000' milliseconds (only new/updated GAR-s).
 <blockquote class="snippet">
 <code>http://username:password;freq=10000@www.mysite.com:110/ignite/deployment</code>
 </blockquote>
 <h2 class="header">Java Example</h2>
 UriDeploymentSpi needs to be explicitly configured to override default local deployment SPI.
 <pre name="code" class="java">
 UriDeploymentSpi deploySpi = new UriDeploymentSpi();

 IgniteConfiguration cfg = new IgniteConfiguration();

 // Set URIs.
 deploySpi.setUriList(Arrays.asList("http://www.site.com/tasks",
     "file://freq=20000@localhost/c:/Program files/gg-deployment"));

 // Override temporary directory path.
 deploySpi.setTemporaryDirectoryPath("c:/tmp/grid");

 //  Override default deployment SPI.
 cfg.setDeploymentSpi(deploySpi);

 //  Start grid.
 Ignition.start(cfg);
 </pre>
 <p>
 <h2 class="header">Spring Example</h2>
 UriDeploymentSpi can be configured from Spring XML configuration file:
 <pre name="code" class="xml">
 &lt;bean id="grid.custom.cfg" class="org.apache.ignite.configuration.IgniteConfiguration" singleton="true"&gt;
         ...
         &lt;property name="deploymentSpi"&gt;
             &lt;bean class="org.apache.ignite.grid.spi.deployment.uri.UriDeploymentSpi"&gt;
                 &lt;property name="temporaryDirectoryPath" value="c:/tmp/grid"/&gt;
                 &lt;property name="uriList"&gt;
                     &lt;list&gt;
                         &lt;value&gt;http://www.site.com/tasks&lt;/value&gt;
                         &lt;value&gt;file://freq=20000@localhost/c:/Program files/gg-deployment&lt;/value&gt;
                     &lt;/list&gt;
                 &lt;/property&gt;
             &lt;/bean&gt;
         &lt;/property&gt;
         ...
 &lt;/bean&gt;
 </pre>
 <p>
 <img src="http://ignite.apache.org/images/spring-small.png">
 <br>
 For information about Spring framework visit <a href="http://www.springframework.org/">www.springframework.org</a></div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html" title="interface in org.apache.ignite.spi.deployment"><code>DeploymentSpi</code></a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#DEPLOY_TMP_ROOT_NAME">DEPLOY_TMP_ROOT_NAME</a></strong></code>
<div class="block">Default temporary directory name relative to file path
 <a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#setTemporaryDirectoryPath(java.lang.String)"><code>setTemporaryDirectoryPath(String)</code></a>} (value is <code>gg.uri.deployment.tmp</code>).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#DFLT_DEPLOY_DIR">DFLT_DEPLOY_DIR</a></strong></code>
<div class="block">Default deployment directory where SPI will pick up GAR files.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#XML_DESCRIPTOR_PATH">XML_DESCRIPTOR_PATH</a></strong></code>
<div class="block">Default task description file path and name (value is <code>META-INF/ignite.xml</code>).</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.ignite.spi.IgniteSpiAdapter">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></h3>
<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#gridName">gridName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#ignite">ignite</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#UriDeploymentSpi()">UriDeploymentSpi</a></strong>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/deployment/DeploymentResource.html" title="interface in org.apache.ignite.spi.deployment">DeploymentResource</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#findResource(java.lang.String)">findResource</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;rsrcName)</code>
<div class="block">Finds class loader for the given class.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>org.apache.ignite.spi.deployment.uri.scanners.UriDeploymentScanner[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#getScanners()">getScanners</a></strong>()</code>
<div class="block">Gets scanners.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#getTemporaryDirectoryPath()">getTemporaryDirectoryPath</a></strong>()</code>
<div class="block">Gets temporary directory path.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#getUriList()">getUriList</a></strong>()</code>
<div class="block">Gets list of URIs that are processed by SPI.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#isCheckMd5()">isCheckMd5</a></strong>()</code>
<div class="block">Gets <code>checkMd5</code> property.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#register(java.lang.ClassLoader,%20java.lang.Class)">register</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;ldr,
        <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;rsrc)</code>
<div class="block">Registers a class loader with this SPI.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#setCheckMd5(boolean)">setCheckMd5</a></strong>(boolean&nbsp;checkMd5)</code>
<div class="block">If set to <code>true</code> then SPI should exclude files with same md5s from deployment.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#setEncodeUri(boolean)">setEncodeUri</a></strong>(boolean&nbsp;encodeUri)</code>
<div class="block">Indicates that URI must be encoded before usage.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#setListener(org.apache.ignite.spi.deployment.DeploymentListener)">setListener</a></strong>(<a href="../../../../../../org/apache/ignite/spi/deployment/DeploymentListener.html" title="interface in org.apache.ignite.spi.deployment">DeploymentListener</a>&nbsp;lsnr)</code>
<div class="block">Sets or unsets deployment event listener.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#setScanners(org.apache.ignite.spi.deployment.uri.scanners.UriDeploymentScanner...)">setScanners</a></strong>(org.apache.ignite.spi.deployment.uri.scanners.UriDeploymentScanner...&nbsp;scanners)</code>
<div class="block">Sets scanners.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#setTemporaryDirectoryPath(java.lang.String)">setTemporaryDirectoryPath</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tmpDirPath)</code>
<div class="block">Sets absolute path to temporary directory which will be used by
 deployment SPI to keep all deployed classes in.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#setUriList(java.util.List)">setUriList</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uriList)</code>
<div class="block">Sets list of URI which point to GAR file and which should be
 scanned by SPI for the new tasks.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#spiStart(java.lang.String)">spiStart</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;gridName)</code>
<div class="block">This method is called to start SPI.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#spiStop()">spiStop</a></strong>()</code>
<div class="block">This method is called to stop SPI.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#toString()">toString</a></strong>()</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#unregister(java.lang.String)">unregister</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;rsrcName)</code>
<div class="block">Unregisters all class loaders that have a class with given name or have
 a class with give <a href="../../../../../../org/apache/ignite/compute/ComputeTaskName.html" title="annotation in org.apache.ignite.compute"><code>ComputeTaskName</code></a> value.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.ignite.spi.IgniteSpiAdapter">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></h3>
<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#addTimeoutObject(org.apache.ignite.spi.IgniteSpiTimeoutObject)">addTimeoutObject</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#assertParameter(boolean,%20java.lang.String)">assertParameter</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#checkConfigurationConsistency0(org.apache.ignite.spi.IgniteSpiContext,%20org.apache.ignite.cluster.ClusterNode,%20boolean)">checkConfigurationConsistency0</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#configInfo(java.lang.String,%20java.lang.Object)">configInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#createSpiAttributeName(java.lang.String)">createSpiAttributeName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeout()">failureDetectionTimeout</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeoutEnabled()">failureDetectionTimeoutEnabled</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeoutEnabled(boolean)">failureDetectionTimeoutEnabled</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getConsistentAttributeNames()">getConsistentAttributeNames</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getExceptionRegistry()">getExceptionRegistry</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getIgniteHome()">getIgniteHome</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getLocalNode()">getLocalNode</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getLocalNodeId()">getLocalNodeId</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getName()">getName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getNodeAttributes()">getNodeAttributes</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getSpiContext()">getSpiContext</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getStartTimestamp()">getStartTimestamp</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getStartTimestampFormatted()">getStartTimestampFormatted</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getUpTime()">getUpTime</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getUpTimeFormatted()">getUpTimeFormatted</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#initFailureDetectionTimeout()">initFailureDetectionTimeout</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#injectables()">injectables</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#injectResources(org.apache.ignite.Ignite)">injectResources</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#isNodeStopping()">isNodeStopping</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onBeforeStart()">onBeforeStart</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onClientDisconnected(org.apache.ignite.lang.IgniteFuture)">onClientDisconnected</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onClientReconnected(boolean)">onClientReconnected</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextDestroyed()">onContextDestroyed</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextDestroyed0()">onContextDestroyed0</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextInitialized(org.apache.ignite.spi.IgniteSpiContext)">onContextInitialized</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextInitialized0(org.apache.ignite.spi.IgniteSpiContext)">onContextInitialized0</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#registerMBean(java.lang.String,%20T,%20java.lang.Class)">registerMBean</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#removeTimeoutObject(org.apache.ignite.spi.IgniteSpiTimeoutObject)">removeTimeoutObject</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#setName(java.lang.String)">setName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#started()">started</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#startInfo()">startInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#startStopwatch()">startStopwatch</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#stopInfo()">stopInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#unregisterMBean()">unregisterMBean</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.ignite.spi.IgniteSpi">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></h3>
<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#getName()">getName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#getNodeAttributes()">getNodeAttributes</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onClientDisconnected(org.apache.ignite.lang.IgniteFuture)">onClientDisconnected</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onClientReconnected(boolean)">onClientReconnected</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onContextDestroyed()">onContextDestroyed</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onContextInitialized(org.apache.ignite.spi.IgniteSpiContext)">onContextInitialized</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.ignite.spi.IgniteSpiManagementMBean">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html" title="interface in org.apache.ignite.spi">IgniteSpiManagementMBean</a></h3>
<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getIgniteHome()">getIgniteHome</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getLocalNodeId()">getLocalNodeId</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getName()">getName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getStartTimestamp()">getStartTimestamp</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getStartTimestampFormatted()">getStartTimestampFormatted</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getUpTime()">getUpTime</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getUpTimeFormatted()">getUpTimeFormatted</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="DFLT_DEPLOY_DIR">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_DEPLOY_DIR</h4>
<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DFLT_DEPLOY_DIR</pre>
<div class="block">Default deployment directory where SPI will pick up GAR files. Note that this path is relative to
 <code>IGNITE_HOME/work</code> folder if <code>IGNITE_HOME</code> system or environment variable specified,
 otherwise it is relative to <code>work</code> folder under system <code>java.io.tmpdir</code> folder.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getWorkDirectory()"><code>IgniteConfiguration.getWorkDirectory()</code></a>, 
<a href="../../../../../../constant-values.html#org.apache.ignite.spi.deployment.uri.UriDeploymentSpi.DFLT_DEPLOY_DIR">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="XML_DESCRIPTOR_PATH">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>XML_DESCRIPTOR_PATH</h4>
<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> XML_DESCRIPTOR_PATH</pre>
<div class="block">Default task description file path and name (value is <code>META-INF/ignite.xml</code>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.deployment.uri.UriDeploymentSpi.XML_DESCRIPTOR_PATH">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DEPLOY_TMP_ROOT_NAME">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DEPLOY_TMP_ROOT_NAME</h4>
<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEPLOY_TMP_ROOT_NAME</pre>
<div class="block">Default temporary directory name relative to file path
 <a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html#setTemporaryDirectoryPath(java.lang.String)"><code>setTemporaryDirectoryPath(String)</code></a>} (value is <code>gg.uri.deployment.tmp</code>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.deployment.uri.UriDeploymentSpi.DEPLOY_TMP_ROOT_NAME">Constant Field Values</a></dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="UriDeploymentSpi()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>UriDeploymentSpi</h4>
<pre>public&nbsp;UriDeploymentSpi()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="setTemporaryDirectoryPath(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTemporaryDirectoryPath</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;void&nbsp;setTemporaryDirectoryPath(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tmpDirPath)</pre>
<div class="block">Sets absolute path to temporary directory which will be used by
 deployment SPI to keep all deployed classes in.
 <p>
 If not provided, default value is <code>java.io.tmpdir</code> system property value.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>tmpDirPath</code> - Temporary directory path.</dd></dl>
</li>
</ul>
<a name="setUriList(java.util.List)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUriList</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;void&nbsp;setUriList(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uriList)</pre>
<div class="block">Sets list of URI which point to GAR file and which should be
 scanned by SPI for the new tasks.
 <p>
 If not provided, default value is list with
 <code>file://${IGNITE_HOME}/work/deployment/file</code> element.
 Note that system property <code>IGNITE_HOME</code> must be set.
 For unknown <code>IGNITE_HOME</code> list of URI must be provided explicitly.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>uriList</code> - GAR file URIs.</dd></dl>
</li>
</ul>
<a name="setCheckMd5(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCheckMd5</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;void&nbsp;setCheckMd5(boolean&nbsp;checkMd5)</pre>
<div class="block">If set to <code>true</code> then SPI should exclude files with same md5s from deployment.
 Otherwise it should try to load new unit regardless to possible file duplication.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>checkMd5</code> - new value for the property</dd></dl>
</li>
</ul>
<a name="isCheckMd5()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCheckMd5</h4>
<pre>public&nbsp;boolean&nbsp;isCheckMd5()</pre>
<div class="block">Gets <code>checkMd5</code> property.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpiMBean.html#isCheckMd5()">isCheckMd5</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpiMBean.html" title="interface in org.apache.ignite.spi.deployment.uri">UriDeploymentSpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>value of the <code>checkMd5</code> property.</dd></dl>
</li>
</ul>
<a name="setEncodeUri(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEncodeUri</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;void&nbsp;setEncodeUri(boolean&nbsp;encodeUri)</pre>
<div class="block">Indicates that URI must be encoded before usage. Encoding means replacing
 all occurrences of space with '%20', percent sign with '%25'
 and semicolon with '%3B'.
 <p>
 If not provided, default value is <code>true</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>encodeUri</code> - <code>true</code> if every URI should be encoded and
      <code>false</code> otherwise.</dd></dl>
</li>
</ul>
<a name="getTemporaryDirectoryPath()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTemporaryDirectoryPath</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemporaryDirectoryPath()</pre>
<div class="block">Gets temporary directory path.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpiMBean.html#getTemporaryDirectoryPath()">getTemporaryDirectoryPath</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpiMBean.html" title="interface in org.apache.ignite.spi.deployment.uri">UriDeploymentSpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Temporary directory path.</dd></dl>
</li>
</ul>
<a name="getUriList()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUriList</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getUriList()</pre>
<div class="block">Gets list of URIs that are processed by SPI.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpiMBean.html#getUriList()">getUriList</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpiMBean.html" title="interface in org.apache.ignite.spi.deployment.uri">UriDeploymentSpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>List of URIs.</dd></dl>
</li>
</ul>
<a name="setListener(org.apache.ignite.spi.deployment.DeploymentListener)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setListener</h4>
<pre>public&nbsp;void&nbsp;setListener(@Nullable
               <a href="../../../../../../org/apache/ignite/spi/deployment/DeploymentListener.html" title="interface in org.apache.ignite.spi.deployment">DeploymentListener</a>&nbsp;lsnr)</pre>
<div class="block">Sets or unsets deployment event listener. Grid implementation will use this listener
 to properly add and remove various deployments.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html#setListener(org.apache.ignite.spi.deployment.DeploymentListener)">setListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html" title="interface in org.apache.ignite.spi.deployment">DeploymentSpi</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>lsnr</code> - Listener for deployment events. <code>null</code> to unset the listener.</dd></dl>
</li>
</ul>
<a name="getScanners()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getScanners</h4>
<pre>public&nbsp;org.apache.ignite.spi.deployment.uri.scanners.UriDeploymentScanner[]&nbsp;getScanners()</pre>
<div class="block">Gets scanners.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Scanners.</dd></dl>
</li>
</ul>
<a name="setScanners(org.apache.ignite.spi.deployment.uri.scanners.UriDeploymentScanner...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setScanners</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;void&nbsp;setScanners(org.apache.ignite.spi.deployment.uri.scanners.UriDeploymentScanner...&nbsp;scanners)</pre>
<div class="block">Sets scanners.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>scanners</code> - Scanners.</dd></dl>
</li>
</ul>
<a name="spiStop()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>spiStop</h4>
<pre>public&nbsp;void&nbsp;spiStop()
             throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">This method is called to stop SPI. After this method returns kernel
 assumes that this SPI is finished and all resources acquired by it
 are released.
 <p>
 <b>
 Note that this method can be called at any point including during
 recovery of failed start. It should make no assumptions on what state SPI
 will be in when this method is called.
 </b></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStop()">spiStop</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - Thrown in case of any error during SPI stop.</dd></dl>
</li>
</ul>
<a name="spiStart(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>spiStart</h4>
<pre>public&nbsp;void&nbsp;spiStart(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;gridName)
              throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">This method is called to start SPI. After this method returns
 successfully kernel assumes that SPI is fully operational.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart(java.lang.String)">spiStart</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>gridName</code> - Name of grid instance this SPI is being started for
    (<code>null</code> for default grid).</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - Throws in case of any error during SPI start.</dd></dl>
</li>
</ul>
<a name="findResource(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findResource</h4>
<pre>@Nullable
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/deployment/DeploymentResource.html" title="interface in org.apache.ignite.spi.deployment">DeploymentResource</a>&nbsp;findResource(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;rsrcName)</pre>
<div class="block">Finds class loader for the given class.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html#findResource(java.lang.String)">findResource</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html" title="interface in org.apache.ignite.spi.deployment">DeploymentSpi</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>rsrcName</code> - Class name or class alias to find class loader for.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Deployed class loader, or <code>null</code> if not deployed.</dd></dl>
</li>
</ul>
<a name="register(java.lang.ClassLoader, java.lang.Class)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>register</h4>
<pre>public&nbsp;boolean&nbsp;register(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;ldr,
               <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;rsrc)
                 throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">Registers a class loader with this SPI. This method exists
 to be able to add external class loaders to deployment SPI.
 Deployment SPI may also have its own class loaders. For example,
 in case of GAR deployment, every GAR file is loaded and deployed
 with a separate class loader maintained internally by the SPI.
 <p>
 The array of classes passed in should be checked for presence of
 <a href="../../../../../../org/apache/ignite/compute/ComputeTaskName.html" title="annotation in org.apache.ignite.compute"><code>ComputeTaskName</code></a> annotations. The classes that have this annotation
 should be accessible by this name from <a href="../../../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html#findResource(java.lang.String)"><code>DeploymentSpi.findResource(String)</code></a> method.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html#register(java.lang.ClassLoader,%20java.lang.Class)">register</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html" title="interface in org.apache.ignite.spi.deployment">DeploymentSpi</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>ldr</code> - Class loader to register.</dd><dd><code>rsrc</code> - Class that should be checked for aliases.
      Currently the only alias in the system is <a href="../../../../../../org/apache/ignite/compute/ComputeTaskName.html" title="annotation in org.apache.ignite.compute"><code>ComputeTaskName</code></a> for
      task classes; in future, there may be others.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>True</code> if resource was registered.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - If registration failed.</dd></dl>
</li>
</ul>
<a name="unregister(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregister</h4>
<pre>public&nbsp;boolean&nbsp;unregister(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;rsrcName)</pre>
<div class="block">Unregisters all class loaders that have a class with given name or have
 a class with give <a href="../../../../../../org/apache/ignite/compute/ComputeTaskName.html" title="annotation in org.apache.ignite.compute"><code>ComputeTaskName</code></a> value.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html#unregister(java.lang.String)">unregister</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html" title="interface in org.apache.ignite.spi.deployment">DeploymentSpi</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>rsrcName</code> - Either class name or <a href="../../../../../../org/apache/ignite/compute/ComputeTaskName.html" title="annotation in org.apache.ignite.compute"><code>ComputeTaskName</code></a> value for a class
      whose class loader needs to be unregistered.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>True</code> if resource was unregistered.</dd></dl>
</li>
</ul>
<a name="toString()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/UriDeploymentSpi.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 class="aboutLanguage"><em>Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpiMBean.html" title="interface in org.apache.ignite.spi.deployment.uri"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html" target="_top">Frames</a></li>
<li><a href="UriDeploymentSpi.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All 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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px">                                     <tr>                                         <td>                                             <table style="padding-left: 0; margin: 0">                                                 <tbody style="padding: 0; margin: 0">                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <a target=_blank href="https://ignite.apache.org"><nobr>2015 Copyright &#169; Apache Software Foundation</nobr></a>                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                         <td width="100%" align="right" valign="center">                                             <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a>                                             <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>                                         </td>                                     </tr>                                     <tr>                                         <td colspan="2" valign="top" align="left">                                             <table style="padding-left: 0; margin: 0">                                                 <tbody style="padding: 0; margin: 0">                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Ignite Fabric</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             ver. <strong>1.8.0</strong>                                                         </td>                                                     </tr>                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Release Date</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             December 5 2016                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                     </tr>                                     </table></small></p>
</body>
</html>
