我在centos上安装了tomcat并部署了一个java web应用程序。我正在使用mysql db。每天早上,当我尝试以第一个用户身份登录时,它会向我发出以下错误:
您的登录尝试失败,请重试。 原因:org.hibernate.exception.JDBCConnectionException:从服务器成功收到的最后一个数据包是66,913,221毫秒之前。成功发送到服务器的最后一个数据包是66,913,221毫秒。比服务器配置的'wait_timeout'值长。您应该考虑在应用程序中使用之前过期和/或测试连接有效性,增加服务器配置的客户端超时值,或使用Connector / J连接属性“autoReconnect = true”来避免此问题。
在此之后,当我尝试重新登录时,它允许我这样做。
我在context.xml中包含以下内容
<Resource name="jdbc/CAR" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="30000"
username="root" password="" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://130.1.18.2:3306/car" validationQuery="SELECT 1" testOnBorrow = true/>
对此有任何帮助,我将不胜感激。感谢
答案 0 :(得分:2)
尝试将 autoReconnect = true 参数添加到jdbc字符串,以便在不接收数据包时使其保持活动状态。在你的情况下,它将是
jdbc:mysql://130.1.18.2:3306/car?autoReconnect=true
答案 1 :(得分:1)
或者如果可以,您可以更改为其他数据库池。我之前遇到同样的问题,而且autoReconnect对我不起作用。现在我正在使用HikariCP。这个问题消失了。
答案 2 :(得分:0)
add_action( 'init', 'create_custom_taxonomies', 0 );
function create_custom_taxonomies() {
$labels = array(
'name' => _x( 'Brands', 'taxonomy general name' ),
'singular_name' => _x( 'Brand', 'taxonomy singular name' ),
'search_items' => __( 'Search Brands' ),
'all_items' => __( 'All Brands' ),
'parent_item' => __( 'Parent Brand' ),
'parent_item_colon' => __( 'Parent Brand:' ),
'edit_item' => __( 'Edit Brand' ),
'update_item' => __( 'Update Brand' ),
'add_new_item' => __( 'Add New Brand' ),
'new_item_name' => __( 'New Brand Name' ),
'menu_name' => __( 'Brand' ),
);
$args = array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'brand' ),
);
register_taxonomy( 'brand', 'products' , $args );
}
//creating a custom post type that is using 'brand' taxonomy
function create_post_type() {
register_post_type( 'products',
array(
'labels' => array(
'name' => __( 'Products' ),
'singular_name' => __( 'Product' ),
'add_new' => _x('Add New', 'products'),
'add_new_item' => __('Add New Product'),
'edit_item' => __('Edyt Product'),
'new_item' => __('New Product'),
'view_item' => __('View Product'),
'search_items' => __('Search Product'),
'not_found' => __('Nothing found'),
),
'taxonomies' => array('brand'),
'supports' => array('title', 'editor', 'thumbnail'),
'public' => true,
'has_archive' => true,
'show_ui' => true,
)
);
}
add_action( 'init', 'create_post_type' );
根据我的知识不起作用, array (size=5)
'category' => string 'category' (length=8)
'post_tag' => string 'post_tag' (length=8)
'nav_menu' => string 'nav_menu' (length=8)
'link_category' => string 'link_category' (length=13)
'post_format' => string 'post_format' (length=11)
有自己的连接关闭超时。如果autoReconnect=true
关闭连接,Mysql
会将其标记为ORM
。