0

Spring Boot: 1.3.2.RELEASE Vaadin: 7.6.3 Mysql: mysql-java-connector-5.1.38 HikariCP: 2.4.3

そのため、 id列とname列のみでテーブルを作成します。次に、テーブルの内容を表示する vaadin コンポーネント テーブル。今まではすべて順調です。次に、vaadin Filter でテーブルをフィルタリングしようとしましたが、接続プールがcom.vaadin.data.util.sqlcontainer.connection.SimpleJDBCConnectionPoolの場合は機能し、 com.vaadin.data.util.sqlcontainer.connectionの場合は機能しませんHikariCPをデータ ソースとして使用する .J2EEConnectionPool 。

DBConfig.java

@Configuration
@EnableTransactionManagement
public class DatabaseConfig {

@Bean
public HikariConfig hikariConfig() {
    HikariConfig config = new HikariConfig();
    config.setDriverClassName("com.mysql.jdbc.Driver");
    config.setJdbcUrl("jdbc:mysql://localhost:3306/test?autoReconnect=true&useSSL=false");
    config.setUsername("root");
    config.setPassword("root");
    config.setMaximumPoolSize(20);
    config.setPoolName("connectionPool");
    return config;
}

@Bean
public DataSource dataSource() {
    HikariDataSource dataSource = new HikariDataSource(hikariConfig());
    return dataSource;
}

ApplicationUI.java

@Autowired
private J2EEConnectionPool connectionPool;

@Override
protected void init(VaadinRequest arg0) {
    TableQuery tq = new TableQuery("medecine", connectionPool);// it does not work if I use HikariCP as the J2EEConnectionPool

JDBCConnectionPool pool = new SimpleJDBCConnectionPool("com.mysql.jdbc.Driver",
                "jdbc:mysql://localhost:3306/test?autoReconnect=true&useSSL=false", "root", "root");
TableQuery tq = new TableQuery("medecine", connectionPool);// it works if I use **SimpleJDBCConnectionPool**.

    container = new SQLContainer(tq);
    table = new Table();
    table.setContainerDataSource(container);
    table.setWidth(100, Unit.PERCENTAGE);
    mainLayout.addComponent(table);

Button addFilter = new Button("filter", new ClickListener() {

        private static final long serialVersionUID = -7071683058766115266L;

        @Override
        public void buttonClick(ClickEvent arg0) {
            Filter filter = new SimpleStringFilter("name", "medecine2", true, false);
            container.addContainerFilter(filter);
        }
    });
mainLayout.addComponent(addFilter);
}

データ ソースとして HikariCP を選択した理由は、パフォーマンスを向上させるためであり、vaadin 接続プールが HikariCP よりも優れているかどうかはわかりません。それとも、フィルタリング機能はvaadin接続プールに限定されるのでしょうか?

4

0 に答える 0