Hi,
I have developed a web application using struts 2. In my struts 2
action class i am calling the service layer and written the synchronization
code as below in the service layer. Does this really gets synchronized? Is
there any problem in my synchronization code?
*The following is my action class:-*
public class AbcAction extends ActionSupport{
private AbcService ser=new AbcServiceImpl(); //AbcService is an
Interface
public String execute(){
ser.createNewRegistration();
return "SUCCESS";
}
}
*The following is my service Impl class:-*
public class AbcServiceImpl implements AbcService{
private AbcDao dao=new AbcDaoImpl();
public void .createNewRegistration(){
synchronized(AbcServiceImpl.class){
dao.createTheRegistration();
}
}
}
by writing the above code i assume that no two threads can run the
"dao.createTheRegistration()"
method at the same time. but when we analyze the logs i observed this is
not happening. Two threads are able to execute the method at the same time.
What is the problem in my code?
*Thanks and Regards,*
Muralidhar Yaragalla.
*http://yaragalla.blogspot.in/ <http://yaragalla.blogspot.in/>*