001package gu.dtalk.redis; 002 003import java.net.URI; 004import java.net.UnknownHostException; 005import net.gdface.utils.JcifsUtil; 006 007/** 008 * 局域网配置 009 * @author guyadong 010 * 011 */ 012public class DefaultLocalRedisConfigProvider implements RedisConfigProvider { 013 private static String landtalkhost = "landtalkhost"; 014 015 private volatile String host; 016 /** 017 * 返回局域网redis主机名 018 * @return landtalkhost 019 */ 020 public static String getLandtalkhost() { 021 return landtalkhost; 022 } 023 024 /** 025 * 初始化局域网redis主机名,默认值为'landtalkhost' 026 * @param landtalkhost 要设置的 landtalkhost 027 */ 028 public static void initLandtalkhost(String landtalkhost) { 029 DefaultLocalRedisConfigProvider.landtalkhost = landtalkhost; 030 } 031 032 @Override 033 public String getHost() { 034 if(host == null){ 035 synchronized (DefaultLocalRedisConfigProvider.class) { 036 if(host == null){ 037 // 如果是主机名则解析为IP地址 038 try { 039 host = JcifsUtil.hostAddressOf(landtalkhost); 040 } catch (UnknownHostException e) { 041 host = landtalkhost; 042 } 043 } 044 } 045 } 046 return host; 047 } 048 049 @Override 050 public void setHost(String host) { 051 } 052 053 @Override 054 public int getPort() { 055 return 0; 056 } 057 058 @Override 059 public void setPort(int port) { 060 061 } 062 063 @Override 064 public String getPassword() { 065 return null; 066 } 067 068 @Override 069 public void setPassword(String password) { 070 071 } 072 073 @Override 074 public int getDatabase() { 075 return 0; 076 } 077 078 @Override 079 public void setDatabase(int database) { 080 081 } 082 083 @Override 084 public int getTimeout() { 085 return 0; 086 } 087 088 @Override 089 public void setTimeout(int timeout) { 090 091 } 092 093 public URI getURI() { 094 return null; 095 } 096 097 public void setURI(URI uri) { 098 } 099 100 @Override 101 public final RedisConfigType type() { 102 return RedisConfigType.LAN; 103 } 104 105}