有人可以解释一下融合在一起时CreateUser(String)和CreateUser(User,Credential)之间的区别是什么。我想为汇合创建一个用户(如果该用户不在组中)。融合文档中没有信息。 :(

我写了这样的代码,但不确定是否会在同一行中两次接受createUser方法。

userAccessor.createUser(userAccessor.createUser(username), Credential.encrypted(password));

我猜测,如果在内部执行createUser,那么它将在尝试再次创建同一用户时在外部父级createUser处引发异常?

请给我你的想法

谢谢
塞缪尔。

最佳答案

新的createUser(User, Credential)方法替代了旧的createUser(String)方法,因此您应使用前一种方法并构造具有所有详细信息的用户:

User user = userAccessor.createUser(new DefaultUser("mryall", "Matt Ryall", "[email protected]"),
    Credential.unencrypted("secret"));


拥有此API的原因是为了减少创建用户所需的调用次数,并修复潜在的竞争状况,即在创建使用用户名但字段(名称,电子邮件,密码)为空的用户时。

整个API的文档非常少。我在Atlassian的Confluence团队工作-非常重要!我们将尝试解决此问题。

10-05 23:15