posts - 3,  comments - 2,  trackbacks - 0
  2010年5月23日

早就厌烦了 Java 开发不断的容器自动重新加载漫长的过程,研究 maven + jetty 热部署方案的过程中偶然发现一样不错的东东,试用了一下果然很爽,发上来给大家共享,此物名为 JRebel (javarebel),目前支持大部分主流的 Java 容器,配置也相当简单,以下是与 maven + jetty 环境整合的步骤与要点:

首先,下载 JRebel 包,目前网上有两个破解版本分别是 JRebel2.1a 以及 JRebel3.0-M1,我使用的是前者,下面是下载地址:http://d.namipan.com/d/842d40cc1ed226fc69e04892cdaeaec85cf85be105f41400 (需要的请尽快下载,以免链接失效)。

然后拷贝到 %REBEL_HOME% 目录并添加该环境变量,进入目录运行 java -jar %REBEL_HOME%\jrebel.jar 生成根据本机 JVM 环境生成的 jrebel-bootstrap.jar 运行文件。


然后添加 MAVEN 运行环境变量:MAVEN_OPTS 值为 -noverify -Xbootclasspath/p:%REBEL_HOME%\jrebel-bootstrap.jar;%REBEL_HOME%\jrebel.jar 然后再配置目标项目的 pom.xml,关闭 maven 的 jetty 插件本身的 reload 配置:

<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<configuration>
<scanIntervalSeconds>0</scanIntervalSeconds>
</configuration>
</plugin>

最后启动 mvn jetty:run 你会发现现在不需要 reload 服务器就可以加载实时修改过的 class 文件了,很不错吧。其实我个人更推荐不要设置 MAVEN_OPTS 环境变量,新建一个比如名为 mvnrebel.bat 的文件,改写一下 mvn.bat 文件,把以上的运行命令加进去,这样还保留了原本的 mvn 执行文件,同时也可以根据需要启动带热部署的方案。

JRefer 工具还提供其他各种主流环境的整合方案,包括 JBoss,Glassfish,Tomcat,SpringSource,Weblogic,SAP 等,详细内容请参考:http://www.zeroturnaround.com/reference-manual/server.html 对于开发人员来说,这无疑会大大减轻开发重新加载的问题,据调查平均可以提高 20% 的开发效率,效果相当的可观哦,有兴趣的朋友值得一试~

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/shagoo/archive/2010/04/26/5529352.aspx

posted @ 2010-05-23 22:28 sw0rd 阅读(2609) | 评论 (0)编辑 收藏
  2009年7月1日
全国各地电信DNS服务器地址
2007年04月10日 星期二 15:50
北京:202.96.199.133 202.96.0.133 202.106.0.20 202.106.148.1 202.97.16.195
上海:202.96.199.132 202.96.199.133 202.96.209.5 202.96.209.133
天津:202.99.96.68 10.10.64.68
广东:202.96.128.143 202.96.128.68 202.96.128.110
深圳:202.96.134.133 202.96.154.8 202.96.154.15
河南:202.102.227.68 202.102.245.12 202.102.224.68
广西:202.96.128.68 202.103.224.68 202.103.225.68
福建:202.101.98.54 202.101.98.55
厦门:202.101.103.55 202.101.103.54
湖南:202.103.0.68 202.103.96.68 202.103.96.112
江苏:202.102.15.162 202.102.29.3 202.102.13.141 202.102.24.35
陕西:202.100.13.11 202.100.4.16
西安:202.100.4.15 202.100.0.68
湖北:202.103.0.68 202.103.0.117 202.103.24.68
山东:202.102.154.3 202.102.152.3 202.102.128.68 202.102.134.68
浙江:202.96.102.3 202.96.96.68 202.96.104.18
辽宁:202.98.0.68 202.96.75.68 202.96.75.64 202.96.69.38 202.96.86.18 202.96.86.24
安徽:202.102.192.68 202.102.199.68 10.89.64.5
重庆:61.128.128.68 10.150.0.1
黑龙江:202.97.229.133 202.97.224.68
河北:202.99.160.68 10.17.128.90
保定:202.99.160.68 202.99.166.4
吉林:202.98.5.68 202.98.14.18 202.98.14.19
江西:202.101.224.68 10.117.32.40 202.109.129.2 202.101.240.36
山西:202.99.192.68 202.99.198.6
新疆:61.128.97.74 61.128.97.73
贵州:202.98.192.68 10.157.2.15
云南:202.98.96.68 202.98.160.68
四川:202.98.96.68 61.139.2.69
重庆:61.128.128.68 61.128.192.4
成都:202.98.96.68 202.98.96.69
内蒙古:202.99.224.68 10.29.0.2
青海:202.100.128.68 10.184.0.1
海南:202.100.192.68 202.100.199.8
宁夏:202.100.0.68 202.100.96.68
甘肃:202.100.72.13 10.179.64.1
香港:205.252.144.228 208.151.69.65
澳门:202.175.3.8 202.175.3.3

