Как получить доступ к файлам в директории с помощью болта апача штормовой топологииКак получить доступ к файлам из каталога в апаче шторма
в классе топологии им проходящего объект класса AnnotationTest
Config conf = new Config();
conf.put("gateObject", new AnnotationTest());
В класс болта им доступ к этому объекту
AnnotationTest at;
@Override
public void prepare(Map stormConf, TopologyContext context) {
at=(AnnotationTest)stormConf.get("gateObject");
}
Но AnnotationTest класс получающего доступ много ресурсов из каталога песка каталог песка также включен в корне файл JAR (ливневый стартер-0.9.5-банка-с-dependencies.jar)
сценарий Maven сборки ниже
<resource>
<directory>.</directory>
<includes>
<include>sand/**/*.*</include>
</includes>
</resource>
, но при доступе а-файл из этого каталога песка в AnnotationTest класса, как показано ниже
application = (ConditionalSerialAnalyserController) PersistenceManager
.loadObjectFromUrl(new URL("file:///sand/application.xgapp"));
Все исходные коды, зависимостей, каталоги ресурсов, включенных в этот единый файл JAR Im представление топологии, запустив КН класса топологии ич также внутри одного файла банки со следующей командой
storm jar storm-starter-0.9.5-jar-with-dependencies.jar backtype.storm.testing.CopyTopology
следующее исключением воспитывающей
6892 [main-EventThread] INFO org.apache.storm.curator.framework.state.ConnectionStateManager - State change: CONNECTED
6930 [main] INFO backtype.storm.daemon.supervisor - Starting supervisor with id 60c35cb1-f020-4f6f-bc79-fcafe3fff844 at host ubuntu
java.io.FileNotFoundException: /sand/application.xgapp (No such file or directory)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:93)
at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
at java.net.URL.openStream(URL.java:1045)
at gate.util.persistence.PersistenceManager.isXmlApplicationFile(PersistenceManager.java:1013)
at gate.util.persistence.PersistenceManager.loadObjectFromUrl(PersistenceManager.java:857)
at backtype.storm.testing.AnnotationTest.<init>(AnnotationTest.java:38)
at backtype.storm.testing.CopyTopology.submitTopology(CopyTopology.java:30)
at backtype.storm.testing.CopyTopology.main(CopyTopology.java:54)
Так, пожалуйста, покажите мне способ получить доступ к файлам из каталога (который доступен в файл JAR) в классе болтов штормовой топологии.