jfinalconfig新增 全局静态变量问题求高人指点

firstc 发布于 2017/01/19 10:31
阅读 212
收藏 0

在继成了JfinalConfig的类AppConfig中 定义了一个静态变量 默认值为false ;

在main方法中根据条件 对变量值进行了改变;

运行程序后 在configPlugin 中获取该静态变量,他的值竟然还是默认值,q

加载中
0
f
firstc
 

public class AppConfig extends JFinalConfig {
	public static boolean runserverZbus=false;
	......
        public void configPlugin(Plugins me) {
                String zbusIp="192.168.0.113:30002";
                System.err.println("configPlugin中是否运行服务器的zbus--runserverZbus:"+runserverZbus);
                if(!runserverZbus){
			zbusIp="127.0.0.1:15555";
		}
		System.err.println("运行zbusip:"+zbusIp);
................
................
}



下面是main方法
public static void main(String[] args) {
		String addr = null;
		try {
			addr = InetAddress.getLocalHost().toString();
			if(addr.endsWith("192.168.0.113")){
				runserverZbus=true;
			}
			System.err.println("获取运行所在服务器ip地址::"+addr);
			System.err.println("Main方法中授权是否运行服务器的zbus--runserverZbus:"+runserverZbus);
			
			LogUtils.logInfo("获取的服务器ip地址::"+addr);
		} catch (UnknownHostException e) {
			e.printStackTrace();
		}
		
		JFinal.start("WebRoot", 8088, "/", 6);
		
	}

打印结果:

获取运行所在服务器ip地址::PC....6/192.168.0.113
Main方法中授权是否运行服务器的zbus--runserverZbus:true
Starting JFinal 2.2
Starting scanner at interval of 6 seconds.
Starting web server on port: 8088
configPlugin中是否运行服务器的zbus--runserverZbus:false
运行zbusip:127.0.0.1:15555

0
冷冷gg
冷冷gg

main 中 怎么写的  你再afterJFinalStart 中进行变量值修改, 如果在start 之前 ,你配置在Constant中 还没加载呢  。。

f
firstc
回复 @gie_think : 多谢指点,我试试
冷冷gg
冷冷gg
最简单的是afterJfinalStart 获取到application对象 在全局设置一个 IP参数 你的判断逻辑写在 afterJfinalStart 里面。。 Constant 里面的系统参数
f
firstc
请问怎样做才能让自定义的静态变量值 在configPlugin 中生效呢
返回顶部
顶部