各大网站DNS列表

天府热线DNS:61.139.2.69
长春163  :202.98.0.68
       202.98.3.68
263在线  :211.100.2.130
       211.100.1.10
中国万网  :210.79.232.248
  DNS  :210.192.103.50   (dns1.hichina.com)
  DNS  :202.106.169.100  (dns2.hichina.com)
新网    :211.99.199.194
      :211.99.199.195
263IDC   :211.100.2.130  (NS.263IDC.COM)
      :211.100.1.10   (NSB.263IDC.COM)


教育网内的DNS服务器
202.114.64.2武大DNS1 (一区)
202.114.96.1 武大DNS2 (二区)
202.114.96.2 武大DNS3 (二区)
202.114.112.13 武大DNS4 (三区)

202.114.0.242 server20.hust.edu.cn 华工DNS
202.112.0.35 dns.hust.edu.cn 华工DNS2
202.112.20.131 dns.whnet.edu.cn 华中地区网络中心DNS
166.111.8.28 dns-a.tsinghua.edu.cn清华DNS1
166.111.8.29 dns-b.tsinghua.edu.cn清华DNS2
166.111.8.30 dns.tsinghua.edu.cn 清华DNS
166.111.168.12清华DNS
202.117.0.20 dec3000.xjtu.edu.cn 西交DNS1
202.117.0.21 ns2.xjtu.edu.cn 西交DNS2
202.112.26.34上交
202.112.112.100 人大
162.105.129.27北大

202.203.128.33 cernet云南中心主dns
202.203.128.34
202.115.64.33 and 202.115.64.34 西南交大
202.201.48.1 and 202.201.48.2 nwnu
210.33.116.112 浙江电大
202.116.160.33 华南农业
202.114.240.6 wust
202.194.48.130 ytnc
202.112.0.33 and 202.112.0.34 cernet 华北网



全球路由DNS服务器

全球只有13台路由DNS服务器(Route Server),在13台路由服务器中,名字分别为“A”至“M”,其中10台设置在美国,另外各有一台设置于英国、瑞典和日本。下表是这些机器的管理单位、设置地点及最新的IP地址。http://koogou.net其中,IP地址等参考了“named.root”文件:

名称  管理单位及设置地点    IP地址

A INTERNIC.NET(美国,弗吉尼亚州) 198.41.0.4

B 美国信息科学研究所(美国,加利弗尼亚州) 128.9.0.107

C PSINet公司(美国,弗吉尼亚州) 192.33.4.12

D 马里兰大学(美国马里兰州) 128.8.10.90

E 美国航空航天管理局[NASA](美国加利弗尼亚州) 192.203.230.10

F 因特网软件联盟(美国加利弗尼亚州) 192.5.5.241

G 美国国防部网络信息中心(美国弗吉尼亚州) 192.112.36.4

H 美国陆军研究所(美国马里兰州) 128.63.2.53

I Autonomica公司(瑞典,斯德哥尔摩) 192.36.148.17

J VeriSign公司(美国,弗吉尼亚州) 192.58.128.30

K RIPE NCC(英国,伦敦) 193.0.14.129

L IANA (美国,弗吉尼亚州) 198.32.64.12

新西兰
202.27.184.3

