星期四, 10 九月 2009

转 Tomcat有关内存的常见问题

参看 《Tomcat有关内存的常见问题》。

Posted by xiaojf at 8:05 下午 in 未分类

jTDS用于SQL Server的JDBC驱动

    微软的SQL Server JDBC驱动确实让人感觉不是很好,性能我没测试过。以SQL Server JDBC Driver 2.0为例,竟然提供了两个jar包,一个用于jdk1.5,一个用于jdk1.6,真是够乱的。现在给大家介绍一个开源的SQL Server JDBC驱动,它就是jTDS。当前最新版本为jtds-1.2.3,支持的规范为JDBC3.0,有兴趣的朋友可以试一下。

Posted by xiaojf at 7:57 下午 in 未分类

星期三, 9 九月 2009

在Tomcat5.5下配置c3p0

META-INF\context.xml 内容

<?xml version="1.0" encoding="UTF-8"?>
<Context>
    <Resource
        auth="Container"
        description="DB Connection"
        driverClass="com.mysql.jdbc.Driver"
        maxPoolSize="4"
        minPoolSize="2"
        acquireIncrement="1"
        name="jdbc/TestDB"
        user="test"
        password="ready2go"
        factory="org.apache.naming.factory.BeanFactory"
        type="com.mchange.v2.c3p0.ComboPooledDataSource"
        jdbcUrl="jdbc:mysql://localhost:3306/test?autoReconnect=true"
        /> 
</Context>

JSP样例代码:

InitialContext ic = new InitialContext();
DataSource ds = ( DataSource ) ic.lookup( "java:comp/env/jdbc/pooledDS" ); 

Posted by xiaojf at 7:43 下午 in 未分类

JSP空间中MySQL的8小时问题两种解决办法

    MySQL的8小时问题的原因是,MySQL的参数interactive_timeout,也就是交互超时时间默认为8小时。说白了,也就是如果一个链接在8小时后,还没有和服务器交互,这个连接就会被MySQL服务器断开。因为MySQL能够承受的并发连接有限,所以这个参数有助于清除那些长时间不活动的链接。如果你web程序访问量很小,8小时都没有和MySQL服务器交互数据,就会产生socket之类的错误。类似错误信息如下:

2009-09-09 08:56:11,408 ERROR JDBC begin failed com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.net.SocketException MESSAGE: Software caused connection abort: socket write error STACKTRACE: java.net.SocketException: Software caused connection abort: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) at java.net.SocketOutputStream.write(SocketOutputStream.java:136) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123) at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2744) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1612) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723) at com.mysql.jdbc.Connection.execSQL(Connection.java:3277) at com.mysql.jdbc.Connection.setAutoCommit(Connection.java:5442) at com.mchange.v2.c3p0.impl.NewProxyConnection.setAutoCommit(NewProxyConnection.java:881) at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:63) at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1326) at org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:510) at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:350) at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:262) 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.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:631) at cn.cddouble.app.manager.ProductManager$$EnhancerByCGLIB$$db00f5f9.findForNewProduct() at cn.cddouble.app.web.front.ProductController.onIndex(ProductController.java:39) at com.baseframework.core.web.BaseManageController.index(BaseManageController.java:77) at sun.reflect.GeneratedMethodAccessor59.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:445) at org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:382) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:859) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:793) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:431) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302) at org.tuckey.web.filters.urlrewrite.RewrittenUrl.doRewrite(RewrittenUrl.java:176) at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.baseframework.core.web.support.MessageFilter.doFilter(MessageFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) at java.lang.Thread.run(Thread.java:595) ** END NESTED EXCEPTION ** Last packet sent to the server was 0 ms ago. at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2759) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1612) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723) at com.mysql.jdbc.Connection.execSQL(Connection.java:3277) at com.mysql.jdbc.Connection.setAutoCommit(Connection.java:5442) at com.mchange.v2.c3p0.impl.NewProxyConnection.setAutoCommit(NewProxyConnection.java:881) at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:63) at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1326) at org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:510) at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:350) at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:262) 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.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:631) at cn.cddouble.app.manager.ProductManager$$EnhancerByCGLIB$$db00f5f9.findForNewProduct() at cn.cddouble.app.web.front.ProductController.onIndex(ProductController.java:39) at com.baseframework.core.web.BaseManageController.index(BaseManageController.java:77) at sun.reflect.GeneratedMethodAccessor59.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:445) at org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:382) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:859) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:793) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:431) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302) at org.tuckey.web.filters.urlrewrite.RewrittenUrl.doRewrite(RewrittenUrl.java:176) at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.baseframework.core.web.support.MessageFilter.doFilter(MessageFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) at java.lang.Thread.run(Thread.java:595)

    如何解决MySQL数据库8小时的问题,以下方式查自网上,仅供参考。

