I should admit I am not a Java developer by trade, so I'm trying pretty
hard here.
When I call .registerRiver, I am passing the module, not the river.
RiverImpl.Type is just the string "river".
public void onModule(RiversModule module) {
module.registerRiver(RiverImpl.TYPE, ModuleImpl.class);
}
If this isn't what you mean, please dial me in a bit more. Guice is a
foreign to me too.
On Friday, May 2, 2014 12:34:47 PM UTC-5, Rob Ottaway wrote:
>
> Oh sorry module is fine, it's the call to module.registerRiver which is
> being passed the River itself and not the River Guice module. Try that
> change.
>
>
>
>
> On Fri, May 2, 2014 at 10:33 AM, Rob Ottaway <[email protected]<javascript:>
> > wrote:
>
>> I think he means in your Guice module. You are registering the WRONG
>> thing ;)
>>
>>
>> On Fri, May 2, 2014 at 6:49 AM, Joshua Chan
>> <[email protected]<javascript:>
>> > wrote:
>>
>>> I've tried this too with no luck
>>>
>>> http://localhost:9200/_river/example_river/_meta
>>> {
>>> "type": "river",
>>> "river":{
>>> "blah":"blah"
>>> }
>>> }
>>>
>>>
>>> On Friday, May 2, 2014 3:31:23 AM UTC-5, Luca Cavanna wrote:
>>>
>>>> Hi Joshua,
>>>> the package is not an issue if you are using the default one for your
>>>> classes. Looking deeper, the type of the river that you try to register
>>>> with your rest call doesn't match the type of the river you registered in
>>>> the plugin when you did module.registerRiver(type, riverclass).
>>>>
>>>> Cheers
>>>> Luca
>>>>
>>>> On Friday, May 2, 2014 6:08:28 AM UTC+2, 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]>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/fd23648c3
>>>>>>>>> e7cc42fd2286d4134e80ecd7e98f802/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-elasticse
>>>>>>>>>>> arch-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].
>>>>>> 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 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/485c6794-d7e2-4f42-9a12-bdc7f584ad9e%40googlegroups.com<https://groups.google.com/d/msgid/elasticsearch/485c6794-d7e2-4f42-9a12-bdc7f584ad9e%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/793bb137-ed0a-49f4-81ec-02a02f570135%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.