我试图了解DynamoDB乐观锁定是否适合我的用例,还是应该做其他事情。
我正在尝试在Java方法中执行以下操作。
function updateItem(String key) {
Item item = mapper.load(Item.class, key);
if (some condition) {
item.setValue(item.getValue() + 1);
mapper.save(item);
}
}
Run Code Online (Sandbox Code Playgroud)
我想根据某些条件成功更新同一项目。我创建了一个version属性,以便乐观锁定起作用,当我有多个请求进入时,只有一个请求会获取并更新数据。
我试图了解以下内容:
当其他线程尝试更新值但版本ID更改时会发生什么,我找不到任何有关引发异常的文档?
我应该为此使用同步功能吗?考虑到会有多个请求?但是,在我看来,这似乎无法实现乐观锁定的目的,因为我不在乎哪个请求首先获得访问权限。
是否有解决此问题的替代方法?
我阅读过以下文档:http : //docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBMapper.OptimisticLocking.html
我想为Checkstyle提供多个抑制文件.这意味着,我将拥有2个具有单独抑制规则的独立文件:
添加1文件的方法是在规则中添加:
<module name="SuppressionFilter">
<property name="file" value="docs/suppressions.xml"/>
</module>
Run Code Online (Sandbox Code Playgroud)
我想要实现的是:(这不是合法的语法)
<module name="SuppressionFilter">
<property name="file" value="docs/suppressions-1.xml"/>
<property name="file" value="docs/suppressions-2.xml"/>
</module>
Run Code Online (Sandbox Code Playgroud)
我尝试使用2个单独的SuppressionFilters,但这似乎用第二个覆盖了第一个.
我的意思是:
<module name="SuppressionFilter">
<property name="file" value="docs/suppressions-1.xml"/>
</module>
<module name="SuppressionFilter">
<property name="file" value="docs/suppressions-2.xml"/>
</module>
Run Code Online (Sandbox Code Playgroud)
如果按上述方式完成,则仅使用suppressions-2.xml
有没有办法做到这一点?
我最近遇到了这个问题.
创建了单链表,列表的节点看起来像
struct node
{
int data;
struct node* link;
};
Run Code Online (Sandbox Code Playgroud)
该列表是使用add at head创建的,列表看起来像
100-> 200-> 300
显示功能写成
void display(struct node* head)
{
while(head != NULL)
{
printf ("%d", *head);
head=head->next;
}
}
Run Code Online (Sandbox Code Playgroud)
这是访问列表中数据的合法方式吗?我把它绑在GCC编译器上,它发出警告但是它有效.在某些情况下是否会导致错误?