DBCP增加以下配置信息:
   1. //set to 'SELECT 1'
   2. validationQuery = "SELECT 1"
   3. //set to 'true'
   4. testWhileIdle = "true"
   5. //some positive integer
   6. timeBetweenEvictionRunsMillis = 3600000
   7. //set to something smaller than 'wait_timeout'
   8. minEvictableIdleTimeMillis = 18000000
   9. //if you don't mind a hit for every getConnection(), set to "true"
  10. testOnBorrow = "true"

DBCP相关参数说明参照 《JSP空间链接池DBCP配置参考》。

C3P0增加以下配置信息:
   1. //获取connnection时测试是否有效
   2. testConnectionOnCheckin = true
   3. //自动测试的table名称
   4. automaticTestTable=C3P0TestTable
   5. //set to something much less than wait_timeout, prevents connections from going stale
   6. idleConnectionTestPeriod = 18000
   7. //set to something slightly less than wait_timeout, preventing 'stale' connections from being handed out
   8. maxIdleTime = 25000
   9. //if you can take the performance 'hit', set to "true"
  10. testConnectionOnCheckout = true

C3P0参数请参看其本身携带的帮助文档。

Posted by xiaojf at 7:18 下午 in 未分类

最喜欢的UNIX - FreeBSD

第一次在个人机上安装的就是它,感情深厚,可是由于工作原因,近几年一直没有再研究使用。

Posted by xiaojf at 6:15 下午 in 未分类

星期二, 8 九月 2009

纯正电信UNIX、MySQL、MySQL的JSP空间

NetJSP 服务器位于电信机房,采用UNIX系统和MySQL数据库,建议电信宽带用户选用,能获得更加的访问速度。

Posted by xiaojf at 11:53 下午 in 未分类

blojsom博客上传文件遇到的错误

Processing of multipart/form-data request failed. \tmp\upload_e03acaa_123937a7d7e__7fff_00000008.tmp (系统找不到指定的路径。)

这个需要配置上传部件的路径才行.

打开blojsom-plugins.xml文件,找到如下片段:

    <bean id="fileUploadProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="properties">
            <props>
                <prop key="temporary-directory">/tmp</prop>
                <prop key="maximum-upload-size">25000000</prop>
                <prop key="maximum-memory-size">50000</prop>
                <prop key="accepted-file-types">image/jpeg, image/gif, image/png, video/x-msvideo, video/x-ms-asf,
                    audio/x-mpegurl, audio/x-midi, video/quicktime, audio/mpeg, audio/x-mpeg, audio/wav, video/mpeg,
                    application/vnd.rn-realmedia</prop>
                <prop key="invalid-file-extensions">.jsp, .jspf, .jspi, .jspx, .php, .cgi</prop>
                <prop key="resources-directory">/resources/</prop>
            </props>
        </property>
    </bean>

将temporary-directory属性设置为Tomcat可读写的一个目录就可以了!

Posted by xiaojf at 11:48 下午 in 未分类

