<!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 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Deprecated List (Storm 2.4.0 API)</title>
<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="Deprecated List (Storm 2.4.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>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li class="navBarCell1Rev">Deprecated</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>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
<li><a href="deprecated-list.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="Deprecated API" class="title">Deprecated API</h1>
<h2 title="Contents">Contents</h2>
<ul>
<li><a href="#class">Deprecated Classes</a></li>
<li><a href="#field">Deprecated Fields</a></li>
<li><a href="#method">Deprecated Methods</a></li>
<li><a href="#constructor">Deprecated Constructors</a></li>
<li><a href="#enum.constant">Deprecated Enum Constants</a></li>
</ul>
</div>
<div class="contentContainer"><a name="class">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Classes table, listing deprecated classes, and an explanation">
<caption><span>Deprecated Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/metric/cgroup/CGroupCpu.html" title="class in org.apache.storm.metric.cgroup">org.apache.storm.metric.cgroup.CGroupCpu</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/metric/cgroup/CGroupCpuGuarantee.html" title="class in org.apache.storm.metric.cgroup">org.apache.storm.metric.cgroup.CGroupCpuGuarantee</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/metric/cgroup/CGroupCpuGuaranteeByCfsQuota.html" title="class in org.apache.storm.metric.cgroup">org.apache.storm.metric.cgroup.CGroupCpuGuaranteeByCfsQuota</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/metric/cgroup/CGroupMemoryLimit.html" title="class in org.apache.storm.metric.cgroup">org.apache.storm.metric.cgroup.CGroupMemoryLimit</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/metric/cgroup/CGroupMemoryUsage.html" title="class in org.apache.storm.metric.cgroup">org.apache.storm.metric.cgroup.CGroupMemoryUsage</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/metric/cgroup/CGroupMetricsBase.html" title="class in org.apache.storm.metric.cgroup">org.apache.storm.metric.cgroup.CGroupMetricsBase</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/security/auth/plain/PlainClientCallbackHandler.html" title="class in org.apache.storm.security.auth.plain">org.apache.storm.security.auth.plain.PlainClientCallbackHandler</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/security/auth/plain/PlainSaslTransportPlugin.html" title="class in org.apache.storm.security.auth.plain">org.apache.storm.security.auth.plain.PlainSaslTransportPlugin</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/solr/schema/builder/RestJsonSchemaBuilder.html" title="class in org.apache.storm.solr.schema.builder">org.apache.storm.solr.schema.builder.RestJsonSchemaBuilder</a>
<div class="block"><span class="deprecationComment">Use RestJsonSchemaBuilder2 instead, as this doesn&rsquo;t support Kerberos authentication</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/security/auth/plain/SaslPlainServer.html" title="class in org.apache.storm.security.auth.plain">org.apache.storm.security.auth.plain.SaslPlainServer</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/utils/TimeCacheMap.html" title="class in org.apache.storm.utils">org.apache.storm.utils.TimeCacheMap</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/transactional/TransactionAttempt.html" title="class in org.apache.storm.transactional">org.apache.storm.transactional.TransactionAttempt</a></td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="field">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Fields table, listing deprecated fields, and an explanation">
<caption><span>Deprecated Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Field and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/hdfs/spout/Configs.html#ARCHIVE_DIR">org.apache.storm.hdfs.spout.Configs.ARCHIVE_DIR</a>
<div class="block"><span class="deprecationComment">please use <a href="org/apache/storm/hdfs/spout/HdfsSpout.html#setArchiveDir-java.lang.String-"><code>HdfsSpout.setArchiveDir(String)</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/hdfs/spout/Configs.html#BAD_DIR">org.apache.storm.hdfs.spout.Configs.BAD_DIR</a>
<div class="block"><span class="deprecationComment">please use <a href="org/apache/storm/hdfs/spout/HdfsSpout.html#setBadFilesDir-java.lang.String-"><code>HdfsSpout.setBadFilesDir(String)</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/Config.html#BLOBSTORE_HDFS_KEYTAB">org.apache.storm.Config.BLOBSTORE_HDFS_KEYTAB</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/Config.html#BLOBSTORE_HDFS_PRINCIPAL">org.apache.storm.Config.BLOBSTORE_HDFS_PRINCIPAL</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/hdfs/spout/Configs.html#CLOCKS_INSYNC">org.apache.storm.hdfs.spout.Configs.CLOCKS_INSYNC</a>
<div class="block"><span class="deprecationComment">please use <a href="org/apache/storm/hdfs/spout/HdfsSpout.html#setClocksInSync-boolean-"><code>HdfsSpout.setClocksInSync(boolean)</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/hdfs/spout/Configs.html#COMMIT_FREQ_COUNT">org.apache.storm.hdfs.spout.Configs.COMMIT_FREQ_COUNT</a>
<div class="block"><span class="deprecationComment">please use <a href="org/apache/storm/hdfs/spout/HdfsSpout.html#setCommitFrequencyCount-int-"><code>HdfsSpout.setCommitFrequencyCount(int)</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/hdfs/spout/Configs.html#COMMIT_FREQ_SEC">org.apache.storm.hdfs.spout.Configs.COMMIT_FREQ_SEC</a>
<div class="block"><span class="deprecationComment">please use <a href="org/apache/storm/hdfs/spout/HdfsSpout.html#setCommitFrequencySec-int-"><code>HdfsSpout.setCommitFrequencySec(int)</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/hdfs/spout/Configs.html#HDFS_URI">org.apache.storm.hdfs.spout.Configs.HDFS_URI</a>
<div class="block"><span class="deprecationComment">please use <a href="org/apache/storm/hdfs/spout/HdfsSpout.html#setHdfsUri-java.lang.String-"><code>HdfsSpout.setHdfsUri(String)</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/hdfs/spout/Configs.html#IGNORE_SUFFIX">org.apache.storm.hdfs.spout.Configs.IGNORE_SUFFIX</a>
<div class="block"><span class="deprecationComment">please use <a href="org/apache/storm/hdfs/spout/HdfsSpout.html#setIgnoreSuffix-java.lang.String-"><code>HdfsSpout.setIgnoreSuffix(String)</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/hdfs/spout/Configs.html#LOCK_DIR">org.apache.storm.hdfs.spout.Configs.LOCK_DIR</a>
<div class="block"><span class="deprecationComment">please use <a href="org/apache/storm/hdfs/spout/HdfsSpout.html#setLockDir-java.lang.String-"><code>HdfsSpout.setLockDir(String)</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/hdfs/spout/Configs.html#LOCK_TIMEOUT">org.apache.storm.hdfs.spout.Configs.LOCK_TIMEOUT</a>
<div class="block"><span class="deprecationComment">please use <a href="org/apache/storm/hdfs/spout/HdfsSpout.html#setLockTimeoutSec-int-"><code>HdfsSpout.setLockTimeoutSec(int)</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/hdfs/spout/Configs.html#MAX_OUTSTANDING">org.apache.storm.hdfs.spout.Configs.MAX_OUTSTANDING</a>
<div class="block"><span class="deprecationComment">please use <a href="org/apache/storm/hdfs/spout/HdfsSpout.html#setMaxOutstanding-int-"><code>HdfsSpout.setMaxOutstanding(int)</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/hdfs/spout/Configs.html#READER_TYPE">org.apache.storm.hdfs.spout.Configs.READER_TYPE</a>
<div class="block"><span class="deprecationComment">please use <a href="org/apache/storm/hdfs/spout/HdfsSpout.html#setReaderType-java.lang.String-"><code>HdfsSpout.setReaderType(String)</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/hdfs/spout/Configs.html#SOURCE_DIR">org.apache.storm.hdfs.spout.Configs.SOURCE_DIR</a>
<div class="block"><span class="deprecationComment">please use <a href="org/apache/storm/hdfs/spout/HdfsSpout.html#setSourceDir-java.lang.String-"><code>HdfsSpout.setSourceDir(String)</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/Config.html#STORM_METRICS_REPORTERS">org.apache.storm.Config.STORM_METRICS_REPORTERS</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/storm/Config.html#TOPOLOGY_METRICS_REPORTERS"><code>Config.TOPOLOGY_METRICS_REPORTERS</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/Config.html#TOPOLOGY_BACKPRESSURE_ENABLE">org.apache.storm.Config.TOPOLOGY_BACKPRESSURE_ENABLE</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/Config.html#TOPOLOGY_SPREAD_COMPONENTS">org.apache.storm.Config.TOPOLOGY_SPREAD_COMPONENTS</a></td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="method">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Methods table, listing deprecated methods, and an explanation">
<caption><span>Deprecated Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/drpc/LinearDRPCTopologyBuilder.html#addBolt-org.apache.storm.topology.IRichBolt-">org.apache.storm.drpc.LinearDRPCTopologyBuilder.addBolt(IRichBolt)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/drpc/LinearDRPCTopologyBuilder.html#addBolt-org.apache.storm.topology.IRichBolt-java.lang.Number-">org.apache.storm.drpc.LinearDRPCTopologyBuilder.addBolt(IRichBolt, Number)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/hdfs/trident/HdfsState.HdfsFileOptions.html#addRotationAction-org.apache.storm.hdfs.common.rotation.RotationAction-">org.apache.storm.hdfs.trident.HdfsState.HdfsFileOptions.addRotationAction(RotationAction)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/scheduler/SchedulerAssignmentImpl.html#assign-org.apache.storm.scheduler.WorkerSlot-java.util.Collection-">org.apache.storm.scheduler.SchedulerAssignmentImpl.assign(WorkerSlot, Collection&lt;ExecutorDetails&gt;)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/cluster/IStormClusterState.html#backpressureTopologies--">org.apache.storm.cluster.IStormClusterState.backpressureTopologies()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/metrics2/StormMetricRegistry.html#gauge-java.lang.String-com.codahale.metrics.Gauge-java.lang.String-java.lang.String-java.lang.Integer-java.lang.Integer-">org.apache.storm.metrics2.StormMetricRegistry.gauge(String, Gauge&lt;T&gt;, String, String, Integer, Integer)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/Config.html#getBlobstoreHDFSPrincipal-java.util.Map-">org.apache.storm.Config.getBlobstoreHDFSPrincipal(Map)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/sql/parser/impl/SimpleCharStream.html#getColumn--">org.apache.storm.sql.parser.impl.SimpleCharStream.getColumn()</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/sql/parser/impl/SimpleCharStream.html#getLine--">org.apache.storm.sql.parser.impl.SimpleCharStream.getLine()</a>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/Testing.html#getLocalCluster-java.util.Map-">org.apache.storm.Testing.getLocalCluster(Map&lt;String, Object&gt;)</a>
<div class="block"><span class="deprecationComment">use <code>
    try (LocalCluster cluster = new LocalCluster.Builder()....build()) {
     ...
    }
