2013-03-07 2 views
0

내가 상속 어플리케이션에서 발생 된 '패턴'을 고려한다. 실제로는 cxf-client (= 생성 된 webservice-client)입니다.정적 메소드 호출 싱글

이것은 웹 응용 프로그램이므로 정적 인 doBusiness() 메서드가 다른 동시 스레드에서 호출됩니다. 이 메서드는 스레드로부터 안전합니까?

질문하기 전에 : 이것이 이상한 '패턴'이라는 것을 알고 있습니다. 우리가 doBusiness() 메서드는 상당히 중복 된 것이므로 myService.doStuff()을 정적 메서드로 전달하는 대신 직접 호출 할 수 있기 때문에이 메서드는 매우 불필요합니다. 제가 말했듯이, 저는이 '패턴'이 모든 곳에 적용되는 응용 프로그램을 물려 받았습니다. 나는 이유를 모른다. 응용 프로그램에 (때로는) 이상한 동작이 있고 문제의 원인을 찾으려고합니다.

답변

2

doBusiness()에는 스레드가 안전하지 못하다. 스레드 안전 여부는 thread-safetiness에 따라 달라집니다. myService.doStuff(arg1, arg2);

+0

감사합니다! 이 접근법으로 다른 고려 사항을 만들 수 있습니까? 이 접근법을 언제 더 직관적 인 'service.doStuff (arg1, arg2)'대신 'BusinessUtil.doBusiness (service, arg1, arg2)'라고 사용할 것인가? 내 질문에 설명 된 '패턴'이 나에게별로 의미가 없으므로 묻습니다. – thomash

+0

글쎄, 솔직히 말해서 그런 "패턴"은 나에게 어떤 의미가있는 것처럼 보이지 않는다. (실제로 당신이 쓴 것을한다면). 그러나 수년 동안 개발 분야에서 일한 후에 많은 사람들이 실제로 "추상화"또는 "패턴"을 많이 사용하는 것을 보았습니다. P –

0

스레드 안전 여부는 myService.doStuff (arg1, arg2)에 따라 다릅니다. 그것이 cxf 클라이언트이기 때문에이 기사 Are CXF client proxies thread safe? 는 유용 할지도 모른다

+0

감사합니다. 나는 그 기사를 보았다. 이 용도로는 스레드로부터 안전하다고 간주됩니다. – thomash

관련 문제