zui2jun5
zui2jun5
关注数: 2
粉丝数: 161
发帖数: 333
关注贴吧数: 15
WL修复了刷钱比较慢的BUG,修复后刷的更快.. WL修复了刷钱比较慢的BUG,修复后刷的更快..
价格一样选哪个?
数据库连接超市异常 我做了一个爬虫软件,需要在不同的服务器上拨号更换IP抓取数据,然后统一收回到 一个固定的服务器数据库里面去。发现了一个问题,每次拨号后都会出现一个数据库连接超时的异常,导致部分数据没有传回服务器数据库里,大家有什么办法解决,或者有更好的方案。 org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionException: JDBC begin failed: at org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:599) at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:374) at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:263) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:101) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at com.sun.proxy.$Proxy14.executeQuery(Unknown Source) at com.zxj.amazon.tool.AmazonCPCTool.run(AmazonCPCTool.java:327) at java.lang.Thread.run(Thread.java:745) Caused by: org.hibernate.TransactionException: JDBC begin failed: at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:96) at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1353) at org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:558) ... 8 more Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Connection reset by peer: socket write error at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1667) at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1654) at com.microsoft.sqlserver.jdbc.TDSChannel.write(IOBuffer.java:1805) at com.microsoft.sqlserver.jdbc.TDSWriter.flush(IOBuffer.java:3581) at com.microsoft.sqlserver.jdbc.TDSWriter.writePacket(IOBuffer.java:3482) at com.microsoft.sqlserver.jdbc.TDSWriter.endMessage(IOBuffer.java:3062) at com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:6120) at com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:6106) at com.microsoft.sqlserver.jdbc.SQLServerConnection$1ConnectionCommand.doExecute(SQLServerConnection.java:1756) at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696) at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand(SQLServerConnection.java:1761) at com.microsoft.sqlserver.jdbc.SQLServerConnection.setAutoCommit(SQLServerConnection.java:1901) at org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:371) at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setAutoCommit(PoolingDataSource.java:328) at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:91) ... 10 more
为什么我的正则表达式不能正确截取字符串? public static List<String> getString(String str,String star, String end){ Pattern pattern = Pattern.compile("(?<="+star+")(\\S+?)(?="+end+")"); Matcher matcher = pattern.matcher(str); List<String> data = new ArrayList<String>(); while(matcher.find()) data.add(matcher.group()); return data; } public static List<String> getString(String str,String pre,String star, String end){ Pattern pattern = Pattern.compile("(?<="+star+")"+pre+"(?="+end+")"); Matcher matcher = pattern.matcher(str); List<String> data = new ArrayList<String>(); while(matcher.find()) data.add(matcher.group()); return data; } public static void main(String[] args) { String str = "<li>111111111zui2jun1111;" + "222222222</li>333<li>4444" + " 555555</li>666" + "777<li>8888" + " 9999" + "000</li>"; System.out.println(getString(str,"([\\s\\S]*)","<li>","</li>")); String str2 = "<li>111</li><li>222</li><li>333</li>"; System.out.println(getString(str2,"<li>","</li>")); } 结果: [111111111zui2jun1111;222222222</li>333<li>4444 555555</li>666777<li>8888 9999000] [111, 222, 333] 为什么第一个不能像第二个一样 把每个符合<li>开头</li>结尾的字符串给截取出来呢 我如果要达到第二个的效果 要怎么写正则表达式呢
1
下一页