I don't write to solr, but I do query it (and writing should work equivalently). My route for querying is just: <route id="SolrQuery"> <from uri="direct:solrQuery" /> <setHeader headerName="CamelHttpQuery"> <simple>${body}</simple> </setHeader> <to uri="http://server:8983/solr/test/select/?disableStreamCache=true" /> <convertBodyTo type="java.lang.String" /> <unmarshal ref="solrToMap"/> </route>
That route takes in the query string for solr as the body and then returns the data from solr as a map. You might find it simpler to ignore java code for calling solr, and just talk http to it. Jim On Tue, Aug 09, 2011 at 09:01:18PM -0700, Tereza Nedelescu wrote: > Hi, > > I tried inserting data into Solr through Camel using two ways: > 1 - from the *processor*, calling Java code that inserts data to Solr > 2 - using the Solr component from this website: > http://46.252.16.133/?q=espace/ispace/solrcomponent > > In both cases, I ran into exceptions that prevented the program from > inserting data into Solr. > *In Case 1* - simply by calling code executing > solrServer = new > CommonsHttpSolrServer("http://localhost:8983/solr"); > it gave the following exception > > SEVERE: Failed delivery for exchangeId: ID-myId. Exhausted after delivery > attempt: 1 caught: org.apache.camel.CamelExecutionException: Exception > occurred during execution on the exchange: > Exchange[/home/tnedelescu/Logs_fresh/inDir/file.txt] > org.apache.camel.CamelExecutionException: Exception occurred during > execution on the exchange: > Exchange[/home/tnedelescu/Logs_fresh/inDir/file.txt] > at > org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1155) > at > org.apache.camel.impl.DefaultExchange.setException(DefaultExchange.java:271) > ....................................... > Caused by: java.lang.IncompatibleClassChangeError: Implementing class > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClass(ClassLoader.java:634) > at > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) > ................... > > *In Case 2*, I got the following error: > SEVERE: Failed delivery for exchangeId: ID-myId. Exhausted after delivery > attempt: 1 caught: org.apache.camel.CamelExecutionException: Exception > occurred during execution on the exchange: Exchange[null] > org.apache.camel.CamelExecutionException: Exception occurred during > execution on the exchange: Exchange[null] > at > org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1155) > at > org.apache.camel.impl.DefaultExchange.setException(DefaultExchange.java:271) > > I tested that exchange.getOut().getBody() is not null when it exits > "proces(exchange)". > > If anybody inserted data to Solr, at the same time involving Camel, please, > let me know how to do it. > > Thank you, > Tereza > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/How-can-I-insert-data-in-Solr-from-Camel-tp4684539p4684539.html > Sent from the Camel - Users mailing list archive at Nabble.com.