JavaHost:使用虚拟DNS省掉开发环境配置hosts文件
来源:互联网 发布:linux电子书下载 编辑:程序博客网 时间:2024/05/20 20:19
学习如何使用java修改DNS解析记录,采用Properties文件替代hosts文件。
在不同运行环境访问不同将数据源服务器,为了方便切换是否使用域名替代IP?
如果使用域名的话,在开发环境就需要配置hosts文件
团队其他成员checkout代码是否需要文档告诉他怎么配置hosts文件?
您负责的项目很多怎么办?为了方便修改hots文件您是否会借助Win Hosts Manager之类的软件?
讨厌写文档吗?想团队其他成员checkout代码不用修改hosts文件即可直接运行程序吗?
javahost(JVM虚拟DNS)帮组您解决这些烦恼,下面带大家来了解一下如何使用javahost省掉hosts文件配置.
1、配置maven依赖
在pom.xml加入
<dependencies> [...] <dependency> <groupId>io.leopard</groupId> <artifactId>javahost</artifactId> <version>0.0.5-SNAPSHOT</version> </dependency> [...]</dependencies><repositories> <repository> <id>leopard-snapshots</id> <name>Leopard Snapshots</name> <url>http://leopard.io/nexus/content/repositories/snapshots/</url> </repository></repositories>如果您是非maven用户,可以通过以下链接下载jar包.
io.leopard:javahost:0.0.5-SNAPSHOT
2、编写vdns.properties
src/main/resources/vdns.properties
#MySQL user databaseuser.mysql.guides.leopard.io=127.0.0.1#Redis user database user.redis.guides.leopard.io=127.0.0.2#Redis session database session.redis.guides.leopard.io=127.0.0.3
你可以将这些域名解析配置和其他占位符放在同一个文件,value为合法的IP才会设置虚拟DNS
不过我们推荐独立一个文件配置,这样会更加清晰些
3、设置虚拟DNS
src/test/java/io/leopard/guides/JettyTest.java
package io.leopard.guides;import io.leopard.javahost.JavaHost;import io.leopard.jetty.JettyServer;import java.io.IOException;import java.net.InetAddress;import java.util.Properties;import org.springframework.core.io.ClassPathResource;import org.springframework.core.io.Resource;import org.springframework.core.io.support.PropertiesLoaderUtils;public class JettyTest {private static void loadDns() throws IOException {Resource resource = new ClassPathResource("/vdns.properties");Properties props = PropertiesLoaderUtils.loadProperties(resource);JavaHost.updateVirtualDns(props);}public static void main(String[] args) throws Exception {loadDns();JavaHost.printAllVirtualDns();// 打印所有虚拟DNS记录System.out.println("IP:" + InetAddress.getByName("user.mysql.guides.leopard.io").getHostAddress());// 验证一下解析是否正确JettyServer.start();// 启动Jetty服务器}}
单元测试代码使用虚拟DNS,参考JettyTest即可
4、输出日志
JavaHost [host=user.redis.guides.leopard.io, ip=127.0.0.2]JavaHost [host=user.mysql.guides.leopard.io, ip=127.0.0.1]JavaHost [host=session.redis.guides.leopard.io, ip=127.0.0.3]IP:127.0.0.1
至此,您团队其他成员checkout代码后,已经可以不用修改hosts文件就能运行程序了。
了解Leopard更多功能模块,请访问http://leopard.io/
总结
恭喜你!您已经可以学会使用JavaHost配置虚拟DNS,不用再修改烦人的hosts文件,祝您好运。
0 0
- JavaHost:使用虚拟DNS省掉开发环境配置hosts文件
- JavaHost:使用虚拟DNS省掉开发环境配置hosts文件
- javahost:使用虚拟DNS省掉开发环境配置hosts文件
- javahost(JVM虚拟DNS)解决hosts程序中hosts配置问题
- hosts文件配置,理DNS缓存
- 使用hosts文件建立健壮的网络开发/测试环境
- [笔记]修改hosts文件和apache配置将开发环境的域名和服务器一致
- pycharm 配置虚拟开发环境
- 《oracle虚拟机配置流程(二)客户端配置DNS解析的Hosts文件映射》共四步
- erlang 自定义dns文件和Hosts文件
- 环境配置_mac上开发_Java,Android,Gradle,Maven,Hosts
- hosts文件配置
- hosts文件配置
- 配置HOSTS文件
- wms-hosts文件配置
- hosts文件配置
- windows配置hosts文件
- 配置HOSTS文件
- 使用Thread+Handler实现非UI线程更新UI界面
- 监听app卸载操作 方法二 启动服务
- ubuntu10.10安装配置tftp服务—— tftp-hpa 安装与使用
- 725 - Division
- 自定义ViewGroup(3):自定义流式布局
- JavaHost:使用虚拟DNS省掉开发环境配置hosts文件
- Android好奇宝宝_番外篇_看脸的世界_07
- Linux 集群的基本概念与LB(负载均衡)集群详解
- 菜鸟学JFreeChart-初学JFreeChart
- mongodb统计查询相关及csharp方面的应用收集
- (四十二)tableView的滑动编辑和刷新 -局部刷新和删除刷新 -待解决问题
- 常用eclipse添加插件方法(图片)
- 关于ueditor1.4.3和thinkphp3.2整合的问题解决方案
- HttpURLConnection和HttpClient分别以GET和POST获取Json数据