dubbo框架,项目打包的配置要根据dubbo官网要求。在打包后,如果更改了引用配置文件:例如数据库连接密码,这时候必须要重新打包部署。否则在服务方启动时加载数据库连接时,还是加载原来的数据库连接密码。
因为在dubbo项目打包配置可以选择对应的配置文件一起打包成jar包,然后各个包进行依赖。所以在每次更改外部引用properties文件时,要重新打包,然后各个service服务又要根据新的引用配置包再打包(如果service不重新打包,会用原来旧的dao包依赖)。依次就使步骤太繁琐,耦合度太高,依赖太强了。
解决办法:
首先:不把properties文件在打包时一起打包。
其次:加载配置文件的spring配置:<context:property-placeholder location="classpath:properties/*.properties" />
在spring启动加载配置文件的时候:我们这里不用classpath,使用指定的路径,这样在加载配置文件的时候,会在指定的路径去加载。
这样打包后我们可以发现,如果修改了properties文件的某值的时候,我们项目不用重新打包,直接重启就好。
缺点:1:项目部署人一定要知道文件必须放的位置。