我第一次去写一条河。 (Here's the source code)
我跟着这个tutorial并将其与this existing river进行了比较,但我没有太多运气。
为了部署河流,我创建了一个名为example-river
的文件夹,将我的jar放在该文件夹中,然后重新启动了该节点。一切都很好。
我也尝试了bin/plugin --url file:///path/to/plugin --install example-river
,这似乎有效,但它解压了我的jar。
当我发出此PUT请求时:
http://localhost:9200/_river/example_river/_meta
{
"type": "example_river",
"example_river":{
"blah":"blah"
}
}
我得到了这个例外:
[2014-04-20 22:28:46,538] [DEBUG] [river] [Gloom] 创建河[example_river] [example_river] [2014-04-20 22:28:46,543] [警告] [河] [悲观]没能 创建河[example_river] [example_river] org.elasticsearch.common.settings.NoClassSettingsException:失败 加载类值为[example_river]的类 org.elasticsearch.river.RiverModule.loadTypeModule(RiverModule.java:87) 在 org.elasticsearch.river.RiverModule.spawnModules(RiverModule.java:58) 在 org.elasticsearch.common.inject.ModulesBuilder.add(ModulesBuilder.java:44) 在 org.elasticsearch.river.RiversService.createRiver(RiversService.java:137) 在 org.elasticsearch.river.RiversService $ ApplyRivers $ 2.onResponse(RiversService.java:275) 在 org.elasticsearch.river.RiversService $ ApplyRivers $ 2.onResponse(RiversService.java:269) 在 org.elasticsearch.action.support.TransportAction $ ThreadedActionListener $ 1.run(TransportAction.java:93) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source) 在java.lang.Thread.run(未知来源)引起: java.lang.ClassNotFoundException:example_river at java.net.URLClassLoader $ 1.run(未知来源)at java.net.URLClassLoader $ 1.run(未知来源)at java.security.AccessController.doPrivileged(Native Method)at java.net.URLClassLoader.findClass(未知来源)at java.lang.ClassLoader.loadClass(未知来源)at sun.misc.Launcher $ AppClassLoader.loadClass(未知来源)at java.lang.ClassLoader.loadClass(未知来源)at org.elasticsearch.river.RiverModule.loadTypeModule(RiverModule.java:73) ... 9更多
有人可以指出我缺少的东西吗?