介绍一款开源的 Office软件-OpenOffice

OpenOffice开源,免费!功能和微软的Office基本一样。详情请访问其官方网站。

 

Posted by xiaojf at 11:22 下午 in 未分类

如何在Tomcat下使用数据源

  从Tomcat5.5开始,定义数据源变的简单了。Tomcat允许你在自己的WEB工程的META-INF/context.xml文件中来定义数据源,而不像原来在server.xml中定义而后在web.xml引用它。下面简单地描述这个过程。

1.安装JDBC驱动
拷贝JDBC驱动的jar文件到Tomcat的公共库目录下,Tomcat5.5为$TOMCAT$\common\lib目录,Tomcat6为$TOMCAT$\lib下,注意而不是自己WEB程序的WEB-INF\lib下。

2.创建 META-INF/context.xml

在web程序根目录创建META-INF目录,在其下再创建context.xml文件,大致内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<Context>

  <Resource name="jdbc/WallyDB" auth="Container"
            type="javax.sql.DataSource" username="wally" password="wally"
            driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
            url="jdbc:sqlserver://localhost;DatabaseName=mytest;SelectMethod=cursor;"
            maxActive="8"
            />
</Context>
这个例子使用的是SQL Server数据库,您修改相应属性例如资源名称、驱动类名、数据库帐号、数据库密码、数据库名称和驱动的URL来适合你的需要。

3.访问数据源,下面是一个servlet片段:

  InitialContext ic = new InitialContext();
  DataSource ds = ( DataSource ) ic.lookup( "java:comp/env/jdbc/WallyDB" ) ;
  Connection c = ds.getConnection();
  ...
  c.close();

注意当使用DataSource的lookup方法时,必须在资源名称前加前缀java:comp/env/ 。

相关文章,参看 《Tomcat5.5私有JNDI、数据源(链接池)的配置》 。

Posted by xiaojf at 8:57 下午 in 未分类

如何将JSP程序发布到JSP空间中

如果您已经有了一个JSP空间,那么一般对应这个JSP空间,会有FTP和数据库的帐号和密码等信息。

首先, 使用FTP把程序传到服务器上,这个要咨询一下JSP空间商的技术人员,看其目录结构有没有特别的说明。

其次,把本地数据库的数据导入到JSP空间对应的数据库中。

再次,配置程序的相关信息,例如程序中使用的数据库帐号和密码等信息。

如果没什么错误,就可以运行了。有错误也不要着急,慢慢调试。

Posted by xiaojf at 2:37 下午 in 未分类

星期一, 7 九月 2009

使用c3p0遇到的问题

数据库的帐号和密码等信息都配置正确,数据库使用JSP文件测试完全正常,c3p0初始化为何出现下面的错误?

2009-09-07 23:19:36,890 INFO  Initializing connection provider: org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider
2009-09-07 23:19:36,953 INFO  Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> 1pga81k8315d7a8iuhyqxr|d18d189, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> com.mysql.jdbc.Driver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1pga81k8315d7a8iuhyqxr|d18d189, idleConnectionTestPeriod -> 0, initialPoolSize -> 3, jdbcUrl -> jdbc:mysql://221.122.107.56:3306/jx00011?characterEncoding=utf-8, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 15, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 3, numHelperThreads -> 3, numThreadsAwaitingCheckoutDefaultUser -> 0, preferredTestQuery -> null, properties -> {c3p0.testConnectionOnCheckout=true, hc3p0.maxIdleTime=11, user=******, password=******, hc3p0.timeout=100000, c3p0.minPoolSize=10, c3p0.max_statement=50, hc3p0.maxPoolSize=12}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]
2009-09-07 23:20:06,218 WARN  com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@5c061cd2 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:  
java.sql.SQLException: Access denied for user 'jx00011'@'221.122.107.56' (using password: YES)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:885)
    at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3421)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1247)
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2775)
    at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
    at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection
    (DriverManagerDataSource.java:134)
    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection
    (WrapperConnectionPoolDataSource.java:182)
    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection
    (WrapperConnectionPoolDataSource.java:171)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource
    (C3P0PooledConnectionPool.java:137)
    at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
    at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
    at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
    at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
