当前位置: 技术问答>linux和unix
CentOS5.1启动后在JAVA程序读取之前取到本机IP地址后写入一个properties文件中,请问如何做到?
来源: 互联网 发布时间:2016-04-27
本文导语: CentOS5.1下某DataSource.properties文件内容如下: #Oracle 9.2 host's ip address is 192.168.0.100 SJ_KSXTDB_URL=jdbc:oracle:thin:@192.168.0.100:1521:gzga #CentOS5.1下Oracle 10G's port number is 1522 #SJ_KSXTDB_URL=jdbc:oracle:thin:@192.168.0.100:1522:gzga SJ_KSXT_...
CentOS5.1下某DataSource.properties文件内容如下:
#Oracle 9.2 host's ip address is 192.168.0.100
SJ_KSXTDB_URL=jdbc:oracle:thin:@192.168.0.100:1521:gzga
#CentOS5.1下Oracle 10G's port number is 1522
#SJ_KSXTDB_URL=jdbc:oracle:thin:@192.168.0.100:1522:gzga
SJ_KSXT_USER=ksxt
SJ_KSXT_PASSWORD=1234
SJ_KSXTDB_JNDI=jdbc/sj_ksxtdb_jndi
该文件要被JAVA程序读取数据库连接信息后去连接数据库,但由于CentOS5.1的IP地址发生变化所以properties文件中该IP地址的值也得随着相应地变化然后被JAVA程序读取,请问具体如何实现?
#Oracle 9.2 host's ip address is 192.168.0.100
SJ_KSXTDB_URL=jdbc:oracle:thin:@192.168.0.100:1521:gzga
#CentOS5.1下Oracle 10G's port number is 1522
#SJ_KSXTDB_URL=jdbc:oracle:thin:@192.168.0.100:1522:gzga
SJ_KSXT_USER=ksxt
SJ_KSXT_PASSWORD=1234
SJ_KSXTDB_JNDI=jdbc/sj_ksxtdb_jndi
该文件要被JAVA程序读取数据库连接信息后去连接数据库,但由于CentOS5.1的IP地址发生变化所以properties文件中该IP地址的值也得随着相应地变化然后被JAVA程序读取,请问具体如何实现?
|
那你就再来一个脚本 呗~
让他在关机前把内容重写一遍得了
具体可用
~/.bash_logout
或
现在把实现过程描述如下:
先写一个脚本放在/etc/rc.d/init.d下,chmod -f 777 , 再ln -s 到 /etc/rc.d/rc0.d/K01脚本名 与 /etc/rc.d/rc6.d/K01脚本名,同时也要 ln -s 到 /etc/rc.d/rc3.d/S99脚本名 与/etc/rc.d/rc5.d/S99脚本名。
K开头的代表系统关闭的时候执行,S开头的代表开机的时候执行。注意服务器脚本编写的规范,因为有K开通的软链接并不一定会在关机的时候自动去执行,这是为什么呢?刚开始一直没搞明白,后来从网上看到,执行K脚本的时候会查询/var/lock/subsys/下是否有与K开头脚本同名的空文件名,如果没有就不去执行,所以要按照服务器脚本编写的规范,启动的时候要在/var/lock/subsys/先touch一个与K01后面同名的空文件.同时也要调用/etc/rc.d/init.d/functions能够接受star与stop命令信号,具体可以参考/etc/rc.d/rc文件,可以在/etc/rc.d/rc0.d/K01yum基础上改写实现
这里就不给出实际 代码啦
你自己去写吧,有什么问题,可以交流
让他在关机前把内容重写一遍得了
具体可用
~/.bash_logout
或
现在把实现过程描述如下:
先写一个脚本放在/etc/rc.d/init.d下,chmod -f 777 , 再ln -s 到 /etc/rc.d/rc0.d/K01脚本名 与 /etc/rc.d/rc6.d/K01脚本名,同时也要 ln -s 到 /etc/rc.d/rc3.d/S99脚本名 与/etc/rc.d/rc5.d/S99脚本名。
K开头的代表系统关闭的时候执行,S开头的代表开机的时候执行。注意服务器脚本编写的规范,因为有K开通的软链接并不一定会在关机的时候自动去执行,这是为什么呢?刚开始一直没搞明白,后来从网上看到,执行K脚本的时候会查询/var/lock/subsys/下是否有与K开头脚本同名的空文件名,如果没有就不去执行,所以要按照服务器脚本编写的规范,启动的时候要在/var/lock/subsys/先touch一个与K01后面同名的空文件.同时也要调用/etc/rc.d/init.d/functions能够接受star与stop命令信号,具体可以参考/etc/rc.d/rc文件,可以在/etc/rc.d/rc0.d/K01yum基础上改写实现
这里就不给出实际 代码啦
你自己去写吧,有什么问题,可以交流
|
如果你是本机访问,那么可以将ip地址的地方换成localhost试下!
另外,你可以写个脚本来产生DataSource.properties文件,在该脚本中去取得系统ip,然后用该ip和其他信息来产生你要的文件。
虚拟机中ip地址配置成固定ip,修改文件ifcfg-eth0配置文件(FC中位于:/etc/sysconfig/network-scripts/ifcfg-eth0),
CentOS没有用过,自己查一下!
另外,你可以写个脚本来产生DataSource.properties文件,在该脚本中去取得系统ip,然后用该ip和其他信息来产生你要的文件。
虚拟机中ip地址配置成固定ip,修改文件ifcfg-eth0配置文件(FC中位于:/etc/sysconfig/network-scripts/ifcfg-eth0),
CentOS没有用过,自己查一下!
|
如果你用的虚拟机不是自己控制的,而你又没有申请静态IP的话,你自己改虚拟机上配置文件加出来的静态ip是假的。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。