`
tanhaichao
  • 浏览: 15095 次
文章分类
社区版块
存档分类

JavaHost:使用虚拟DNS省掉开发环境配置hosts文件

阅读更多
JavaHost:使用虚拟DNS省掉开发环境配置hosts文件
学习如何使用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 database
user.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文件,祝您好运。
2
0
分享到:
评论
4 楼 zhangthe9 2015-02-13  
非常有用!
3 楼 badqiu 2015-02-12  
  好东西.
2 楼 tanhaichao 2015-02-12  
wsppkdc 写道
强大的JavaHost,非用不可了!


JavaHost已经发布正式版到maven中央仓库
     <dependency>  
        <groupId>io.leopard</groupId>  
        <artifactId>javahost</artifactId>  
        <version>0.1</version>  
    </dependency>  
1 楼 wsppkdc 2015-02-12  
强大的JavaHost,非用不可了!

相关推荐

    1. 在Hosts文件增加DNS配置,如下:

    1. 在Hosts文件增加DNS配置,如下: 增加 : 10.129.72.17 wangxinguo 10.129...... chenxiang 10.129...... 为自己的IP地址,chenxiang为自己的名称,这个 2. 修改Web.xml文件的serverName的值&lt;param-value&gt;...

    java源码:DNS服务器 Eagle DNS.zip

    java源码:DNS服务器 Eagle DNS.zip

    Host文件转换为Charles可识别的DnsSpoofing Xml配置文件

    Host文件转换为Charles可识别的DnsSpoofing Xml配置文件 charles本身带有DNS Spoofing Settings的功能,在Tools菜单里,使用这个,就不需要在搭配其他Host修改工具使用了,我们项目中,开发时需要频繁改host,这个...

    happy-dns-java-0.1.4-API文档-中文版.zip

    赠送jar包:happy-dns-java-0.1.4.jar; 赠送原API文档:happy-dns-java-0.1.4-javadoc.jar; 赠送源代码:happy-dns-java-0.1.4-sources.jar; 包含翻译后的API文档:happy-dns-java-0.1.4-javadoc-API文档-中文...

    DNS服务器的配置实验报告.doc

    三、实验环境 1、开启一台安装有linux操作系统的虚拟机 2、dns的配置按照下面的拓扑图进行配置 四、实验步骤 1、查看dns是否安装 2、查看dns服务服务状态 3、为dns服务器设置固定IP地址,并验证网络是否连通,操作...

    Host Go 免Root权限的HOSTS文件及DNS修改编辑器

    全网独家榜首免Root权限的HOSTS文件及DNS修改编辑器。 也许你正在搜索一款app满足以下功能: 无限制访问一些因为DNS污染或者其他原因而不能正常访问的网站, 家长控制孩子在因特网浏览时避免一些恶意或者不干净的...

    Linux 修改 etc/hosts文件详细介绍

    在没有域名解析服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的ip地址,否则就需要使用dns服务程序来解决。通过可以将常用的域名和ip地址映射加入到hosts文件中,实现快速方便的访问...

    关于linux服务器hosts文件配置详解

    在没有域名服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址,否则就需要使用DNS服务程序来解决。通常可以将常用的域名和IP地址映射加入到hosts文件中,实现快速方便的访问。 ...

    DNS配置DNS配置DNS配置DNS配置DNS配置

    DNS配置DNS配置DNS配置DNS配置DNS配置DNS配置DNS配置DNS配置

    案例:配置DNS服务器.pptx

    配置主DNS服务 为德雅职业学校校园网搭建一台主DNS服务器,使得校园网内的用户能够通过域名访问校园网内的所有服务器,并通过DNS服务器的转发也能使用域名访问互联网中的服务器,DNS转发器设置为61.128.192.68。...

    DNS服务器配置教学视频

    DNS配置视频 包含: 1:DNS安装 2:DNS配置 3:DNS使用

    Linux操作系统:DNS服务器的安装与配置.pptx

    公司新购一台web服务器,IP地址为52,由于使用IP地址访问不便,假设你是该公司的网络管理员,请你完成DNS服务的配置,使得用户可以通过域名访问该网站。 DNS服务器IP:54/24 公司DNS区域:abccompany.cc Web服务器...

    如何配置dns系统虚拟域名的配置和设置方法.rar

    如何配置dns系统虚拟域名的配置和设置方法

    DNS配置软件DNS配置软件DNS配置软件

    DNS配置软件 DNS配置软件 DNS配置软件 DNS配置软件 DNS配置软件 DNS配置软件

    一键hosts文件修复工具 2012.zip

    一键hosts文件修复工具能一键修复还原hosts文件。Hosts文件是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联...使用简单,能一键修复还原hosts文件。

    基于java的开发源码-DNS服务器 Eagle DNS.zip

    基于java的开发源码-DNS服务器 Eagle DNS.zip 基于java的开发源码-DNS服务器 Eagle DNS.zip 基于java的开发源码-DNS服务器 Eagle DNS.zip 基于java的开发源码-DNS服务器 Eagle DNS.zip 基于java的开发源码-DNS服务器...

    java 开发的局域网内DNS 服务器

    配置:把源代码导入Eclipse中,运行DNSServer.java文件。然后把局域网内计算机系统的DNS服务器地址改为运行DNSServer.java的主机地址。这样就配置完成了。 源代码中还包含了DNS查询包和应答包的解析,非常利于学习。

    happy-dns-java-0.1.4-API文档-中英对照版.zip

    赠送jar包:happy-dns-java-0.1.4.jar; 赠送原API文档:happy-dns-java-0.1.4-javadoc.jar; 赠送源代码:happy-dns-java-0.1.4-sources.jar; 包含翻译后的API文档:happy-dns-java-0.1.4-javadoc-API文档-中文...

    dns配置手册

    详细的说明了配置linux环境下的dns,一步一步的操作截图。 包括主备模式的配置,及相关问题的解决。

    如何配置dns系统虚拟域名的配置和设置方法

    如何配置dns系统虚拟域名的配置和设置方法?

Global site tag (gtag.js) - Google Analytics