![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
oson |
|
||||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 289 Регистрация: 3.3.2004 Где: Севастополь Репутация: нет Всего: 1 |
Подскажите плиз
Есть у меня spring session bean Manager и есть singleton bean Calculator
в классах пишу
Синглетон Calculator инициализируется первым при старте приложения. Когда логинится юзер, то инициализируется сессион бин Manager и вызывается метод setCalc(Calculator calc) Но дело в том, что я хочу вызвать из класса Manager метод calculate класса Calculator и передать ему переменную value1. Приходится делать вот так
А нельзя ли както в конфигурационном файле прописать сразу, чтобы в классе Calculator была уже такая переменная класса val
и чтобы при инициализации Manager и соответственно вызове метода manager.setCalc() эта переменная val сразу получала значение из переменной value1 класса Manager. Ну то есть, чтобы не писать
а как то так
и эта переменная manager.getValue1() уже передалась бы через конфиг в класс Calculator? |
||||||||||||
|
|||||||||||||
Kangaroo |
|
|||
![]() AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: 14 Всего: 104 |
oson, не понимаю.. val у тебя для каждого пользователя свой? Тогда почему ты кладешь его в общий для все Калькулятор?
-------------------- Lost.... |
|||
|
||||
ivg |
|
||||||||||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
Не делайте так с синглтоном. Это будет баг многопоточного доступа, а такие баги трудноуловимы, бррр. ![]() Не нравится:
И кстати, вот такого подхода
|
||||||||||
|
|||||||||||
oson |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 289 Регистрация: 3.3.2004 Где: Севастополь Репутация: нет Всего: 1 |
Ну я сделал примерно вот так
Наверное надо или public Calculator getInstance(String val) сделать sinchronized или сделать весь класс Calculator - prototype (вместо singleton). Что скажете? |
|||
|
||||
ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
||||
|
||||
oson |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 289 Регистрация: 3.3.2004 Где: Севастополь Репутация: нет Всего: 1 |
Вы правы
Сделал как вы посоветовали А сделать я хотел следующее У меня есть стратсовский актион Оттуда вызывается именно сессион бин Manager и именно тем способом что Вы сказали нежелательно пользовать
(Кстати, а как в этом случае еще доступ к нему получить?) Но чтобы не перегружать этот Manager, так как он для всех Actions один, я хотел сделать для каждого конкретного Action такой отдельный класс, типа Stateless Bean. То есть Manager держит переменные в определенном состоянии для текущего пользователя, и когда их Action происходит какой-то вызов, он передается такому Calculator, который чтото подсчитывает (исходя из состояний переменных класса Manager) и это значение возвращается к Action. |
|||
|
||||
ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
Нежелательно в бинах Спринга, кто ж знал, что у вас там Struts используется. Integrating with Apache Struts 1.x and 2.x и spring-plugin смотрели? Может код Calculator'а перенести в Action Struts'а? Зачем его конфигурировать в Спринге? И вторая мысль - Нужны ли Manager'у ссылки на все эти Calculator'ы, когда их можно также получить из Спрингового контекста в Action'е Struts'а? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |