Hi, i have a question about invocation method between components; i have three component A,B,C. The component A have two remotable and OneWay methods Increments and Decrements, Increments call a private method inc to increments private variable in A implementation, and Decrements call a private method dec to decrements the same variable, if B and C call one of this method at same time is it correct to define the private method inc and dec as synchronized to obtain a synchronized access to the private variable ? Thank for your answer
Service A @Remotable public interface Aservice{ @OneWay void Increments(); @OneWay void Decrements(); } /--------------------------------------------------------------/ @Scope("COMPOSITE") @EagerInit public class AserviceImpl implements Aservice{ private int i; @Init public void start() { i=0;} private void inc(){i++;} //<------this may be synchronized? private void dec(){i--;} //<------this may be synchronized? public void Increments(){inc();} public void Decrements(){dec();} } Service B @Remotable public interface Bservice{ void Bmethod(); } /--------------------------------------------------------------/ @Scope("COMPOSITE") public class BserviceImpl implements Bservice{ @Reference Aservice aservice; public void Bmethod(){ . . aservice.Increments(); . . } } Service C @Remotable public interface Cservice{ void Cmethod(); } /--------------------------------------------------------------/ @Scope("COMPOSITE") public class CserviceImpl implements Cservice{ @Reference Aservice aservice; public void Cmethod(){ . . aservice.Decrements(); . . } }