So I changed on minor thing, which was the package a zip assembly. I had 
failed to notice this until I checked out and built your project. I hadn't 
looked at the pom figuring it was a coding issue :)

You can find the code here:

https://github.com/robottaway/simple-es-river

Then I created the assembly using "mvn package", which put a zip file in 
./target/releases/example-river-1.0-SNAPSHOT.zip THAT IS WHAT YOU NEED TO 
MAKE THIS WORK. 

I see what Luca was talking about, noticed you updated your REST example 
changing "example_river" to "river".

Next I installed this in Elasticsearch 1.1.1 I have running local.

robs-mbp-3:elasticsearch-1.1.1 rob$ bin/plugin --url 
file:///Users/rob/development/git/example-river/target/releases/example-river-1.0-SNAPSHOT.zip
 
--install blarggh
-> Installing blarggh...
Trying 
file:/Users/rob/development/git/example-river/target/releases/example-river-1.0-SNAPSHOT.zip...
Downloading 
................................................................................................................................................................DONE

Then

robs-mbp-3:elasticsearch-1.1.1 rob$ curl -X PUT -H "Content-Type: 
application/json" http://localhost:9200/_river/example_river/_meta -d '{
>     "type": "river",
>   "river":{
>     "blah":"blah"
>   }
> }'
{"_index":"_river","_type":"example_river","_id":"_meta","_version":1,"created":true

as you can see works just fine. Hit me up if you have any trouble.

cheers,
Rob


On Saturday, May 3, 2014 7:10:51 PM UTC-7, Rob Ottaway wrote:
>
> Wow I am (mostly) a Java developer by trade and I really steered you 
> wrong. Sorry! You are definitely registering the module, chock up my poor 
> answer to a looong day at work. 
>
> I think far as I can see you have everything you need in place. You 
> register the plugin as "river" and set the type in your REST POST to 
> "river" which is right though Luca thinks otherwise. Maybe he knows 
> something I don't, I'm not batting exactly 1000 here. Let me check your 
> code out and install it locally, do a little dev QA.
>
> -Rob
>
>
>
> On Friday, May 2, 2014 1:59:34 PM UTC-7, Joshua Chan wrote:
>>
>> 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]> 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]>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].
>>>>> 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/d4532b52-133b-4500-8f03-a3f0682f1039%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to