【发布时间】:2015-02-14 07:20:14
【问题描述】:
我正在创建一个 Web 应用程序并遇到线程安全问题。在阅读了几个类似的问题之后,我仍然对我的情况感到困惑。我正在使用 java spring 框架来设置 REST Web 服务。所有请求(Person 对象的 JSON)都将传递给 checkIfGoodName 函数,例如 Checker.checkIfGoodName(person)。它们都是静态方法调用。我想知道,这个功能是Checker.checkIfGoodName THREAD SAFE 吗?如果没有,如何修改代码?我的代码如下:
Checker.java
public class Checker {
public static void checkIfGoodName(Person person){
checkingName(Person person);
}
private static void checkingName(Person person){
if(person.getName()==null){
PersonUtils.addErrorMessage(Person person, new String("Name is empty"));
}
}
}
PersonUtils.java
public class PersonUtils {
public static void addErrorMessage(Person person, String errorMessage){
List<Message> msg = person.getMessageList();
if(msg!=null){
msg.add(buildMessage(errorMessage));
}
}
public static void buildMessage(String errorMessage){
if(errorMessage != null){
Message msg = new Message();
msg.setMsg(errorMessage);
}
}
}
【问题讨论】:
-
buildMessage需要返回一些东西 -
如果你像
msg.add(buildMessage())这样称呼它,它不可能是void
标签: java multithreading thread-safety static-methods