首页 > 其他分享 >J2EE环境变量的其他使用方式

J2EE环境变量的其他使用方式

时间:2023-06-04 16:38:46浏览次数:49  
标签:J2EE 方式 color classpath properties environment url someprops 环境变量


[color=red]1. [b]System.getProperty()获取tomcat自定义变量[/b][/color]
[url]http://zwxiaole.iteye.com/blog/1832053[/url]
环境 tomcat 集群 有一个定时器
为了防止所有集群的服务器都跑定时而出错
选择其中一台服务器 修改tomcat bin 目录下的
windows catalina.bat
linux catalina.sh
你定义的变量 必须以-D开头 否则System.getProperty()无法获取到该参数值
以 scheduler.start为例子
set JAVA_OPTS= -Dscheduler.start=true
System.getProperty('scheduler.start')可以获取到 true值
当获取到true时 那台服务器就会开始定时任务 其他服务器就不会开启


[color=red][b]2. catalina.bat或者eclipse服务器里面设定的环境变量[/b]
[url]http://stackoverflow.com/questions/686591/is-there-a-way-to-resolve-system-properties-in-a-web-xml-file[/url][/color]
[url]http://stackoverflow.com/questions/3965446/how-to-read-system-environment-variable-in-spring-applicationcontext[/url]
A:在catalina.bat增加JAVA_OPTS="...... -DPANDY_HOME=e:/aaa ...... "
B:在eclipse的tomcat服务器里面设定环境变量(不确定)
-DPANDY_HOME=e:/aaa
在applicationcontext.xml引用

<bean id="appProperties" class="com.pandy.config.AppProperties">
		<property name="locations">
			<list>
				<value>classpath:resources/default.properties</value>
				<value>file:${PANDY_HOME}/conf/jdbc.properties</value>
			</list>
		</property>
	</bean>



[color=red][b]3.Spring类里面读取变量[/b][/color]


[url]http://stackoverflow.com/questions/10324702/propertyplaceholderconfigurer-and-environment-variables-in-properties-files[/url]


A:


E.g.


@Value("#{ systemProperties['JAVA_MY_ENV'] }") 
private String myVar;


or


<property name ="myVar" value="#{systemProperties['JAVA_MY_ENV']}"/>



B:


<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="locations">
    <list>
        <value>classpath:someprops.properties</value>
    </list>
  </property>
  <property name="ignoreResourceNotFound" value="true" />
  <property name="searchSystemEnvironment" value="true" />
  <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />


You must also remember to pass the parameter into the program using


[color=blue] -DJAVA_MY_ENV=xyz[/color]


This way when you run the production version you can pass one thing and when you are running tests another.


Also what I often what I do is something like this:


<property name="locations">
    <list>
      <value>classpath:someprops.properties</value>
      <value>classpath:someprops-{environment}.properties</value>
    </list>
  </property>


where environment is prod/stage/test/int/ci/local (1 per environment - you may only have 2 or 3 for now). You can pass the environment variable to the program. Any properties which should be the same regardless of if its production/running on your local pc/tests would be in the someprops.properties property file. Any ones specific to the environment/way its being run as will go in the more specific file (you should put it in the someprops.properties file as well as a default unless overridden mechanism)


E.g. in classpath:someprops.properties


url=www.mysite.com


in classpath:someprops-local.properties


url=localhost


By using this basic idea you can separate tests and the program's normal running properties in a clean manner.


标签:J2EE,方式,color,classpath,properties,environment,url,someprops,环境变量
From: https://blog.51cto.com/u_3871599/6410915

相关文章

  • Spring返回json格式数据的三种方式
    SVN多版本库环境的搭建OAuth2.0是什么?看这篇文章就够了。前端JavaPython等资源合集大放送目前前后端分离大行其道,如何进行前后分类是各个项目需要考虑的问题。如何使用Spring进行前后端分离呢?返回json格式数据是前后端分离的最佳选择。下面介绍使用Spring进行前后端分离的常用三......
  • Spring事务配置的五种方式
    Spring事务配置的五种方式   前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。   总结如下:   Spring配置文件中关于事务......
  • Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) part4 (完)
     Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring)part4----addcairngorm1.添加在libs下添加Cairngorm.swc,此时,具备了cairngorm框架能力2.运用cairngorm框架2.1在flex_src下创建如下文件夹和文件   AdminVO.aspackagevo.AdminVO{ [Bindable] publicclassAdm......
  • Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) part3
    Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring)part3                                   ----addspring &hibernate1.在WEB-INF\lib下添加spring、hibernate常用jar,包括mysql数据库的连接驱动  2.在mysql数据库中创建数据库......
  • 使用线程池方式创建子线程
    publicstaticvoidmain(String[]args){ExecutorServiceexecutorService=Executors.newCachedThreadPool();executorService.execute(newRunnable(){@Overridepublicvoidrun(){System.out.println(T......
  • 信息交换的控制方式
    程序查询方式,又称“程序控制I/O方式,数据在CPU和外围设备之间的传送完全靠计算机程序控制,是在CPU主动控制下进行的。2.1设备编址统一编址法:将I/O设备中的存储器和内存一起编址。优点是指令系统中不设置专用的I/O指令,通过地址来区分访问的是存储器还是I/O端口。缺点是I/O端口占用......
  • property 用于以访问属性的方式调用函数
    property是Python内置的功能,常用来修饰类方法,用于以访问属性的方式调用函数。描述符对象为了能够实现访问属性就调用某个函数,这里将利用描述符对象作为本文的实现起点,当某个类定义了__get__方法后,通过其方法名称可以直接调用__get__proptery主要依赖于描述符的机制。p......
  • 常见的for循环优化方式
    ?>前言经常使用一些循环,进行耗时计算的操作,特别是for循环,它是一种重复计算的操作,如果处理不好,耗时就比较大,如果处理书写得当,将大大提高效率,下面总结几条for循环的常见优化方式。首先初始化一个集合list,如下:List<String>list=newArrayList<>();方式一:最常规的不加思考的写......
  • 父线程捕获子线程的异常方式
    如果子线程出现异常问题如果不在父线程中进行捕获异常该子线程也不进行异常捕获的话则子线程一但出现异常则此子线程就关闭了,父线程并不知情,可能认为该子线程已经正常、运行完毕了呢,所以突显出父线程捕获子线程异常状态的重要性。在普通的单线程程序中,捕获异常只需要通过try......
  • 基于LVM方式创建的swap分区的缩减记录
    场景:关于Linux系统下,需要将swap分区的大小由128GB,缩减调整到32GB(swap分区是一个LVM格式的分区)操作系统:RedHatEnterpriseLinuxServerrelease7.9(Maipo) 1、先看一下现状,当前系统是有占用swap分区的:[root@qq-5201351~]#free-mtotalused......