Reputation: 4461
I am having trouble getting solr dataimportscheduler to work. I have the latest jar file which packages all the class files needed. I am getting below error when trying to start up tomcat.
Jun 21, 2012 11:36:06 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.apache.solr.handler.dataimport.scheduler.ApplicationListener
java.lang.ClassNotFoundException: org.apache.solr.handler.dataimport.scheduler.ApplicationListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:525)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:507)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:124)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4715)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1095)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1617)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Jun 21, 2012 11:36:06 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Skipped installing application listeners due to previous error(s)
I am assuming when they say "Don't forget to add the following listener declaration to Solr's web.xml:
<listener>
<listener-class>org.apache.solr.handler.dataimport.scheduler.ApplicationListener</listener-class>
</listener>
This means add the lines below to Tomcat's web.xml
<listener>
<listener-class>org.apache.solr.handler.dataimport.scheduler.ApplicationListener</listener-class>
</listener>
Any help will be much appreciated.
Thanks
UPDATE:
I updated solr's web.xml and now tomcat starts up without any errors but when the scheduled task runs, it blanks my index. I have more than one solr core...and I have put dataimport.properties in the root folder and one for each core.This is what my properties file in the root looks like.
#################################################
# #
# dataimport scheduler properties #
# #
#################################################
syncEnabled=1
syncCores=Internal.Locations #(Locations is a folder inside Internal)
server=localhost
port=8080
webapp=solr
params=/select?qt=/dataimport&command=delta-import&clean=false&commit=true
interval=10
Upvotes: 0
Views: 1214
Reputation: 5706
The cores listed in properties file are there just so the Scheduler can assemble URL that invokes data import.
That's exactly what you need to place in your properties file, comma separated core names as they are listed in URL when you fire DIH manually, from your browser.
You, of course, know that cores are configured in solr/solr.xml
.
BTW, you should see in your Tomcat console (or log file) this line:
<index update process> Multiple cores identified in dataimport.properties. Sync active for: list-of-your-cores
Upvotes: 1