Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Запуск таймера из-под Веб-Сервиса / 15 сообщений из 15, страница 1 из 1
20.09.2012, 12:44:21
    #37965461
Tyo
Tyo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск таймера из-под Веб-Сервиса
Задача: есть приложение под WAS, в нем таймер. Задача: сделать на этом приложении веб-сервис по вкл/выкл таймера, чтобы можно было управлять таймером извне.

Таймер реализован вот так:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
@Stateless
public class AskPack implements AskPackLocal {
   @Resource private SessionContext sessionContext;
  public void startMe()
  {
    try
    {
      TimerService timerService = sessionContext.getTimerService();



Когда я вызываю это из тестового сервлета, все ОК:

Код: java
1.
2.
3.
  @EJB AskPackLocal askPack;
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  askPack.startMe();



Однако при попытки вызвать то же самое из-под имплементации веб-сервиса

Код: java
1.
2.
3.
4.
public class AdmSOAPImpl implements org.example.www.Adm.Adm_PortType{
@EJB AskPackLocal askPack;
 public String control(String command,String name,String param) throws java.rmi.RemoteException {
  askPack.startMe();



...ругается, говорит что askPack -- NullPointer. И если даже сделать askPack=new AskPack(), то уже внутри него ругается что sessionContext -- null
Подскажите плз, как это можно победить и куда вообще смотреть?

Заранее спасибо
...
Рейтинг: 0 / 0
20.09.2012, 14:14:24
    #37965710
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск таймера из-под Веб-Сервиса
Я не знаю как это сделать в ejb, и чем вам не подходит кварц) Но как вариант если не решите проблему - можно тупо писать в базу какой нибудь флаг, а в таймере проверять установлен ли он в начале кода таймера, ну дальше поймете)
...
Рейтинг: 0 / 0
20.09.2012, 14:41:37
    #37965787
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск таймера из-под Веб-Сервиса
Tyo,

Не надо на сервере таймер использовать, а тем более, им управлять с клиента.
...
Рейтинг: 0 / 0
20.09.2012, 15:06:42
    #37965859
vas0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск таймера из-под Веб-Сервиса
Tyo,

За injection в сервлеты отвечает web контейнер. А кто делает injection в произвольный класс? Ответ - никто. Поэтому нужно самому делать lookup и получать EJB из JNDI.
...
Рейтинг: 0 / 0
20.09.2012, 15:31:10
    #37965924
grasoff.net
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск таймера из-под Веб-Сервиса
ShSergeНе надо на сервере таймер использоватьпочему это?
...
Рейтинг: 0 / 0
20.09.2012, 15:39:48
    #37965939
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск таймера из-под Веб-Сервиса
grasoff.netShSergeНе надо на сервере таймер использоватьпочему это?
Моё скромное имхо мне подсказывает, что сервер - та штука, которая чисто конкретно отвечает на запросы клиента, больше ничего.
Таймер на клиенте - вполне нормально, но на сервере???
...
Рейтинг: 0 / 0
20.09.2012, 15:43:59
    #37965948
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск таймера из-под Веб-Сервиса
vas0За injection в сервлеты отвечает web контейнер. А кто делает injection в произвольный класс? Ответ - никто. Поэтому нужно самому делать lookup и получать EJB из JNDI.
+1, либо определять веб сервис на основе бина управляемого EJB-контейнером (JavaEE 6 поддерживает JAX-WS, прилепите к SLSB аннотацию @WebService и вуаля)
...
Рейтинг: 0 / 0
20.09.2012, 16:30:36
    #37966040
grasoff.net
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск таймера из-под Веб-Сервиса
ShSergegrasoff.netпропущено...
почему это?
Моё скромное имхо мне подсказывает, что сервер - та штука, которая чисто конкретно отвечает на запросы клиента, больше ничего.
Таймер на клиенте - вполне нормально, но на сервере???ясненько
...
Рейтинг: 0 / 0
20.09.2012, 16:36:34
    #37966055
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск таймера из-под Веб-Сервиса
ShSergeМоё скромное имхо мне подсказывает, что сервер - та штука, которая чисто конкретно отвечает на запросы клиента, больше ничего.

Сервер это ПО обслуживающее клиентские запросы. Но это не значит что если ПО является сервером, оно больше ничего не должно делать.
...
Рейтинг: 0 / 0
20.09.2012, 20:50:25
    #37966417
Tyo
Tyo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск таймера из-под Веб-Сервиса
ShSergeTyo,

Не надо на сервере таймер использовать, а тем более, им управлять с клиента.

Как это "не надо", коллеги? У меня сервер WAS, на нем все и крутится. По таймеру опрашиваются файловые ресурсы и MQ-очереди (через ActSpec не получается, потому что перечень очередей может меняться)
А клиент у меня, извините, ИнетЭксплорер, какой зачем мне там таймер?
...
Рейтинг: 0 / 0
20.09.2012, 20:51:48
    #37966419
Tyo
Tyo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск таймера из-под Веб-Сервиса
vas0Tyo,

За injection в сервлеты отвечает web контейнер. А кто делает injection в произвольный класс? Ответ - никто. Поэтому нужно самому делать lookup и получать EJB из JNDI.

Спасибо, раскрыли мне глаза. Действительно ведь...
...
Рейтинг: 0 / 0
20.09.2012, 21:04:34
    #37966433
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск таймера из-под Веб-Сервиса
TyoShSergeTyo,

Не надо на сервере таймер использовать, а тем более, им управлять с клиента.

Как это "не надо", коллеги? У меня сервер WAS, на нем все и крутится. По таймеру опрашиваются файловые ресурсы и MQ-очереди (через ActSpec не получается, потому что перечень очередей может меняться)
А клиент у меня, извините, ИнетЭксплорер, какой зачем мне там таймер?
Как я понял, Вам и таймер нафиг не нужен, если ВАС - это вебсфере.
...
Рейтинг: 0 / 0
20.09.2012, 21:47:29
    #37966467
grasoff.net
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск таймера из-под Веб-Сервиса
ShSergeTyoпропущено...


Как это "не надо", коллеги? У меня сервер WAS, на нем все и крутится. По таймеру опрашиваются файловые ресурсы и MQ-очереди (через ActSpec не получается, потому что перечень очередей может меняться)
А клиент у меня, извините, ИнетЭксплорер, какой зачем мне там таймер?
Как я понял, Вам и таймер нафиг не нужен, если ВАС - это вебсфере.ты смешной такой чото )) реально ))
...
Рейтинг: 0 / 0
20.09.2012, 22:03:36
    #37966484
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск таймера из-под Веб-Сервиса
grasoff.net,

Чё-то не то сказал? Пардон, я уже подшафе.
...
Рейтинг: 0 / 0
21.09.2012, 19:12:25
    #37967860
Tyo
Tyo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск таймера из-под Веб-Сервиса
ShSergeTyoпропущено...


Как это "не надо", коллеги? У меня сервер WAS, на нем все и крутится. По таймеру опрашиваются файловые ресурсы и MQ-очереди (через ActSpec не получается, потому что перечень очередей может меняться)
А клиент у меня, извините, ИнетЭксплорер, какой зачем мне там таймер?
Как я понял, Вам и таймер нафиг не нужен, если ВАС - это вебсфере.

ВАС -- это, канешна, Вебсфере. Но таймер все-таки нужен))
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Запуск таймера из-под Веб-Сервиса / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]