许多REST API提供搜索资源的功能.
例如,可以使用以下HTTP请求获取类型A的资源:
GET /A?prop1={value1}&prop2={value2}
Run Code Online (Sandbox Code Playgroud)
我正在使用乐观锁定,因此希望为A类型的每个返回资源返回一个版本.到目前为止,我在使用其ID仅获取一个资源时使用了ETag标头.
是否有一种HTTP方法可以在同一响应中为多个资源返回版本?如果没有,我应该在正文中包含版本吗?
谢谢,Mickael
编辑:我在网上发现,ETag通常是通过计算部分回复的哈希来生成的.这种方法非常适合我的情况,因为将计算返回集合的哈希值.但是,如果客户端决定更新集合中的一个元素,那么他应该将哪个ETag置于If-Match标头中?我认为包含各个元素的ETag是唯一的解决方案......
是否可以注入TaskSchedulerSpring创建的实例?
我想以编程方式安排任务,为此,我想我需要访问TaskScheduler但由于某种原因,Spring没有找到自动装配.
@Configuration
@EnableScheduling
public class MySpringConfig {
}
@Component
public class MyClass implements InitializingBean {
@Autowired
private TaskScheduler taskScheduler;
@Override
public void afterPropertiesSet() throws Exception {
...
}
}
Run Code Online (Sandbox Code Playgroud)
任何的想法?
谢谢!
我需要在同一台机器上运行的两个Java应用程序(两个不同的JVM)之间共享数据.我确切地说要共享的数据很大(大约7 GB).应用程序必须非常快速地访问数据,因为它们必须以非常高的速率应答传入的查询.我不希望应用程序为每个应用程序保存一份数据副本.
我已经看到一个选项是使用内存映射文件.应用程序A从某处获取数据(比如数据库)并将其存储在文件中.然后应用程序B可以使用访问这些文件java.nio.我不知道到底内存映射文件是如何工作的,我只知道数据存储在一个文件,这个文件(或它的一部分)映射到内存的区域(虚拟内存?).因此,这两个应用程序可以读写内存中的数据,并且更改会自动(我猜?)提交到文件中.我也不知道文件的最大大小是否完全映射到内存中.
我的第一个问题是两个应用程序在这种情况下共享数据的不同可能性(我的意思是考虑到数据量非常大,并且访问这些数据必须非常快)?我确切地说这个问题与内存映射I/O无关,它只是知道解决同一问题的其他方法是什么.
我的第二个问题是使用内存映射文件的优缺点是什么?
谢谢
我正在使用Jenkins 1.461,使用SVN轮询时遇到问题.我的存储库URL的格式为svn + ssh:// *****.我已经将Jenkins配置为每5分钟轮询一次.会发生的是每隔5分钟检测到一次变化:
开始于2012年5月2日下午8:26:24收到2012年5月2日下午8:26:25 XXXXXXXXX的SCM民意调查svn + ssh:// XXXX/svn/XXXX/XXXXXXXXX/XXXXXXXX/trunk正在修订26,192(改为26,181)完成.花了2.6秒发现了变化
但是,每次轮询后工作区都不会更新.工作区的最后一个版本仍然是26181而不是预期的26192.我不明白为什么.任何的想法?
迈克尔
有没有办法创建StringBuilder一个byte[]?
我想提高内存使用率,StringBuilder但我首先要做的是byte[],所以我必须创建一个String来自byte[]然后创建StringBuilder的String,我不认为这个解决方案是最佳的.
谢谢
有选择地分发数据有哪些可能性?
我用一个例子来解释我的问题.考虑一个包含所有数据的中央数据库.该数据库位于特定的地理位置.
应用程序A需要中央数据库中存在的信息的子集.此外,应用程序A可以位于与中央数据库所在的地理位置不同(并且可能远)的地理位置.
因此,我考虑在应用程序A的同一位置创建一个新数据库,该数据库将包含中央数据库的一部分信息.
哪种技术/产品允许我部署这样的配置?
谢谢
我想使用Spring Security保护我的服务层.正如文档中所解释的,我需要使用一个MethodSecurityInterceptor来检查是否允许方法调用.
要确定是否允许给定用户进行服务方法调用,影响调用方法(使用MethodSecurityMetadataSource)所需的角色对我来说是不够的,因为它还取决于传递给方法的参数.正如文档中所建议的,我可以编写自定义AccessDecisionVoter并通过安全对象访问参数(MethodInvocation在本例中).
但是,我的授权逻辑在方法上是不同的.例如,多个方法之间的参数可能不同,授权逻辑也不同.
我看到两个选择:
AccessDecisionVoter来确定要使用的调用方法和授权逻辑,但它似乎是一个丑陋的解决方案.MethodSecurityInterceptor每个方法定义一个安全.根据Spring文档,a MethodSecurityInterceptor用于保护许多方法,因此它让我觉得还有另一种方法.方法调用(使用AfterInvocationProvider)后的访问决策存在同样的问题.
有哪些替代方案?
我正在研究Apache Felix,尤其Configuration Admin Service是允许管理多个组件配置的子项目.在文档中,它说:
配置管理服务就像一个中心集线器,它关心持久化此配置以及将配置分发给感兴趣的各方.一类这样的聚会是要配置的组件.
有没有办法管理在不同Apache Felix平台实例上运行的多个组件的配置?
为了说明我的问题,假设有5个模块化的应用程序服务器.每个服务器由安装在单个OSGi平台实例上的多个捆绑包组成.在两个平台实例上,类似的包可以使用不同的配置运行.我想使用一个实例集中所有平台实例的所有捆绑包的配置Configuration Admin Service.
你知道在哪里可以找到配置管理的好资源,OSGi特别是在Apache Felix?
谢谢
我刚刚使用 SNAPSHOT 版本将 Maven 多模块项目部署到 Nexus。
部署的工件存在于 Nexus 快照存储库中,我可以直接通过 Nexus 界面下载它们。
但是,当我将这些工件作为依赖项添加到另一个项目时,Maven 无法解析它们。
我收到以下错误:
Downloading: http://<nexus-url>/nexus/content/groups/public/<groupId>/<artifactId>/1.0-SNAPSHOT/maven-metadata.xml
Downloaded: http://<nexus-url>/nexus/content/groups/public/<groupId>/<artifactId>/1.0-SNAPSHOT/maven-metadata.xml (835 B at 15.1 KB/sec)
Downloading: http://<nexus-url>/nexus/content/groups/public/<groupId>/<artifactId>/1.0-SNAPSHOT/<artifactId>-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9.056s
[INFO] Finished at: Tue Mar 25 17:49:23 IST 2014
[INFO] Final Memory: 11M/234M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project my-project: Co
uld not resolve dependencies for project com.example:my-project:jar:2.0-SNAPSHOT: Could not find artifact <groupId>:<artifactId>:jar:1.0-SNAPSHOT in nexus (http://<nexus-url>/nexus/content/groups/public) -> [Help 1]
[ERROR]
[ERROR] …Run Code Online (Sandbox Code Playgroud) 我想使用Java WatchService来监听大量目录(数十万)的变化,但我不知道它是否适合这样数量的监视目录.
有没有人有WatchService这么多目录的经验?
如果有帮助,WatchService将在带有EXT4文件系统的CentOS 6.5上使用.
谢谢,Mickael