问题。我需要一种通过 Starteam Java SDK 8.0 查找 Starteam 服务器时间的方法。服务器版本为 8.0.172,因此方法 Server.getCurrentTime()
不可用,因为它仅在服务器版本 9.0 中添加。
动机。我的应用程序需要使用特定日期的 View 。因此,如果客户端(运行应用程序的地方)和服务器之间的系统时间存在一些差异,则获得的 View 不准确。在最坏的情况下,客户端请求的日期是服务器的 future 日期,因此操作会导致异常。
最佳答案
经过一番调查,我没有找到比使用临时元素更干净的解决方案。我的应用程序请求项目的创建时间并将其与本地时间进行比较。这是我用来获取服务器时间的方法:
public Date getCurrentServerTime() {
Folder rootFolder = project.getDefaultView().getRootFolder();
Topic newItem = (Topic) Item.createItem(project.getTypeNames().TOPIC, rootFolder);
newItem.update();
newItem.remove();
newItem.update();
return newItem.getCreatedTime().createDate();
}
关于java - 计算 Borland Starteam 服务器 8 中的客户端-服务器时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/126114/