?

Log in

No account? Create an account

ru_java


ru.java

все о языке программирования java


Previous Entry Share Next Entry
Schedule in servlet
Снайпер
v_y_v wrote in ru_java
Прошу помощи в таком вопросе:
Есть Servlet, при инициализации он запускает таймер timer.schedule(actionclass,...) передавая ему некоторый actionclass, метод run которого и будет запускаться с заданным интервалом.
А вот как их этого Run запустить один из методов самого сервлета, т.е. получить доступ к методам и переменным?

  • 1
"Переменные" остаются общими только если это статические поля. Если это обычные поля -- они свои у каждого инстанса. Грубо говоря статические поля принадлежат самому классу, не статические -- экземпляру класса, который создаётся либо оператором new, либо вызовом clazz.newInstance()

Если "общий массив" не статический, то он доступен только "своему" экземпляру. А у "чужого" экземпляра -- своя копия массива.

> Насколько я понимаю, контейнер создает на каждый вызов сервлета свой экземляр,

Так тоже может быть. Но на сколько я помню, в общем случае это совсем не так. В общем случае все запросы могут выполняться одним инстансом. Или контейнер может создать пул потоков-воркеров с инстансами, и выполнять запросы конвеерно в несколько потоков, вытаскивая по мере освобождения воркер из пула и загружая его выполнением запроса.

  • 1