我有一个使用spring使用dspace启动的服务。此服务无意从dspace代码中进行访问。它是一个独立的服务,从外部服务读取,并且在适当的时候,该服务应该访问正在运行的dspace实例,查询必要的项目并对其进行一些更新。
鉴于基于如何设置dspace服务实例化(spring),我无法在该服务中注入dspace实例(我在tomcat中使用Dspace),我想知道最好的方法是什么实现这一点。
到目前为止,我看到的唯一方法是使用新的Dspace()方法来传递正在运行的实例,并得到我想要的东西。这必须在该服务的要求下完成,处理实例可能尚未启动的情况。
简而言之,我无法在dspace中注册的服务中注入dspace实例,我只能通过全局变量使用dspace实例。
我只想确认这是否是唯一的方式,或者是否有另一种方式。
也就是说,有没有办法运行一些连续访问dspace实例的过程,并根据过程从外部服务中读取的内容来更新其项目。
提前致谢
PS:
Dspace 1.8
答案 0 :(得分:1)
在DSpace 1.8.x中,我能想到的唯一方法是你的方法(使用dspace-services-api / dspace-services-impl和dspace-api查找,修改和保存Item)或直接更新数据库。让DSpace代码为您处理数据库和资产库可能是更好的方法,也是我会选择的方法。