美国
165.87.13.129
165.87.201.244
205.171.3.65
205.171.2.65
198.41.0.4
198.41.0.4
198.32.64.12
192.33.4.12
192.203.230.10
192.5.5.241
192.112.36.4
192.36.148.17
192.58.128.30
192.9.9.3
193.0.14.129
128.9.0.107
128.8.10.90


加拿大
209.166.160.36
209.166.160.132

泰国
202.44.8.34
202.44.8.2


印度
202.138.103.100
202.138.96.2

香港
205.252.144.228


英国
193.0.14.129

日本
202.12.27.33
202.216.228.18
202.27.184.3(新西兰)

165.87.13.129
165.87.201.244(美国)

209.166.160.36
209.166.160.132(加拿大)

202.44.8.34(泰国)
202.44.8.2

205.171.3.65(美国)
205.171.2.65

202.138.103.100印度
202.138.96.2

202.106.0.20北京
202.96.209.5上海
205.252.144.228香港
 解决国内不能正常访问GMAIL的方法
http://www.bokee.com/idea/gmail-fyf/

不能正常访问GMAIL,是由于国内网关上有检查设备和DNS劫持,这些设备干什么用的,我就不多说了。

要想正常访问GMAIL主要有几点:

1、选择正确的DNS服务器,我发现主DNS设置成国外根服务器的DNS,然后辅助DNS设置成国外的DNS,就可以正常的解析了。

具体做法:

在拨号网络或网卡属性里设置

主DNS设成 202.12.27.33

辅助DNS:202.216 .228.18 (日本DNS) 大家还可以自己找一些快的国外DNS。

2、要用https,也就是用加密协议来访问GMAIL



香港:205.252.144.228
208.151.69.65
202.181.202.140
202.181.224.2 
 
台湾168.95.192.1
168.95.1.1
 
澳门:202.175.3.8
202.175.3.3
 
各大网站DNS列表

天府热线DNS:61.139.2.69

长春163  :202.98.0.68
       202.98.3.68

263在线  :211.100.2.130
       211.100.1.10

中国万网  :210.79.232.248
  DNS  :210.192.103.50   (dns1.hichina.com)
  DNS  :202.106.169.100  (dns2.hichina.com)

新网    :211.99.199.194
      :211.99.199.195

263IDC   :211.100.2.130  (NS.263IDC.COM)
      :211.100.1.10   (NSB.263IDC.COM)

教育网内的DNS服务器
202.114.64.2武大DNS1 (一区)
202.114.96.1 武大DNS2 (二区)
202.114.96.2 武大DNS3 (二区)
202.114.112.13 武大DNS4 (三区)
202.114.0.242 server20.hust.edu.cn 华工DNS
202.112.0.35 dns.hust.edu.cn 华工DNS2
202.112.20.131 dns.whnet.edu.cn 华中地区网络中心DNS
166.111.8.28 dns-a.tsinghua.edu.cn清华DNS1
166.111.8.29 dns-b.tsinghua.edu.cn清华DNS2
166.111.8.30 dns.tsinghua.edu.cn 清华DNS
166.111.168.12清华DNS
202.117.0.20 dec3000.xjtu.edu.cn 西交DNS1
202.117.0.21 ns2.xjtu.edu.cn 西交DNS2
202.112.26.34上交
202.112.112.100 人大
162.105.129.27北大
202.203.128.33 cernet云南中心主dns
202.203.128.34
202.115.64.33 and 202.115.64.34 西南交大
202.201.48.1 and 202.201.48.2 nwnu
210.33.116.112 浙江电大
202.116.160.33 华南农业
202.114.240.6 wust
202.194.48.130 ytnc
202.112.0.33 and 202.112.0.34 cernet 华北网
 