</code></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/task/TopologyContext.html#getRegisteredMetricByName-java.lang.String-">org.apache.storm.task.TopologyContext.getRegisteredMetricByName(String)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/Testing.html#globalAmt-java.lang.String-java.lang.String-">org.apache.storm.Testing.globalAmt(String, String)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/Testing.html#mkTrackedTopology-org.apache.storm.ILocalCluster-org.apache.storm.generated.StormTopology-">org.apache.storm.Testing.mkTrackedTopology(ILocalCluster, StormTopology)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/storm/testing/TrackedTopology.html" title="class in org.apache.storm.testing"><code>TrackedTopology</code></a> directly.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/security/INimbusCredentialPlugin.html#populateCredentials-java.util.Map-java.util.Map-">org.apache.storm.security.INimbusCredentialPlugin.populateCredentials(Map&lt;String, String&gt;, Map&lt;String, Object&gt;)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/messaging/IContext.html#prepare-java.util.Map-">org.apache.storm.messaging.IContext.prepare(Map&lt;String, Object&gt;)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/metrics2/reporters/StormReporter.html#prepare-com.codahale.metrics.MetricRegistry-java.util.Map-java.util.Map-">org.apache.storm.metrics2.reporters.StormReporter.prepare(MetricRegistry, Map&lt;String, Object&gt;, Map&lt;String, Object&gt;)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/task/IMetricsContext.html#registerMetric-java.lang.String-org.apache.storm.metric.api.ICombiner-int-">org.apache.storm.task.IMetricsContext.registerMetric(String, ICombiner, int)</a>
<div class="block"><span class="deprecationComment">in favor of metrics v2 (the non-deprecated methods on this class)</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/task/TopologyContext.html#registerMetric-java.lang.String-org.apache.storm.metric.api.ICombiner-int-">org.apache.storm.task.TopologyContext.registerMetric(String, ICombiner, int)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/task/IMetricsContext.html#registerMetric-java.lang.String-org.apache.storm.metric.api.IReducer-int-">org.apache.storm.task.IMetricsContext.registerMetric(String, IReducer, int)</a>
<div class="block"><span class="deprecationComment">in favor of metrics v2 (the non-deprecated methods on this class)</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/task/TopologyContext.html#registerMetric-java.lang.String-org.apache.storm.metric.api.IReducer-int-">org.apache.storm.task.TopologyContext.registerMetric(String, IReducer, int)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/task/IMetricsContext.html#registerMetric-java.lang.String-T-int-">org.apache.storm.task.IMetricsContext.registerMetric(String, T, int)</a>
<div class="block"><span class="deprecationComment">in favor of metrics v2 (the non-deprecated methods on this class)</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/task/TopologyContext.html#registerMetric-java.lang.String-T-int-">org.apache.storm.task.TopologyContext.registerMetric(String, T, int)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/cluster/IStormClusterState.html#removeBackpressure-java.lang.String-">org.apache.storm.cluster.IStormClusterState.removeBackpressure(String)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/cluster/IStormClusterState.html#removeWorkerBackpressure-java.lang.String-java.lang.String-java.lang.Long-">org.apache.storm.cluster.IStormClusterState.removeWorkerBackpressure(String, String, Long)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/cluster/IStormClusterState.html#setupBackpressure-java.lang.String-java.util.Map-">org.apache.storm.cluster.IStormClusterState.setupBackpressure(String, Map&lt;String, Object&gt;)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/ILocalDRPC.html#shutdown--">org.apache.storm.ILocalDRPC.shutdown()</a>
<div class="block"><span class="deprecationComment">use <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang"><code>AutoCloseable.close()</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/ILocalCluster.html#shutdown--">org.apache.storm.ILocalCluster.shutdown()</a>
<div class="block"><span class="deprecationComment">use <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang"><code>AutoCloseable.close()</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/cluster/IStormClusterState.html#topologyBackpressure-java.lang.String-long-java.lang.Runnable-">org.apache.storm.cluster.IStormClusterState.topologyBackpressure(String, long, Runnable)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/Testing.html#withLocalCluster-org.apache.storm.testing.MkClusterParam-org.apache.storm.testing.TestJob-">org.apache.storm.Testing.withLocalCluster(MkClusterParam, TestJob)</a>
<div class="block"><span class="deprecationComment">use <code>
    try (LocalCluster cluster = new LocalCluster.Builder()....build()) {
     ...
    }
