I'm not sure I follow.
In my Plugin.onModule I have
public void onModule(RiversModule module) {
module.registerRiver(RiverImpl.TYPE, ModuleImpl.class);
//client.admin().indices().prepareDeleteMapping("_river").setType(riverName.name()).execute();
}
And on my Module I have
protected void configure() {
bind(River.class).to(RiverImpl.class).asEagerSingleton();
}
On Thursday, May 1, 2014 11:08:28 PM UTC-5, Rob Ottaway wrote:
>
> I should have sent you the following earlier rather than a non-river
> plugin:
>
> the plugin:
>
> https://github.com/elasticsearch/elasticsearch-river-rabbitmq/blob/master/src/main/java/org/elasticsearch/plugin/river/rabbitmq/RabbitmqRiverPlugin.java
>
> The river implementation:
>
> https://github.com/elasticsearch/elasticsearch-river-rabbitmq/blob/master/src/main/java/org/elasticsearch/river/rabbitmq/RabbitmqRiver.java
>
> The module:
>
> https://github.com/elasticsearch/elasticsearch-river-rabbitmq/blob/master/src/main/java/org/elasticsearch/river/rabbitmq/RabbitmqRiverModule.java
>
> Looks like you are registering the river implementation rather than the
> river module hence the not working. Had to look at an example I know works
> to figure it out.
>
> -Rob
>
>
> On Thu, May 1, 2014 at 8:04 PM, Joshua Chan
> <[email protected]<javascript:>
> > wrote:
>
>> So, that's what I did, but no love... I checked in the latest.
>>
>> -Josh
>>
>>
>> On Thursday, May 1, 2014 9:49:11 PM UTC-5, Rob Ottaway wrote:
>>>
>>> Look at this plugin for help:
>>>
>>> https://github.com/elasticsearch/elasticsearch-
>>> cloud-aws/blob/master/src/main/resources/es-plugin.properties
>>>
>>> Yes it needs to be the FQN.
>>>
>>> On Thursday, May 1, 2014 5:47:31 PM UTC-7, Joshua Chan wrote:
>>>>
>>>> Thanks Rob. Someone else also told me the plugin property should be the
>>>> fully qualified name. I didn't declare a package, so I guess I'm using the
>>>> default package, and I thought I had the namespacing right since IntelliJ
>>>> corrected the class name when I wrote it.
>>>>
>>>> Thoughts?
>>>>
>>>>
>>>> -Josh
>>>>
>>>>
>>>> On Thursday, May 1, 2014 5:23:25 PM UTC-5, Rob Ottaway wrote:
>>>>>
>>>>> Look at this file in your BB repo:
>>>>>
>>>>> https://bitbucket.org/futurechan/example-river/src/
>>>>> fd23648c3e7cc42fd2286d4134e80ecd7e98f802/src/main/resources/
>>>>> es-plugin.properties?at=master
>>>>>
>>>>> cheers
>>>>>
>>>>> On Thursday, May 1, 2014 3:21:59 PM UTC-7, Rob Ottaway wrote:
>>>>>>
>>>>>> This strikes me as odd:
>>>>>>
>>>>>> java.lang.ClassNotFoundException: example_river
>>>>>>
>>>>>> Assume you didn't map the string example_river to the actual class
>>>>>> name properly?
>>>>>>
>>>>>> -Rob
>>>>>>
>>>>>> On Thursday, May 1, 2014 11:40:52 AM UTC-7, Joshua Chan wrote:
>>>>>>>
>>>>>>> I'm making my first go at writing a river. (Here's the source code:
>>>>>>> https://bitbucket.org/futurechan/example-river/src)
>>>>>>>
>>>>>>> I followed this tutorial
>>>>>>> http://blog.trifork.com/2013/01/10/how-to-write-an-
>>>>>>> elasticsearch-river-plugin/
>>>>>>>
>>>>>>> and compared it to this existing river
>>>>>>> https://github.com/jprante/elasticsearch-river-jdbc
>>>>>>>
>>>>>>> but I haven't had much luck.
>>>>>>>
>>>>>>> To deploy the river, I created a folder called example-river under
>>>>>>> plugins, dropped my jar in that folder, and restarted the node.
>>>>>>> Everything
>>>>>>> starts up fine.
>>>>>>>
>>>>>>> I have also tried bin/plugin --url file:///path/to/plugin --install
>>>>>>> example-river, which seems to work, but it unpacks my jar. So, I
>>>>>>> tried zipping it first and then installing, which works and does not
>>>>>>> unpack
>>>>>>> my jar, but it didn't help.
>>>>>>>
>>>>>>> When I issue this PUT request:
>>>>>>>
>>>>>>> http://localhost:9200/_river/example_river/_meta
>>>>>>> {
>>>>>>> "type": "example_river",
>>>>>>> "example_river":{
>>>>>>> "blah":"blah"
>>>>>>> }
>>>>>>> }
>>>>>>>
>>>>>>> I get this exception:
>>>>>>>
>>>>>>> [2014-04-20 22:28:46,538][DEBUG][river ] [Gloom] creating river
>>>>>>> [example_river][example_river]
>>>>>>> [2014-04-20 22:28:46,543][WARN ][river ] [Gloom] failed to create river
>>>>>>> [example_river][example_river]
>>>>>>> org.elasticsearch.common.settings.NoClassSettingsException: Failed to
>>>>>>> load class with value [example_river] at
>>>>>>> org.elasticsearch.river.RiverModule.loadTypeModule(RiverModule.java:87)
>>>>>>> at
>>>>>>> org.elasticsearch.river.RiverModule.spawnModules(RiverModule.java:58)
>>>>>>> at
>>>>>>> org.elasticsearch.common.inject.ModulesBuilder.add(ModulesBuilder.java:44)
>>>>>>> at
>>>>>>> org.elasticsearch.river.RiversService.createRiver(RiversService.java:137)
>>>>>>> at
>>>>>>> org.elasticsearch.river.RiversService$ApplyRivers$2.onResponse(RiversService.java:275)
>>>>>>> at
>>>>>>> org.elasticsearch.river.RiversService$ApplyRivers$2.onResponse(RiversService.java:269)
>>>>>>> at
>>>>>>> org.elasticsearch.action.support.TransportAction$ThreadedActionListener$1.run(TransportAction.jav
>>>>>>> a:93) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
>>>>>>> Source) at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at
>>>>>>> java.lang.Thread.run(Unknown Source) Caused by:
>>>>>>> java.lang.ClassNotFoundException: example_river at
>>>>>>> java.net.URLClassLoader$1.run(Unknown Source) at
>>>>>>> java.net.URLClassLoader$1.run(Unknown Source) at
>>>>>>> java.security.AccessController.doPrivileged(Native Method) at
>>>>>>> java.net.URLClassLoader.findClass(Unknown Source) at
>>>>>>> java.lang.ClassLoader.loadClass(Unknown Source) at
>>>>>>> sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at
>>>>>>> java.lang.ClassLoader.loadClass(Unknown Source) at
>>>>>>> org.elasticsearch.river.RiverModule.loadTypeModule(RiverModule.java:73)
>>>>>>> ... 9 more
>>>>>>>
>>>>>>> Can someone point out what I am missing?
>>>>>>>
>>>>>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "elasticsearch" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/elasticsearch/kIlh_0hm3no/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected] <javascript:>.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/elasticsearch/09202b8e-5e77-4c51-b4b0-f47c0b0f5bc0%40googlegroups.com<https://groups.google.com/d/msgid/elasticsearch/09202b8e-5e77-4c51-b4b0-f47c0b0f5bc0%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
--
You received this message because you are subscribed to the Google Groups
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/232f7c30-01e8-48c2-9f62-e0c37f90052c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.