[ 
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

Reply via email to