<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Rules on ShardingSphere</title>
    <link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/</link>
    <description>Recent content in Rules on ShardingSphere</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    
	<atom:link href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Sharding</title>
      <link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sharding/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sharding/</guid>
      <description>Background The Java API rule configuration for data sharding, which allows users to create ShardingSphereDataSource objects directly by writing Java code, is flexible enough to integrate various types of business systems without relying on additional jar packages.
Parameters Root Configuration Class name: org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration
Attributes:
   Name DataType Description Default Value     tables (+) Collection&amp;lt;ShardingTableRuleConfiguration&amp;gt; Sharding table rules -   autoTables (+) Collection&amp;lt;ShardingAutoTableRuleConfiguration&amp;gt; Sharding auto table rules -   bindingTableGroups (*) Collection&amp;lt;String&amp;gt; Binding table rules Empty   broadcastTables (*) Collection&amp;lt;String&amp;gt; Broadcast table rules Empty   defaultDatabaseShardingStrategy (?</description>
    </item>
    
    <item>
      <title>Readwrite-splitting</title>
      <link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting/</guid>
      <description>Background The read/write splitting configured in Java API form can be easily applied to various scenarios without relying on additional jar packages. Users only need to construct the read/write splitting data source through java code to be able to use the read/write splitting function.
Parameters Explained Entry Class name: org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration
Configurable Properties:
   Name DataType Description     dataSources (+) Collection&amp;lt;ReadwriteSplittingDataSourceRuleConfiguration&amp;gt; Data sources of write and reads   loadBalancers (*) Map&amp;lt;String, AlgorithmConfiguration&amp;gt; Load balance algorithm name and configurations of replica data sources    Primary-secondary Data Source Configuration Class name: org.</description>
    </item>
    
    <item>
      <title>Distributed Transaction</title>
      <link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/transaction/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/transaction/</guid>
      <description>Root Configuration org.apache.shardingsphere.transaction.config.TransactionRuleConfiguration
Attributes:
   name DataType Description     defaultType String Default transaction type   providerType (?) String Transaction provider type   props (?) Properties Transaction properties    </description>
    </item>
    
    <item>
      <title>HA</title>
      <link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/ha/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/ha/</guid>
      <description>Background Build high availability rule configuration through Java API.
Parameters Root Configuration Class name: org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleConfiguration Attributes:
   Name Data Type Description     dataSources (+) Collection&amp;lt;DatabaseDiscoveryDataSourceRuleConfiguration&amp;gt; Data source configuration   discoveryHeartbeats (+) Map&amp;lt;String, DatabaseDiscoveryHeartBeatConfiguration&amp;gt; Detect heartbeat configuration   discoveryTypes (+) Map&amp;lt;String, AlgorithmConfiguration&amp;gt; Database discovery type configuration    Data Source Configuration Class name: org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration
Attributes:
   Name Data Type Description     groupName (+) String Database discovery group name   dataSourceNames (+) Collection&amp;lt;String&amp;gt; Data source names, multiple data source names separated with comma.</description>
    </item>
    
    <item>
      <title>Encryption</title>
      <link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/encrypt/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/encrypt/</guid>
      <description>Background The data encryption Java API rule configuration allows users to directly create ShardingSphereDataSource objects by writing java code. The Java API configuration method is very flexible and can integrate various types of business systems without relying on additional jar packages.
Parameters Root Configuration Class name: org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration
Attributes:
   Name DataType Description Default Value     tables (+) Collection&amp;lt;EncryptTableRuleConfiguration&amp;gt; Encrypt table rule configurations    encryptors (+) Map&amp;lt;String, AlgorithmConfiguration&amp;gt; Encrypt algorithm name and configurations    queryWithCipherColumn (?</description>
    </item>
    
    <item>
      <title>Shadow DB</title>
      <link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/shadow/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/shadow/</guid>
      <description>Background In the distributed application architecture based on microservices, businesses require multiple services to be completed through a series of services and middleware, so the stress test of a single service can no longer meet the needs of real scenarios. If we reconstruct a stress test environment similar to the production environment, it is too expensive and often fails to simulate the complexity and traffic of the online environment. For this reason, the industry often chooses the full link stress test, which is performed in the production environment, so that the test results can accurately reflect the true capacity and performance of the system.</description>
    </item>
    
    <item>
      <title>SQL Parser</title>
      <link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-parser/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-parser/</guid>
      <description>Background SQL is the standard language for users to communicate with databases. The SQL parsing engine is responsible for parsing the SQL string into an abstract syntax tree for Apache ShardingSphere to understand and implement its incremental function. Currently, MySQL, PostgreSQL, SQLServer, Oracle, openGauss and SQL dialects conforming to SQL92 specifications are supported. Due to the complexity of SQL syntax, there are still a few unsupported SQLs. By using SQL parsing in the form of Java API, you can easily integrate into various systems and flexibly customize user requirements.</description>
    </item>
    
    <item>
      <title>SQL Translator</title>
      <link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-translator/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-translator/</guid>
      <description>Root Configuration Class: org.apache.shardingsphere.sqltranslator.api.config.SQLTranslatorRuleConfiguration
Attributes:
   name DataType Description     type String SQL translator type   useOriginalSQLWhenTranslatingFailed (?) boolean Whether use original SQL when translating failed    </description>
    </item>
    
    <item>
      <title>Mixed Rules</title>
      <link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/mix/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/mix/</guid>
      <description>Configuration Item Explanation /* Data source configuration */ HikariDataSource writeDataSource0 = new HikariDataSource(); writeDataSource0.setDriverClassName(&amp;#34;com.mysql.jdbc.Driver&amp;#34;); writeDataSource0.setJdbcUrl(&amp;#34;jdbc:mysql://localhost:3306/db0?serverTimezone=UTC&amp;amp;useSSL=false&amp;amp;useUnicode=true&amp;amp;characterEncoding=UTF-8&amp;#34;); writeDataSource0.setUsername(&amp;#34;root&amp;#34;); writeDataSource0.setPassword(&amp;#34;&amp;#34;); HikariDataSource writeDataSource1 = new HikariDataSource(); // ...Omit specific configuration.  HikariDataSource read0OfwriteDataSource0 = new HikariDataSource(); // ...Omit specific configuration.  HikariDataSource read1OfwriteDataSource0 = new HikariDataSource(); // ...Omit specific configuration.  HikariDataSource read0OfwriteDataSource1 = new HikariDataSource(); // ...Omit specific configuration.  HikariDataSource read1OfwriteDataSource1 = new HikariDataSource(); // ...Omit specific configuration.  Map&amp;lt;String, DataSource&amp;gt; datasourceMaps = new HashMap&amp;lt;&amp;gt;(6); datasourceMaps.</description>
    </item>
    
  </channel>
</rss>