Сценарий - EAR устанавливается на сервере приложений Websphere и работает на более чем 30 JVM. Я хочу создать свойство только в одной JVM и хочу прочитать это в своем java-коде. Как создать свойство уровня JVM с помощью консоли WAS и прочитать его на Java.JVM-свойство в JAVA
ответ
Создание пользовательских Собственость
В WAS (server1) или консоли администратора менеджера развертывания, перейдите к Серверы> ServerTypes> Серверы приложений WebSphere Cutom свойство и нажмите на JVM, на которой вы хотите создать
Сервер инфраструктуры (раздел)> Java и управление процессами> определение процесса
Дополнительные свойства (раздел)> Виртуальная машина Java> Cutom Свойства
Нажмите кнопку «Создать», чтобы добавить новое настраиваемое свойство.
Нажмите кнопку «Применить». Нажмите «Сохранить» непосредственно в основной конфигурации.
В автономной или единой среде вам необходимо остановить и перезагрузить сервер, чтобы изменения вступили в силу.
В кластерной среде, где вы определили свойство в диспетчере развертывания, вы, вероятно, захотите выполнить «полную повторную синхронизацию» и перезапустить кластер.
- Доступ через Java код
После определения пользовательского свойства в сервере приложений WebSphere или узел, в котором вы определили свойство, вы можете получить доступ к его стоимости, как вы бы система собственности на Java, например:
String custProperty = System.getProperty("wbe.home");
Аналогичным образом можно использовать скриптлет на странице JSP, как это:
<%
String custProperty = System.getProperty("wbe.home");
if (custProperty .equalsIgnoreCase("home")) {
%>
Если вы хотите автоматизировать ручную задачу добавления пользовательского свойства в 30 Вы можете использовать Jython сценарий JVM в. Вы можете изменить в соответствии с вашим требованием.
server = sys.argv[0]
property = sys.argv[1]
value = sys.argv[2]
if (len(sys.argv) == 4):
descr = sys.argv[3]
else :
descr = None
# Convert a list of items separated by linefeeds into an array
def getListArray(l):
return l.splitlines()
# Obtain the "simple" server name
def getServerName(s):
return AdminConfig.showAttribute(s, 'name')
# Add common attr list to specified Server's JVM
def addPropertiesToServer(s):
jvm = AdminConfig.list('JavaVirtualMachine', s)
# Look for existing property so we can replace it (by removing it first)
currentProps = getListArray(AdminConfig.list("Property", jvm))
for prop in currentProps:
if property == AdminConfig.showAttribute(prop, "name"):
print "Removing existing property from Server %s" % getServerName(s)
AdminConfig.remove(prop)
# Store new property in 'systemProperties' object
print "Adding property to Server %s" % getServerName(s)
AdminConfig.modify(jvm,[['systemProperties',attr]])
# Construct list with new property name and value
attr = []
if (descr is None):
print "Adding property %s=%s" % (property,value)
attr.append([['name',property],['value',value]])
else:
print "Adding property %s=%s,%s" % (property,value,descr)
attr.append([['name',property],['value',value],['description',descr]])
# Locate all Application Servers if server is 'all'
if (server == 'all'):
servers = AdminConfig.list('Server')
for aServer in getListArray(servers):
type = AdminConfig.showAttribute(aServer,'serverType')
if (type == 'APPLICATION_SERVER'):
addPropertiesToServer(aServer)
# TODO: support comma-separated list of servers
else:
# Locate specified Server and its JVM
server = AdminConfig.getid('/Server:'+server+'/')
addPropertiesToServer(server)
# Save changes
if (AdminConfig.hasChanges()):
AdminConfig.save()
Если вам нужно применить это к 30 серверам в ND, вы должны его запустить. – Alasdair
Вы можете создать переменную WebSphere на уровне кластера, на котором ваши серверы от:
Environment --> WebSphere Variable --> <SelectYour_cluster_From_Dropdown> --> New
Скажем, если имя переменной «MY.CUSTOM.PROPERTY», то вы можете используйте его в своем java-коде, написав следующий код:
String myCustomProperty = (String) System.getenv("MY.CUSTOM.PROPERTY");
Надеюсь, это сработает для вас.
- 1. java beans в java
- 2. Реализация Java в Java
- 3. Аргументы Java в java -ORBInitialPort
- 4. Чтение файла .java в Java
- 5. конкатенировать файлы .java в java
- 6. parse java string в java
- 7. Java NullPointerException в Java-агенте
- 8. Java Multiple Comparision в Java
- 9. Как вычислить использование java-процесса в java-процессе в java
- 10. Преобразование .java в .class в java-программе
- 11. Своп-строки в Java. Новичок в Java
- 12. в Java
- 13. Интерпретация Java-кода в Java-приложении - как запустить Java-код в java-программе
- 14. Java error- Java не может загрузить в виртуальной машине Java
- 15. Как импортировать java-класс из библиотеки java в код java
- 16. Java: Разбор JSON отформатированные строки в Java
- 17. В чем разница между **/*. Java и * .java?
- 18. Преобразование последовательного Java в параллельный Java-код
- 19. java package vs System в JAVA
- 20. Java - есть ли раковина в Java
- 21. Java-анализатор исходного кода Java в Ruby
- 22. скомпилировать java в другом пути от java
- 23. Запись непрерывной петли для java в java
- 24. Groovy, встроенный в Java, перезвонив на Java
- 25. запустить программу scala в java-файле java
- 26. Преобразование Java 8 в Java 1.5
- 27. Java Installed vs Java Включено в браузере
- 28. Java Servlet диспетчеру в другой файл Java
- 29. Java-интерпретатор или компилятор в java
- 30. Java: подсчет вхождения в массив java
С 30 экземплярами я предлагаю вам изучить [Apache Zookeeper] (http://zookeeper.apache.org/). –
Вы можете использовать JNDI вместо этого.Будет доступно более 30 JVM, создав его на уровне кластера ... – Nayeem