2013-09-06 4 views
4

Что произойдет, если я использую статические методы (скажем, из созданного мной служебного класса) с помощью Spring MVC. Кроме того, мои статические методы не синхронизированы. Что может случиться, если несколько запросов одновременно вызовут тот же метод.Статические методы с Spring MVC и tomcat

+3

Почему бы вам не попробовать? –

+0

Эти статические методы ссылаются на статические переменные или только локальные переменные в методе? –

+0

Большинство из них используют переменные, локальные для метода, но также имеют аргументы. Но что делать, если два запроса одновременно называют один и тот же метод с разными значениями аргументов. – user2632932

ответ

1

Его ОК, чтобы использовать статические методы, если вы знаете, что делаете. Если в вашем статическом методе вы используете только локальные переменные (а не поля в классе), вы также должны быть потокобезопасными. В противном случае - вы справитесь с синхронизацией и блокировкой, чтобы сохранить согласованные данные.

Весна имеет ограничение, которое вы не можете использовать static на сетчатых пружинах.