??xml version="1.0" encoding="utf-8" standalone="yes"?>国产一区欧美一区,日韩精品黄色网,精品一区二区久久久久久久网站 http://www.aygfsteel.com/tinguo002/category/52101.html<script async src="http://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- iteye 460 60 -->
<ins class="adsbygoogle"
style="display:inline-block;width:468px;height:60px"
data-ad-client="ca-pub-2876867208357149"
data-ad-slot="0418982663"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
zh-cn Wed, 12 Nov 2014 23:41:35 GMT Wed, 12 Nov 2014 23:41:35 GMT 60 java.net.SocketException: Connection reset 解决Ҏ(gu) http://www.aygfsteel.com/tinguo002/archive/2014/06/27/415170.html一堣而安 一堣而安 Fri, 27 Jun 2014 03:43:00 GMT http://www.aygfsteel.com/tinguo002/archive/2014/06/27/415170.html http://www.aygfsteel.com/tinguo002/comments/415170.html http://www.aygfsteel.com/tinguo002/archive/2014/06/27/415170.html#Feedback 0 http://www.aygfsteel.com/tinguo002/comments/commentRss/415170.html http://www.aygfsteel.com/tinguo002/services/trackbacks/415170.html http://www.cnblogs.com/zmc/p/3295761.html
当数据库q接池中的连接被创徏而长旉不用的情况下,该连接会(x)自动回收q失效,但客L(fng)q不知道Q在q行数据库操作时仍然使用的是无效的数据库q接Q这P导致客L(fng)E序?#8220; java.sql.SQLException: Io 异常: Connection reset” ?#8220;java.sql.SQLException 关闭的连?#8221;异常?/p>
解决办法Q客L(fng)在用一个无效的q接时会(x)先对该连接进行测试,如果发现该连接已l无效,则重Cq接池获取有效数据库q接来用?br />
在tomcat?span style="color: red">context.xml里面讄数据源时候可参考:(x)
<Resource auth="Container" driverClassName="oracle.jdbc.OracleDriver" type="javax.sql.DataSource" url="jdbc:oracle:thin:@11.11.11.45:1521:orcl" name="jdbc/login" username="login" password="login" maxActive="15" maxIdle="10" maxWait="-1" minIdle="2" removeAbandonedTimeout="5" testOnBorrow="true" testWhileIdle="true" testOnReturn="true" removeAbandoned="true" logAbandoned="true" validationQuery="select 1 from dual" /> 参考:(x)http://www.cnblogs.com/younes/archive/2012/06/01/2529483.html
DBCP数据库连接失效的解决Ҏ(gu)(Io 异常QConnection reset)
|上很多评论说DBCP有很多BUGQ但是都没有指明是什么BUGQ只有一部分数据库如果因为某U原因断掉后再DBCP取道的连接都是失效的q接Q而没有重新取。有的时候会(x)报Io 异常QConnection reset?/p>
解决Ҏ(gu)Q?/p>
spring中datasource的配|如下:(x) <bean id="dispatchdataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:myserver" /> <property name="username" value="user1" /> <property name="password" value="pwd" /> <property name="maxActive" value="10000" /> <property name="maxIdle" value="30" /> <property name="minIdle" value="2" /> <property name="maxWait" value="600000" /> <property name="testOnBorrow" value="true"/> <property name="testWhileIdle" value="true"/> <property name="validationQuery" value="select 1 from dual"/> </bean>
分析:
DBCP使用apache的对象池ObjectPool作ؓ(f)q接池的实现Q有以下主要的方?/p>
Object borrowObject() throws Exception;从对象池取得一个有效对?/p>
void returnObject(Object obj) throws Exception;使用完的对象攑֛对象?/p>
void invalidateObject(Object obj) throws Exception;使对象失?/p>
void addObject() throws Exception;生成一个新对象
ObjectPool的一个实现就是GenericObjectPoolQ这个类使用对象工厂PoolableObjectFactory实现对象的生成,失效查等{功能,以其实现数据库连接工厂PoolableConnectionFactory做以说明Q主要方法:(x)
Object makeObject() throws Exception; 使用ConnectionFactory生成新连?/p>
void destroyObject(Object obj) throws Exception;关闭q接
boolean validateObject(Object obj); 验证q接是否有效Q如果_validationQuery不空Q则使用该属性作为验证连接是否有效的sql语句Q查询数据库
void activateObject(Object obj) throws Exception;Ȁz连接对?/p>
void passivateObject(Object obj) throws Exception; 关闭q接生成q的Statement和ResultSetQɘq接处于非活动状?/p>
而GenericObjectPool有几个主要属?/p>
_timeBetweenEvictionRunsMillisQ失效检查线E运行时间间隔,默认-1
_maxIdleQ对象池中对象最大个?/p>
_minIdleQ对象池中对象最个?/p>
_maxActiveQ可以从对象池中取出的对象最大个敎ͼ?则表C没有限Ӟ默认?
在构造GenericObjectPoolӞ?x)生成一个内嵌类EvictorQ实现自Runnable接口。如?_timeBetweenEvictionRunsMillis大于0Q每q_timeBetweenEvictionRunsMillis毫秒 Evictor?x)调用evict()Ҏ(gu)Q检查对象的闲置旉是否大于 _minEvictableIdleTimeMillis毫秒Q_minEvictableIdleTimeMillis于{于0时则忽略Q默认ؓ(f)30 分钟Q,是则销毁此对象Q否则就Ȁzdƈ校验对象Q然后调用ensureMinIdleҎ(gu)查确保池中对象个C于_minIdle。在调用 returnObjectҎ(gu)把对象放回对象池Q首先检查该对象是否有效Q然后调用PoolableObjectFactory 的passivateObjectҎ(gu)使对象处于非zd状态。再查对象池中对象个数是否小于_maxIdleQ是则可以把此对象放回对象池Q否则销毁此对象?/p>
q有几个很重要的属?span style="color: red">Q_testOnBorrow、_testOnReturn、_testWhileIdleQ这些属性的意义?span style="color: red">取得、返回对象和I闲时是否进行验?/span>Q检查对象是否有效,默认都ؓ(f)false即不验证 。所以当使用DBCPӞ数据库连接因为某U原因断掉后Q再从连接池中取得连接又不进行验证,q时取得的连接实际已l时无效的数据库q接了。网上很多说 DBCP的bug应该都是如此吧,只有把这些属性设为trueQ再提供_validationQuery语句可以保证数据库q接始终有效了,oracle数据库可以用SELECT COUNT(*) FROM DUALQ不qDBCP要求_validationQuery语句查询的记录集必须不ؓ(f)I,可能q也可以一个小的BUGQ其实只要_validationQuery语句执行通过可以了?/p>
参考:(x)http://hi.baidu.com/dobodo/item/7d95e3384d181cc4392ffab5 Tomcat Resource可配|的属?br />
]]> Tomcat6.0 q接池的配置 http://www.aygfsteel.com/tinguo002/archive/2014/06/18/414887.html一堣而安 一堣而安 Wed, 18 Jun 2014 06:54:00 GMT http://www.aygfsteel.com/tinguo002/archive/2014/06/18/414887.html http://www.aygfsteel.com/tinguo002/comments/414887.html http://www.aygfsteel.com/tinguo002/archive/2014/06/18/414887.html#Feedback 0 http://www.aygfsteel.com/tinguo002/comments/commentRss/414887.html http://www.aygfsteel.com/tinguo002/services/trackbacks/414887.html 1.本h当前使用的Tomcat版本为:(x)6.0.20Qoracle为稳定的9i版本
2.下文为方便v见,依习(fn)惯以%Tomcat_Home%表示Tomcat安装的目录,本h安装目录?#8220;E:\Program Files\WindowsXP\tomcat6”
配置步骤如下Q?/p>
1.Tomcat 6的配|和以前的不同了Q不推荐在server.xml中进行配|,而是?Tomcat_Home%\webapps\yourApp\META-INF \context.xml中进行配|才是更好的Ҏ(gu)。而不是以前版?Tomcat_Home%\conf下的context.xml文g。这样就可以在不同的web应用下单独配|连接池了,且Tomcat?x)自动重载。当然你也可以更?Tomcat_Home%\conf下的context.xml文gQ将所有web应用下的q接池进行统一配置?/p>
2.代码修改如下:(x)
view plaincopy to clipboardprint? <Context reloadable="true"> <WatchedResource>WEB-INF/web.xml</WatchedResource> <Resource name="jdbc/oracleds" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="scott" password="tiger" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:ora9"/> </Context> <Context reloadable="true"> <WatchedResource>WEB-INF/web.xml</WatchedResource> <Resource name="jdbc/oracleds" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="scott" password="tiger" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:ora9"/> </Context>
name 为当前数据源JNDI的名字,可以随意讑֮Q?/p>
auth 为验证方式;
type 资源cdQ?/p>
driverClassName 为Oracle驱动引用Q?/p>
maxActiv 接池最大激zȝq接敎ͼ设ؓ(f)0表示无限Ӟ
maxIdle 表示即没有数据库连接时依然可以保持30个空闲的q接Q而不被清除,随时处于待命状态。设?表示无限Ӟ
maxWait 接最大的{待旉Q单位毫U,取?0000Q表C?0000U后时。设?1
表示无限制。;
username 为oracle数据库的一个用户名Q?
password 为username的密码;
url 接oracle的连接地址Q?/p>
注:(x)本h试代?#8220;driverClassName="oracle.jdbc.driver.OracleDriver"”改ؓ(f)“driverClassName="oracle.jdbc.OracleDriver"”E序依然q行正常Q刚开始以师的代码有问题
3.在程序中的调用Ş式ؓ(f)Q?/p>
view plaincopy to clipboardprint? Context context = new InitialContext(); DataSource ds = (DataSource)context.lookup("java:/comp/env/jdbc/oracleds"); Connection conn = ds.getConnection(); Context context = new InitialContext(); DataSource ds = (DataSource)context.lookup("java:/comp/env/jdbc/oracleds"); Connection conn = ds.getConnection();
注:(x)“java:/comp/env/jdbc/oracleds”U色标记文字为步?里设|的Resource name
则可以将建立connection的方式以上述形式取代传统方式Q?/p>
view plaincopy to clipboardprint? String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@localhost:1521:ora9"; String username = "scott"; String password = "tiger"; Class.forName(driver); Connection conn = DriverManager.getConnection(url, username, password); String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@localhost:1521:ora9"; String username = "scott"; String password = "tiger"; Class.forName(driver); Connection conn = DriverManager.getConnection(url, username, password);
4.另外q需用到的jdbc驱动cd导入?Tomcat_Home%\lib目录?/p>
否则?x)抛出如下异常?x) org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver'
依上q步骤就能成功的配置Tomcat6.0 q接池,q有|友贴文说需
在web.xml文g中的web-app节点下加入如下代码Ş式:(x) <resource-ref> <res-ref-name>jdbc/myoracle</res-ref-name> <res-type>javax.sql.DataSource</res-type> </resource-ref>
因本人未d此项Q程序依然正,故本为此步骤为非必要?br />
---------------------------------------------------------------------------
今天需要在另一台机器上重新部vpȝQ重新设|db的连接池。当我把tomcat拯到那台机器,q且修改META-INF\context.xmlQ然后重新启动tomcatQ但发现pȝq接的仍然是老的db。再ơ检查了META-INF\context.xml文gQ确信了q个文g已经正确讄dbq接了,q也说明q个文gq没有真正v作用。查看了tomcat下conf\context.xml也没有设|db的连接池。那是哪个文件在起作用呢Q折腾了办法Q后来发现tomcat在conf\Catalina\localhost下生成了一个和原来META-INF\context.xml相同内容的文Ӟ怀疑一定是q个文g在v作用Q删除conf\Catalina\localhost目录Q重启tomcatQ问题消失?/p>
转蝲一?a >tomcat加蝲cȝ序 Q?/p>
binQ存攑动和关闭tomcat的脚本文Ӟ
/confQ存放tomcat的各U配|文Ӟ比如Qserver.xml
/server/libQ存放tomcat服务器所需要的各种jar文gQjar文g只可被tomcat 服务器访问)
/server/webappsQ存放tomcat自带的两个web应用Qadmin应用和manager应用?nbsp;
/common/libQ存放tomcat服务器以?qing)所有web应用都可以访问的jar文g夹(web和tomcat服务器都可访问此jarQ?nbsp;
/shared/libQ存放web都可讉K的jar文g。(可以被所有的web讉KQ但不能被tomcat讉KQ?nbsp;
/logsQ存放tomcat的日志文?nbsp;
/webappsQ当发布web应用Ӟ默认情况下把web应用文g放于此目录下
/workQtomcat把由jsp生成的Servlet放于此目?nbsp;
另:(x)在web应用中,W(xu)EB-Inf目录下,也可以徏立lib子目录,在此子目录下可以存放各种jar文gQ这些jar文g只能被当前web应用讉K。其中,在web-inf目录下的lib与classes目录QTomcatc装载器先装载classes目录下的c,再装载lib目录下的cR因为类同名Ӟclasses优先?nbsp;
其中jspq行Ӟ查找class的顺序ؓ(f)Q项目文件夹QWEB-INF\libQ?==》容器文件夹Qtomcat\common\libQ?=》jdk文g夹(jdk\jre\lib\extQ?nbsp;
Tomcat的class加蝲的优先顺序一?nbsp;
1.最先是$JAVA_HOME/jre/lib/ext/下的jar文g?nbsp;
2.环境变量CLASSPATH中的jar和class文g?nbsp;
3.$CATALINA_HOME/common/classes下的class文g?nbsp;
4.$CATALINA_HOME/commons/endorsed下的jar文g?nbsp;
5.$CATALINA_HOME/commons/i18n下的jar文g?nbsp;
6.$CATALINA_HOME/common/lib 下的jar文g?nbsp;
QJDBC驱动之类的jar文g可以攑֜q里Q这样就可以避免在server.xml配置好数据源却出现找不到JDBC Driver的情c)
7.$CATALINA_HOME/server/classes下的class文g?nbsp;
8.$CATALINA_HOME/server/lib/下的jar文g?nbsp;
9.$CATALINA_BASE/shared/classes 下的class文g?nbsp;
10.$CATALINA_BASE/shared/lib下的jar文g?nbsp;
11.各自具体的webapp /WEB-INF/classes下的class文g?nbsp;
12.各自具体的webapp /WEB-INF/lib下的jar文g?nbsp;
class的搜寻顺序如?nbsp;
-------------
/WEB-INF/classes of your web application
/WEB-INF/lib/*.jar of your web application
$CATALINA_HOME/common/classes
$CATALINA_HOME/common/endorsed/*.jar
$CATALINA_HOME/common/i18n/*.jar
$CATALINA_HOME/common/lib/*.jar
$CATALINA_BASE/shared/classes
$CATALINA_BASE/shared/lib/*.jar
--------------
因此攑֜不同webapp里的class文gQ会(x)被classloader加蝲成不同的实例?nbsp;
例如假设下面两个不同内容的class。分别放在不同的webapp的class目录下?nbsp;
package com.lizongbo;
public class TestClass {
private String NAME="lizongbo";
}
package com.lizongbo;
public class TestClass {
private String NAME="li_zongbo";
}
在不同的webapp得到的com.lizongbo.NAMEl果是不同的Q且互不影响?nbsp;
但是注意Q以下包名开头的class例外Q?nbsp;
javax.*
org.xml.sax.*
org.w3c.dom.*
org.apache.xerces.*
org.apache.xalan.*
ps,注意.在各个jar中的\META-INF\MAINFEST.MF文g里Class-Path键值对Q也?x)提供jar的加载优先顺序?nbsp;
例如某jar的MAINFEST.MF内容如下Q?nbsp;
Manifest-Version: 1.0
Created-By: lizongbo
Class-Path: commons-beanutils.jar
Class-Path: commons-collections.jar
Class-Path: commons-dbcp.jar
Class-Path: commons-digester.jar
Class-Path: commons-logging.jar
Class-Path: commons-pool.jar
Class-Path: commons-services.jar
Class-Path: commons-validator.jar
Class-Path: jakarta-oro.jar
Main-Class: com.lizongbo.MyTestClass
那么在加载这个jar的时候,?x)先在此jar所在目录下依次先加载commons-beanutils.jarQcommons-collections.jar。。。等jar文g?nbsp;
在不同的地方攄jar和class可能?x)生意想不到的后?Q尤其是不同版本的jar文gQ因此在实际应用部vweb应用时候要特别留心.
例如 使用javamail常见的一个出错信?
javax.mail.NoSuchProviderException: No provider for smtp
其真实原因就很可能如?
在不同的加蝲jar的目录下攄了不同版本的mail.jar,比如一个是javamail1.3.1的mail.jar
在D:\jakarta-tomcat-5.5.8\common\lib?而另外一个是javamail1.3.2的mail.jar?nbsp;
D:\jakarta-tomcat-5.5.8\webapps\lizongbo\WEB-INF/lib?
那么lizongboq个webapp中用到javamailq行邮g发送的时候,便会(x)出现No provider for smtp的错误?/p> 详细出处参考:(x)http://www.aygfsteel.com/gm_jing/articles/308828.html
]]>Invalid byte 2 of 2-byte UTF-8 sequence解决Ҏ(gu) http://www.aygfsteel.com/tinguo002/archive/2013/03/17/396566.html一堣而安 一堣而安 Sun, 17 Mar 2013 13:37:00 GMT http://www.aygfsteel.com/tinguo002/archive/2013/03/17/396566.html http://www.aygfsteel.com/tinguo002/comments/396566.html http://www.aygfsteel.com/tinguo002/archive/2013/03/17/396566.html#Feedback 0 http://www.aygfsteel.com/tinguo002/comments/commentRss/396566.html http://www.aygfsteel.com/tinguo002/services/trackbacks/396566.html http://www.cnblogs.com/balaamwe/archive/2012/03/07/2383413.html Invalid byte 2 of 2-byte UTF-8 sequence解决Ҏ(gu)异常信息如下Q?/p>
2009-9-14 3:56:54 org.apache.catalina.startup.Catalina stopServer 严重: Catalina.stop: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence. at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(Unknown Source) at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanLiteral(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanAttribute(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1644) at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:410) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:337) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)
解决Ҏ(gu)如下Q?/p>
Ҏ(gu)1
查tomcat里面的配|文件中有没有用汉字(包括注释Q,有汉字则把汉字改成英?/p>
Ҏ(gu)2
在有汉字的配|文件中Q加入如下代?/p>
<?xml version="1.0" encoding="gbk"?>
]]> loadrunner 9.5 9.0 8.1下蝲地址 和license http://www.aygfsteel.com/tinguo002/archive/2012/12/08/392673.html一堣而安 一堣而安 Sat, 08 Dec 2012 15:00:00 GMT http://www.aygfsteel.com/tinguo002/archive/2012/12/08/392673.html http://www.aygfsteel.com/tinguo002/comments/392673.html http://www.aygfsteel.com/tinguo002/archive/2012/12/08/392673.html#Feedback 0 http://www.aygfsteel.com/tinguo002/comments/commentRss/392673.html http://www.aygfsteel.com/tinguo002/services/trackbacks/392673.html http://willvvv.iteye.com/blog/1198158
最q做压力试Q需要下载下loadrunnerQ杯L(fng)是从hp官网下蝲的loadrunner11Q解压时报压~包错误Q没办法只有扄三方的下载,51test因ؓ(f)版权问题已经不提供下载,几个提供软g下蝲|站只有多特www.duote.com提供?.0版本的下?http://www.duote.com/soft/11496.html)Q而类ghttp://www.genilogix.com/downloads/loadrunner/loadrunner-11.iso q个的已l无效?/span>
找了一下午l于扑ֈ一个版本稍微高一点的9.5的下载地址Q?/span>
1.ftp地址ftp://www.atstudy.com 2.用户名和密码Q?span style="color: rgb(0,0,0)">user1 user1
3.使用ftp客户?/span>软g Q如cuteftpQleapftpQflashfxp{连接,因ؓ(f)用ie可能q不?/span>
4.在mercury目录下下?/span>
因ؓ(f)使用firefoxQ装了一个fireftp插gQ就可以下蝲了!
global 100QAEAMAUIK-YAFEKEKJJKEEA-BCJGI
golba-1000QAEACFSJI-YASEKJJKEAHJD-BCLBR
10000 web QAEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB
注意Qloadrunner的License理器,只支持一个LicenseQ如果先后输入了上面的两个LicenseQ最后实际生效的只有最后一个?/p>
fromQhttp://www.cnblogs.com/jiaxiaoai/archive/2011/06/12/2078749.html
]]>
վ֩ģ壺
|
¡ |
|
³ |
ɽ |
|
|
|
|
|
|
|
¡ |
ξ |
|
|
ʯ |
|
ʯ |
|
鴨 |
|
Ž |
|
|
|
ά |
|
̨ |
|
|
ԭ |
ͩ |
¯ |
¡ |
|
ɽ |
|
ຣʡ |
|
˫ |