全球路由DNS服务器
全球只有13台路由DNS服务器(Route Server),在13台路由服务器中,名字分别为“A”至“M”,其中10台设置在美国,另外各有一台设置于英国、瑞典和日本。下表是这些机器的管理单位、设置地点及最新的IP地址。[url]http://koogou.net[/url]其中,IP地址等参考了“named.root”文件:
名称  管理单位及设置地点    IP地址
A INTERNIC.NET(美国,弗吉尼亚州) 198.41.0.4
B 美国信息科学研究所(美国,加利弗尼亚州) 128.9.0.107
C PSINet公司(美国,弗吉尼亚州) 192.33.4.12
D 马里兰大学(美国马里兰州) 128.8.10.90
E 美国航空航天管理局[NASA](美国加利弗尼亚州) 192.203.230.10
F 因特网软件联盟(美国加利弗尼亚州) 192.5.5.241
G 美国国防部网络信息中心(美国弗吉尼亚州) 192.112.36.4
H 美国陆军研究所(美国马里兰州) 128.63.2.53
I Autonomica公司(瑞典,斯德哥尔摩) 192.36.148.17
J VeriSign公司(美国,弗吉尼亚州) 192.58.128.30
K RIPE NCC(英国,伦敦) 193.0.14.129
L IANA (美国,弗吉尼亚州) 198.32.64.12
 
新西兰
202.27.184.3
 
美国
165.87.13.129
165.87.201.244
205.171.3.65
205.171.2.65
198.41.0.4
198.41.0.4
198.32.64.12
192.33.4.12
192.203.230.10
192.5.5.241
192.112.36.4
192.36.148.17
192.58.128.30
192.9.9.3
193.0.14.129
128.9.0.107
128.8.10.90
66.33.206.206.
208.96.10.221
66.33.216.216
208.67.222.222
208.67.220.220
205.171.3.65
205.171.2.65
165.87.13.129
165.87.201.244
208.67.222.222
208.67.220.220

加拿大
209.166.160.36
209.166.160.132
 
泰国
202.44.8.34
202.44.8.2

印度
202.138.103.100
202.138.96.2

英国
193.0.14.129
 
日本
202.12.27.33
202.216.228.18
 
韩国
164.124.101.31
203.248.240.31
168.126.63.60
168.126.63.61

 
新西兰202.27.184.3
 
加拿大209.166.160.36
 
泰国209.166.160.132
202.44.8.34
202.44.8.2




最近公司的电信光线使用过程中发现有时连接国外总公司服务器延时很大,而且有丢包,所以联系服务商调整路由,不走南方电信的公网而走南方网通的路由,结果发现ping的时候延时很正常也没有丢包。但是,只有邮件服务器从调整路由起就发送不到国外那个服务器上了。很奇怪,开始便怀疑是DNS设置的问题。随后更改了几个电信和香港、台湾的DNS结果还是不行。因此收集了几个网通的DNS试试:
 
网通 B北京 202.106.0.20, 202.106.196.115 
网通 G广西 202.103.229.40, 221.7.128.68 
网通 H海南 221.11.132.2 
网通 H河北 202.99.160.68, 202.99.166.4 
网通 H黑龙江 202.97.224.68, 202.97.224.69 
网通 H河南 202.102.224.68, 202.102.227.68 
网通 H湖北 218.104.111.112, 218.104.111.114 
网通 J江苏 221.6.4.66, 221.6.96.177 
网通 J吉林 202.98.0.68, 202.98.5.68 
网通 L辽宁 202.96.69.38, 202.96.64.68 
网通 N内蒙古 202.99.224.8, 202.99.224.67, 202.99.224.68 
网通 S山东 202.102.152.3, 202.102.134.68 
网通 S上海 210.22.70.3, 210.22.70.2 
网通 S山西 202.99.192.66, 202.99.192.68 
网通 T天津 202.99.96.68, 202.99.104.68 
网通 Z浙江 221.12.1.228, 221.12.33.228, 221.12.65.228, 218.108.248.200 
网通  重庆的DNS 221.5.203.98  221.5.203.99
posted @ 2009-07-01 17:56 sw0rd 阅读(2962) | 评论 (0)编辑 收藏
  2009年6月25日
要对资料库管理系统进行操作,最基本的就是使用SQL(Standard Query Language)语句,大部份的资料库都支援标准的SQL语句,然而也有一些特定于资料库的SQL语句,应用程式配合SQL语句进行资料库查询时,若使用到特定于资料库的SQL语句,程式本身会有相依于特定资料库的问题。