2009-09-07 23:20:06,218 WARN  com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@154e4e31 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:  
java.sql.SQLException: Access denied for user 'jx00011'@'221.122.107.56' (using password: YES)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:885)
    at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3421)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1247)
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2775)
    at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
    at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection
    (WrapperConnectionPoolDataSource.java:182)
    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection
    (WrapperConnectionPoolDataSource.java:171)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource
    (C3P0PooledConnectionPool.java:137)
    at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
    at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
    at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
    at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
2009-09-07 23:20:06,218 WARN  com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@47ef7de4 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:  
java.sql.SQLException: Access denied for user 'jx00011'@'221.122.107.56' (using password: YES)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:885)
    at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3421)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1247)
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2775)
    at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
    at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource
    (C3P0PooledConnectionPool.java:137)
    at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
    at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
    at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
    at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)

Posted by xiaojf at 11:37 下午 in 未分类

使用UNIX系统JSP空间应该注意的两点问题

1.文件路径格式的问题。

    Windows文件路径的格式类似 C:\AA\bb\c.txt 的形式,Windows有C、D、E等盘符的概念,而且不区分大小写。文件分割符是 \ 。

    UNIX文件的格式类似 /a/b/c.txt 的形式,"/"就是unix文件系统的根,无盘符概念,而且区分大小写。文件分割符是 / 。

编写程序时应该使用 java.io.File.separator 来获取文件分割符,来获得系统无关性。

2.MySQL数据库的问题。

    由于UNIX下文件名称区分大小写,因此MySQL数据库的库、表名称在UNIX系统下是区分大小写的,这个和Windows系统下的MySQL是不同的。

Posted by xiaojf at 10:53 下午 in 未分类

Microsoft SQL Server JDBC Driver 2.0的两个包

sqljdbc.jar 类库提供对 JDBC 3.0 的支持。需要JRE5.0(JDK1.5)。

sqljdbc4.jar 类库提供对 JDBC 4.0 的支持。需要JRE6.0(JDK1.6)。

用错版本,不保证能稳定运行,可能产生异常。

Posted by xiaojf at 9:16 下午 in 未分类

有关SQL Server的管理工具的问题

SQL Server 2000的企业管理器无法连接SQL Server 2005和2008。

SQL Server 2005的SQL Server Management Studio也无法连接SQL Server 2008。

一句话就是,这个管理工具向下兼容,不向上兼容。

Posted by xiaojf at 9:11 下午 in 未分类

介绍两款免费试用的JSP空间

    JSP程序做好之后,我们很想把其放在外网(Internet)服务器上看看效果,哪里可以提供测试呢?给大家介绍两个网站,供大家测试。使用一个有效邮件注册一个帐号,然后接收带有初始密码的邮件。登录,进入后台,就可以创建试用的JSP空间了。试用的JSP空间每天会被系统停机四次,时间为3、9、15、21点,停了之后自己可以随时再启动。除了这个限制之外,和正式JSP空间的功能上没任何区别,也没有框架的限制。开通之前,最好估算一下程序可能占用的内存,每种型号JSP空间的可用内存是不一样的,如果可用内存小于自己程序需要的内存会影响运行的速度。不多说了,这两个网站是:

    163JSP Windows系统 支持SQL Server 2008、ACCESS、MySQL数据库。

    ChinaJVM UNIX系统 支持MySQL数据库。

    以上两个网站,JSP空间管理系统很方便,JDK、Tomcat、数据库的版本都可以随时随意切换。

Posted by xiaojf at 4:09 下午 in 未分类

« First  « Prev   13 14 15 16 17   Next »  Last »