Есть ли способ изменить значение глобальной переменной java во время выполнения в сервере приложений websphere? Я использую файл свойств в своем приложении java, чтобы указать значения глобальных переменных. Но иногда мне нужно менять значения переменных во время выполнения. Например, если у меня есть переменная с именем «fileServerLocation», а значение «C: \ Users \ test \ Downloads» и если я хочу изменить ее на «C: \ Users \ test \ Desktop», есть способ изменить значение переменной без необходимости повторного развертывания приложения на сервере?изменить значение глобальной переменной во время выполнения
ответ
Вы можете создать веб-службу или вызов EJB, который запускается через HTTP-запрос, и все, что он делает, это изменить значение поля во время выполнения. Возможно, вам понадобится сделать этот «запрос администратора» требуемым для аутентификации (например, имя пользователя/пароль). Кроме того, вам может потребоваться объявить это поле как volatile
, чтобы быть видимым во всех случаях после изменения.
Помните, что каждое ClassLoader
имеет собственное значение статического поля (глобальная переменная). Обычно все EJB имеют один и тот же загрузчик классов, но каждый модуль war
имеет свой собственный загрузчик классов.
нужно ли передавать значение переменной в качестве параметра запроса веб-службы каждый раз? –
@Learner Это зависит от вас. Вы можете передать простое целое число, в котором оно соответствует строковому значению. –
Не используйте «глобальные переменные». Создайте внутреннюю службу, которая предоставляет значения клиентам во время выполнения, и создайте службу, чтобы иметь интерфейс, который может принимать изменения во время выполнения, через сервлет, управляемый сообщениями и/или какой-либо другой механизм. Кроме того, служба позволяет клиентам регистрировать обратные вызовы («слушатели»), которые могут быть уведомлены, когда изменяется конкретное значение переменной (или любое значение переменной).
клиент не должен ничего знать о переменной. переменная используется для представления папки на стороне сервера. –
Я не буду пытаться понять детали глобальной переменной, но я полагаю, что глобальная переменная является глобальной переменной приложения.
Я сосредоточусь на динамическом обновлении того, каким образом должно выполняться изменение состояния.
Я думаю, что правильным способом сделать это обычно является управление с использованием стандарта JMX. Вы должны выставить MBean с операцией для динамического обновления значения во время выполнения. Обновление значения должно быть «потокобезопасным» с использованием каких-либо барьеров памяти.
Обновление значения будет выполнено с использованием какого-либо средства управления (клиент JMX).
- 1. как присвоить значение глобальной переменной во время выполнения в python
- 2. Значение переменной SSIS во время выполнения
- 3. Невозможно изменить значение глобальной переменной
- 4. Как изменить тип переменной во время выполнения
- 5. Возможно ли изменить значение переменной во время выполнения?
- 6. Как изменить значение переменной пакета во время выполнения?
- 7. Попытка изменить значение глобальной переменной
- 8. Изменить значение глобальной переменной, C
- 9. Как изменить значение глобальной переменной
- 10. Итерация конкретных классов во время выполнения с помощью глобальной переменной
- 11. Изменение переменной среды значение во время выполнения
- 12. как управляющее значение переменной во время выполнения
- 13. Как изменить значение метки во время выполнения?
- 14. Как изменить значение JLabel во время выполнения?
- 15. Изменить значение @PropertySource во время выполнения
- 16. Использование глобальной переменной может изменить поведение модуля во время импорта?
- 17. Изменение переменной во время выполнения
- 18. Изменить язык во время выполнения
- 19. Изменить вид во время выполнения
- 20. Изменить web.config во время выполнения
- 21. Изменить string.xml во время выполнения
- 22. Изменить SelectedValuePath во время выполнения
- 23. изменить сборку во время выполнения?
- 24. Как изменить значение глобальной переменной внутри функции
- 25. Как изменить значение глобальной переменной из функции?
- 26. Значение изменения глобальной переменной
- 27. Значение ввода во время выполнения
- 28. Значение ENUM во время выполнения
- 29. изменение статической переменной во время выполнения
- 30. Добавить атрибут отображения переменной во время выполнения
Что такое переменная _java global_? –
Для этого вам следует использовать JNDI. Проверьте http://stackoverflow.com/questions/8259181/configuring-and-looking-up-a-simple-string-via-jndi-in-websphere. – fnt
Значит, вы не имеете в виду глобальное значение? Вы имеете в виду какое-то значение конфигурации? – Raedwald