</code></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/Testing.html#withLocalCluster-org.apache.storm.testing.TestJob-">org.apache.storm.Testing.withLocalCluster(TestJob)</a>
<div class="block"><span class="deprecationComment">use <code>
    try (LocalCluster cluster = new LocalCluster()) {
     ...
    }
</code></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/Testing.html#withSimulatedTime-java.lang.Runnable-">org.apache.storm.Testing.withSimulatedTime(Runnable)</a>
<div class="block"><span class="deprecationComment">use <code>
    try (Time.SimulatedTime time = new Time.SimulatedTime()) {
     ...
    }
</code></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/Testing.html#withSimulatedTimeLocalCluster-org.apache.storm.testing.MkClusterParam-org.apache.storm.testing.TestJob-">org.apache.storm.Testing.withSimulatedTimeLocalCluster(MkClusterParam, TestJob)</a>
<div class="block"><span class="deprecationComment">use <code>
    try (LocalCluster cluster = new LocalCluster.Builder().withSimulatedTime()....build()) {
     ...
    }
</code></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/Testing.html#withSimulatedTimeLocalCluster-org.apache.storm.testing.TestJob-">org.apache.storm.Testing.withSimulatedTimeLocalCluster(TestJob)</a>
<div class="block"><span class="deprecationComment">use <code>
    try (LocalCluster cluster = new LocalCluster.Builder().withSimulatedTime().build()) {
     ...
    }