使用Hibernate时,即使您不了解SQL的使用与撰写,也可以使用它所提供的API来进行SQL语句查询, org.hibernate.Criteria对SQL进行封装,您可以从Java物件的观点来组合各种查询条件,由Hibernate自动为您产生 SQL语句,而不用特别管理SQL与资料库相依的问题,就某个程度的意涵来看,这就像是在编译时期也可以得到对SQL语法的检查与验证。

以最基本的查询来说,如果您想要查询某个物件所对应的资料表中所有的内容,您可以如下进行查询:
Criteria criteria = session.createCriteria(User.class);
List users = criteria.list();
       
for(Iterator it = users.iterator(); it.hasNext(); ) {
    User user = (User) it.next();
    System.out.println(user.getId() +
                             " \t " + user.getName() +
                          "/" + user.getAge());   
}

Criteria建立后,若不给予任何的条件,预设是查询物件所对应表格之所有资料,如果您执行以上的程式片段,并于设定档中设定了了Hibernate的”show_sql”属性,则可以在主控下看到以下的SQL语句之产生:

Hibernate: select this_.id as id0_0_, this_.name as name0_0_, this_.age as age0_0_ from T_USER this_

org.hibernate.Criteria实际上是个条件附加的容器,如果想要设定查询条件,则要使用 org.hibernate.criterion.Restrictions的各种静态方法传回 org.hibernate.criterion.Criteria实例,传回的每个org.hibernate.criterion.Criteria 实例代表着一个条件,您要使用org.hibernate.Criteria的add()方法加入这些条件实例,例如查询” age”大于20且小于40的资料:
Criteria criteria = session.createCriteria(User.class);
criteria.add(Restrictions.gt("age", new Integer(20)));
criteria.add(Restrictions.lt("age", new Integer(40)));
List users = criteria.list();
       
for(Iterator it = users.iterator(); it.hasNext(); ) {
    User user = (User) it.next();
    System.out.println(user.getId() +
                              " \t " + user.getName() +
                             "/" + user.getAge());   
}

Restrictions的gt()方法表示大于(great than)的条件,而lt表示小于(less than)的条件,执行以上程式片段,观察所产生的SQL语句,将使用where与and子句产来完成SQL的条件查询:

Hibernate: select this_.id as id0_0_, this_.name as name0_0_, this_.age as age0_0_ from T_USER this_ where this_.age>? and this_.age<?

使用add()方法加入条件时,预设是使用and来组合条件,如果要用or的方式来组合条件,则可以使用Restrictions.or()方法,例如结合age等于(eq)20或(or)age为空(isNull)的条件:
Criteria criteria = session.createCriteria(User.class);
criteria.add(Restrictions.or(
                   Restrictions.eq("age", new Integer(20)),
                   Restrictions.isNull("age")
               ));
List users = criteria.list();

观察所产生的SQL语句,将使用where与or子句完成SQL的条件查询:

Hibernate: select this_.id as id0_0_, this_.name as name0_0_, this_.age as age0_0_ from T_USER this_ where (this_.age=? or this_.age is null)

您也可以使用Restrictions.like()方法来进行SQL中like子句的功能,例如查询”name”中名称为”just”开头的资料:
Criteria criteria = session.createCriteria(User.class);
criteria.add(Restrictions.like("name", "just%"));
List users = criteria.list();

观察所产生的SQL语句如下:

Hibernate: select this_.id as id0_0_, this_.name as name0_0_, this_.age as age0_0_ from T_USER this_ where this_.name like ?

Restrictions的几个常用限定查询方法如下表所示:
方法 说明
Restrictions.eq 等于
Restrictions.allEq 使用Map,使用key/value进行多个等于的比对
Restrictions.gt 大于 >
Restrictions.ge 大于等于 >=
Restrictions.lt 小于 <
Restrictions.le 小于等于 <=
Restrictions.between 对应SQL的BETWEEN子句
Restrictions.like 对应SQL的LIKE子句
Restrictions.in 对应SQL的in子句
Restrictions.and and关系
Restrictions.or or关系
Restrictions.sqlRestriction SQL限定查询
posted @ 2009-06-25 11:51 sw0rd 阅读(448) | 评论 (0)编辑 收藏
仅列出标题