1.因为创建数据库连接池导致的wls启动缓慢
原因:
wls在启动的时候,会创建连接池和建立JDBC连接,因此如果建立JDBC连接花费太多的时间的话,就会导致wls的启动缓慢。
解决办法:
减少InitialCapacity的值,能减少创建的连接数,初始化连接池的时间就减少了,就能提高wls的启动时间。使用CapacityIncrement值以确保单个请求可以出发多个连接的创建。
或者将InitialCapacity的值设为0,将CapacityIncrement设置为MaxCapacity,这样会在第一个连接请求的时候创建所需的所有连接,因此会导致第一个连接请求会花费大量的时间,好处是在这之后,整个连接池就能正常工作了。
2.连接池创建失败
原因:
wls在启动的时候,会创建一定数量的数据库的物理连接,InitialCapacity参数就是创建的连接数。如果JDBC的连接配置不正确或是数据库不可用,数据库的物理连接就不能创建成功,因此就回导致连接池创建失败。
解决办法:
在8.1之前的版本,需要将InitialCapacity的值设为0,意思是在启动时不创建连接,等到有请求时,再根据CapacityIncrement参数来创建指定的连接数,如果数据库不可用将会报错。
从8.1版本开始,会默认创建一个0初始连接的连接池,然后等到连接池配置正确或是数据库可用后再创建连接。数据库连接池中的参数Connection Creation Retry Frequency的值表示重新创建数据库连接的间隔时间,0表示不重连数据库。