</code></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/Testing.html#withTrackedCluster-org.apache.storm.testing.MkClusterParam-org.apache.storm.testing.TestJob-">org.apache.storm.Testing.withTrackedCluster(MkClusterParam, TestJob)</a>
<div class="block"><span class="deprecationComment">use <code>
    try (LocalCluster cluster = new LocalCluster.Builder().withTracked()....build()) {
     ...
    }
</code></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/Testing.html#withTrackedCluster-org.apache.storm.testing.TestJob-">org.apache.storm.Testing.withTrackedCluster(TestJob)</a>
<div class="block"><span class="deprecationComment">use <code>
    try (LocalCluster cluster = new LocalCluster.Builder().withTracked().build()) {
     ...
    }
</code></span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="constructor">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Constructors table, listing deprecated constructors, and an explanation">
<caption><span>Deprecated Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/utils/NimbusClient.html#NimbusClient-java.util.Map-java.lang.String-int-">org.apache.storm.utils.NimbusClient(Map&lt;String, Object&gt;, String, int)</a></td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="enum.constant">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Enum Constants table, listing deprecated enum constants, and an explanation">
<caption><span>Deprecated Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Enum Constant and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/storm/scheduler/resource/strategies/scheduling/BaseResourceAwareStrategy.NodeSortType.html#DEFAULT_RAS">org.apache.storm.scheduler.resource.strategies.scheduling.BaseResourceAwareStrategy.NodeSortType.DEFAULT_RAS</a>
<div class="block"><span class="deprecationComment">used by DefaultResourceAwareStrategyOld only. Use {link #COMMON} instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/storm/scheduler/resource/strategies/scheduling/BaseResourceAwareStrategy.NodeSortType.html#GENERIC_RAS">org.apache.storm.scheduler.resource.strategies.scheduling.BaseResourceAwareStrategy.NodeSortType.GENERIC_RAS</a>
<div class="block"><span class="deprecationComment">used by GenericResourceAwareStrategyOld only. Use {link #COMMON} instead.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</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>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li class="navBarCell1Rev">Deprecated</li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><script type="text/javascript" src="./highlight.pack.js"></script>
<script type="text/javascript"><!--
hljs.initHighlightingOnLoad();
//--></script></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
<li><a href="deprecated-list.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; 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
