private String getTableNameForGUID(String guid) { return dbConf.getPageStoreTableName() + guid.replace("-", ""); }
@Override public String toString() { StringBuilder sb = new StringBuilder("Broker Configuration ("); sb.append("clustered=").append(isClustered()).append(","); if (isJDBC()) { DatabaseStorageConfiguration dsc = (DatabaseStorageConfiguration) getStoreConfiguration(); sb.append("jdbcDriverClassName=").append(dsc.getJdbcDriverClassName()).append(","); sb.append("jdbcConnectionUrl=").append(dsc.getJdbcConnectionUrl()).append(","); sb.append("messageTableName=").append(dsc.getMessageTableName()).append(","); sb.append("bindingsTableName=").append(dsc.getBindingsTableName()).append(","); sb.append("largeMessageTableName=").append(dsc.getLargeMessageTableName()).append(","); sb.append("pageStoreTableName=").append(dsc.getPageStoreTableName()).append(","); } else { sb.append("journalDirectory=").append(journalDirectory).append(","); sb.append("bindingsDirectory=").append(bindingsDirectory).append(","); sb.append("largeMessagesDirectory=").append(largeMessagesDirectory).append(","); sb.append("pagingDirectory=").append(pagingDirectory); } sb.append(")"); return sb.toString(); }
private void parseDBConfig() throws Exception { if (jdbc == null) { FileConfiguration fileConfiguration = getFileConfiguration(); jdbc = fileConfiguration.isJDBC(); if (jdbc) { DatabaseStorageConfiguration storageConfiguration = (DatabaseStorageConfiguration) fileConfiguration.getStoreConfiguration(); jdbcBindings = storageConfiguration.getBindingsTableName(); jdbcMessages = storageConfiguration.getMessageTableName(); jdbcLargeMessages = storageConfiguration.getLargeMessageTableName(); jdbcPageStore = storageConfiguration.getPageStoreTableName(); jdbcNodeManager = storageConfiguration.getNodeManagerStoreTableName(); jdbcURL = storageConfiguration.getJdbcConnectionUrl(); jdbcClassName = storageConfiguration.getJdbcDriverClassName(); } } }
private void parseDBConfig() throws Exception { if (jdbc == null) { FileConfiguration fileConfiguration = getFileConfiguration(); jdbc = fileConfiguration.isJDBC(); if (jdbc) { DatabaseStorageConfiguration storageConfiguration = (DatabaseStorageConfiguration) fileConfiguration.getStoreConfiguration(); jdbcBindings = storageConfiguration.getBindingsTableName(); jdbcMessages = storageConfiguration.getMessageTableName(); jdbcLargeMessages = storageConfiguration.getLargeMessageTableName(); jdbcPageStore = storageConfiguration.getPageStoreTableName(); jdbcNodeManager = storageConfiguration.getNodeManagerStoreTableName(); jdbcURL = storageConfiguration.getJdbcConnectionUrl(); jdbcClassName = storageConfiguration.getJdbcDriverClassName(); } } }
public synchronized void start() throws Exception { if (!started) { //fix to prevent page table names to be longer than 30 chars (upper limit for Oracle12c identifiers length) final String pageStoreTableNamePrefix = dbConf.getPageStoreTableName(); if (pageStoreTableNamePrefix.length() > 10) { throw new IllegalStateException("The maximum name size for the page store table prefix is 10 characters: THE PAGING STORE CAN'T START"); } if (dbConf.getDataSource() != null) { SQLProvider.Factory sqlProviderFactory = dbConf.getSqlProviderFactory(); if (sqlProviderFactory == null) { sqlProviderFactory = new PropertySQLProvider.Factory(dbConf.getDataSource()); } pagingFactoryFileFactory = new JDBCSequentialFileFactory(dbConf.getDataSource(), sqlProviderFactory.create(pageStoreTableNamePrefix, SQLProvider.DatabaseStoreType.PAGE), executorFactory.getExecutor(), criticalErrorListener); } else { String driverClassName = dbConf.getJdbcDriverClassName(); pagingFactoryFileFactory = new JDBCSequentialFileFactory(dbConf.getJdbcConnectionUrl(), driverClassName, JDBCUtils.getSQLProvider(driverClassName, pageStoreTableNamePrefix, SQLProvider.DatabaseStoreType.PAGE), executorFactory.getExecutor(), criticalErrorListener); } final int jdbcNetworkTimeout = dbConf.getJdbcNetworkTimeout(); if (jdbcNetworkTimeout >= 0) { pagingFactoryFileFactory.setNetworkTimeout(this.executorFactory.getExecutor(), jdbcNetworkTimeout); } pagingFactoryFileFactory.start(); started = true; } } // Public --------------------------------------------------------
private DatabaseStorageConfiguration createDatabaseStoreConfig(Element storeNode) { DatabaseStorageConfiguration conf = new DatabaseStorageConfiguration(); conf.setBindingsTableName(getString(storeNode, "bindings-table-name", conf.getBindingsTableName(), Validators.NO_CHECK)); conf.setMessageTableName(getString(storeNode, "message-table-name", conf.getMessageTableName(), Validators.NO_CHECK)); conf.setLargeMessageTableName(getString(storeNode, "large-message-table-name", conf.getJdbcConnectionUrl(), Validators.NO_CHECK)); conf.setPageStoreTableName(getString(storeNode, "page-store-table-name", conf.getPageStoreTableName(), Validators.NO_CHECK)); conf.setNodeManagerStoreTableName(getString(storeNode, "node-manager-store-table-name", conf.getNodeManagerStoreTableName(), Validators.NO_CHECK)); conf.setJdbcConnectionUrl(getString(storeNode, "jdbc-connection-url", conf.getJdbcConnectionUrl(), Validators.NO_CHECK)); conf.setJdbcDriverClassName(getString(storeNode, "jdbc-driver-class-name", conf.getJdbcDriverClassName(), Validators.NO_CHECK)); conf.setJdbcNetworkTimeout(getInteger(storeNode, "jdbc-network-timeout", conf.getJdbcNetworkTimeout(), Validators.NO_CHECK)); conf.setJdbcLockRenewPeriodMillis(getLong(storeNode, "jdbc-lock-renew-period", conf.getJdbcLockRenewPeriodMillis(), Validators.NO_CHECK)); conf.setJdbcLockExpirationMillis(getLong(storeNode, "jdbc-lock-expiration", conf.getJdbcLockExpirationMillis(), Validators.NO_CHECK)); conf.setJdbcJournalSyncPeriodMillis(getLong(storeNode, "jdbc-journal-sync-period", conf.getJdbcJournalSyncPeriodMillis(), Validators.NO_CHECK)); return conf; }