NutzCN Logo
问答 application文件读取功能
发布于 2098天前 作者 gengxiaoxiaoxin 1936 次浏览 复制 上一个帖子 下一个帖子
标签:

下面是使用Nb的PropertiesProxy配置的properties文件,请问怎么配置多profile?

baseUrl=192.168.1.246:3306
sys.url=jdbc:mysql://192.168.1.246:3306

或者有properties中使用的表达式吗?比如解析引用?

baseUrl=192.168.1.246:3306
sys.url=jdbc:mysql://${baseUrl}
12 回复

文档有写的

java -Dnutz.profiles.active=prod -jar xxx.jar

暂不支持变量

NutzBoot依赖构建遇到个错误。
以下是我的A模块,dataSource.js配置

// 读取配置文件
    conf: {
        type: "org.nutz.ioc.impl.PropertiesProxy",
        fields: {
            //paths: ["conf/db-home.properties"]
            paths: ["conf/"]
        }
    }
    sys_dao : {
		type : "org.nutz.dao.impl.NutDao",
		args : [ {
			refer : "sys_dataSource"
		} ]
	},
	sys_dataSource : {
        factory: "$conf#make",
		type : "com.alibaba.druid.pool.DruidDataSource",
		events : {
			depose : 'close'
		},
                args: ["com.alibaba.druid.pool.DruidDataSource", "sys."]
	},

我在B模块引入了A,然后启动A,于是我发现,容器启动时获取dataSource.js中配置的dataSource是可以的,但是有一部分在启动时候没有直接初始化,而是调用接口时候才去加载,这时候会提示conf=nullponit,此时是不同的Context?

说错了,是启动B模块

conf是内置的,不要自定义!

抱歉,这是文档多数据源一章给的例子,也既我不需要定义conf?它会扫描resource所有的properties?

让Ioc容器帮你规划properties文件

又说错了,是这个例子

nutzboot里面接管了conf这个bean,包含conf目录和application.properties的

我尝试去除了自己的conf配置,但是会找不到conf这个object?在容器里不叫这个?这个js是最先加载的

只有conf目录和根目录下的appliacation.properties,并非全部properties

Caused by: org.nutz.ioc.ObjectLoadException: Object 'conf' without define!
sys_dataSource : {
        factory: "$conf#make",
		type : "com.alibaba.druid.pool.DruidDataSource",
		events : {
			depose : 'close'
		},
        args: ["com.alibaba.druid.pool.DruidDataSource", "sys."]
	}

问题在于注入不了conf

不好意思,我理解错了,找到原因了。

// 读取配置文件
    sysConf: {
        type: "org.nutz.ioc.impl.PropertiesProxy",
        fields: {
            paths: ["conf/db-home.properties"]
            //paths: ["conf/"]
        }
    },

猜猜是后续容器加载conf,这里配置conf会被覆盖,换个名字就好了

添加回复
请先登陆
回到顶部