首页 / JAVA / JAVA中的JVM属性
JAVA中的JVM属性
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JAVA中的JVM属性,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2790字,纯文字阅读大概需要4分钟。
内容图文
![JAVA中的JVM属性](/upload/InfoBanner/zyjiaocheng/780/4d4de4d7cb904cd08b20e1465b4bd983.jpg)
场景 – EAR安装在Websphere应用服务器上,运行在30多个JVM上.我想只在一个JVM上创建一个属性,并希望在我的java代码中读取它.
如何通过WAS控制台创建JVM级别属性并在Java中读取它.
解决方法:
创建自定义属性
在WAS(server1)或Deployment Manager管理控制台中,导航到
服务器> ServerTypes> WebSphere应用程序服务器cutom属性
然后单击要创建的JVM
服务器基础设施(部分)> Java和流程管理>流程定义
附加属性(部分)> Java虚拟机> Cutom属性
单击“新建”按钮以添加新的自定义属性.
点击“应用”.
直接单击“保存”到主配置.
在独立或单节点环境中,您需要停止并重新启动服务器才能使更改生效.
在集群环境中,您在Deployment Manager中定义了该属性,您可能希望执行“完全重新同步”并重新启动集群.
>通过Java代码访问
在定义属性的WebSphere Application Server或节点中定义自定义属性之后,您可以像访问Java中的系统属性一样访问其值,如下所示:
String custProperty = System.getProperty("wbe.home");
您可以类似地在JSP页面中使用scriptlet,如下所示:
<%
String custProperty = System.getProperty("wbe.home");
if ( custProperty .equalsIgnoreCase("home") ) {
%>
如果要自动执行将自定义属性添加到30 JVM的手动任务
您可以使用Jython脚本.您可以根据您的要求进行修改.
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()
内容总结
以上是互联网集市为您收集整理的JAVA中的JVM属性全部内容,希望文章能够帮你解决JAVA中的JVM属性所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。