[
https://jira.duraspace.org/browse/DS-785?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18756#action_18756
]
Kim Shepherd commented on DS-785:
---------------------------------
Did some more testing this afternoon. Once the slf4j dependency inconsistencies
(SWORD and LNI use 1.5.5, everything else uses 1.5.6) are resolved, there is
still the problem of SWORD and LNI not being "springified" to work with
dspace-services, start the kernel, etc.
Below is the hacking I've done to get SWORD working with the Discovery index
dispatcher. It'd be great if a dspace-services/spring expert could look over
and tell me if I'm doing anything stupid or unnecessary:
web.xml:
-----------
ADD NEW DSPACE.DIR CONTEXT PARAM:
<context-param>
<description>
The location of the main DSpace configuration file
</description>
<param-name>dspace.dir</param-name>
<param-value>/usr/local/dspace</param-value>
</context-param>
ADD SPRING CONFIG CONTEXT PARAM:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/*.xml</param-value>
</context-param>
INSERT STANDALONE KERNEL START LISTENER, BEFORE OTHER LISTENERS
<listener>
<listener-class>org.dspace.servicemanager.servlet.DSpaceKernelServletContextListener</listener-class>
</listener>
CREATE "[sword]/WEB-INF/spring" DIRECTORY
ADD A BASIC applicationContext.xml CONFIG AS PER JSPUI, XMLUI
I also added a few extra Spring libs while testing, so I'll go back and remove
the extra ones to make sure there aren't any missing dependencies I need to fix
in SWORD's maven config.
> SWORD deposits fail when ingest events are fired if Discovery event consumer
> is configured
> ------------------------------------------------------------------------------------------
>
> Key: DS-785
> URL: https://jira.duraspace.org/browse/DS-785
> Project: DSpace
> Issue Type: Bug
> Components: Solr
> Affects Versions: 1.7.0
> Reporter: Kim Shepherd
> Priority: Major
>
> If "discovery" is configured in the dspace.cfg property
> "event.dispatcher.default.consumers" and a SWORD deposit is made,
> dspace-services seems to have trouble starting DSpaceKernelManager / the
> kernel itself properly.
> Eg.
> (start SWORD deposit...)
> 2010-12-16 09:58:06,104 INFO org.dspace.sword.SWORDService @ [2010-12-16
> 09:58:06.104] Workflow process started;
> 2010-12-16 09:58:06,105 INFO org.dspace.sword.SWORDService @ [2010-12-16
> 09:58:06.105] Updated date added to response from item metadata where
> available;
> 2010-12-16 09:58:06,105 INFO org.dspace.content.Item @
> [email protected]:session_id=0:ip_addr=127.0.0.1:update_item:item_id=86729
> 2010-12-16 09:58:06,110 INFO org.dspace.sword.SWORDService @ [2010-12-16
> 09:58:06.110] Ingest successful;
> 2010-12-16 09:58:06,110 INFO org.dspace.sword.SWORDService @ [2010-12-16
> 09:58:06.110] Item created with internal identifier: 86729;
> 2010-12-16 09:58:06,110 INFO org.dspace.sword.SWORDService @ [2010-12-16
> 09:58:06.110] No external identifier available at this stage (item in
> workflow);
> 2010-12-16 09:58:06,110 INFO org.dspace.sword.SWORDService @ [2010-12-16
> 09:58:06.110] Archive ingest completed successfully;
> 2010-12-16 09:58:06,110 INFO org.dspace.sword.SWORDService @ [2010-12-16
> 09:58:06.110] Initialising ATOM entry generator for an Item;
> 2010-12-16 09:58:06,116 INFO org.dspace.sword.SWORDService @ [2010-12-16
> 09:58:06.116] Total time for deposit processing: 478 ms;
> (...looks good so far, but...)
> 2010-12-16 09:58:06,118 ERROR
> org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/sword].[deposit]
> @ Servlet.service() for servlet deposit threw exception
> java.lang.NoClassDefFoundError: Could not initialize class
> org.dspace.kernel.DSpaceKernelManager
> at org.dspace.utils.DSpace.<init>(DSpace.java:57)
> at org.dspace.utils.DSpace.<init>(DSpace.java:46)
> at
> org.dspace.discovery.IndexEventConsumer.<init>(IndexEventConsumer.java:41)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at java.lang.Class.newInstance0(Class.java:355)
> at java.lang.Class.newInstance(Class.java:308)
> at
> org.dspace.event.ConsumerProfile.readConfiguration(ConsumerProfile.java:87)
> at
> org.dspace.event.ConsumerProfile.makeConsumerProfile(ConsumerProfile.java:62)
> at
> org.dspace.event.EventManager$DispatcherPoolFactory.makeObject(EventManager.java:227)
> at
> org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:964)
> at
> org.apache.commons.pool.PoolUtils$SynchronizedKeyedObjectPool.borrowObject(PoolUtils.java:1159)
> at org.dspace.event.EventManager.getDispatcher(EventManager.java:111)
> at org.dspace.core.Context.commit(Context.java:333)
> at org.dspace.sword.SWORDContext.commit(SWORDContext.java:178)
> at
> org.dspace.sword.DSpaceSWORDServer.doDeposit(DSpaceSWORDServer.java:123)
> at
> org.purl.sword.server.DepositServlet.doPost(DepositServlet.java:299)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
> at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.duraspace.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
Dspace-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-devel