Cassandra datasource is used to set up a connection to a Cassandra storage. In WSO2 BAM 2.5.0, you can create a Cassandra data source through the UI as a custom data source. You can create a Cassandra datasource as a custom data source using the BAM management console as follows.
- Log in to BAM management console.
- Click Datasources in the Configure menu, and then c lick Add Datasource.
- Select Custom as the Data Source Type.
- Enter CASSANDRA as Custom Data Source Type, and enter a unique name for Name.
Enter the below Cassandra data source configuration for Configuration.
<configuration> <hosts>localhost</hosts> <port>9160</port> <username>admin</username> <password>admin</password> <keySpace>EVENT_INDEX_KS</keySpace> <externalCassandra>false</externalCassandra> <replicationFactor>1</replicationFactor> <strategyClass>org.apache.cassandra.locator.SimpleStrategy</strategyClass> <readConsistencyLevel>QUORUM</readConsistencyLevel> <writeConsistencyLevel>QUORUM</writeConsistencyLevel> <gcGraceInterval>864000</gcGraceInterval> </configuration>
Descriptions of the parameters in the above configurations are as follows.
Parameter | Description |
---|---|
hosts | The host IP addresses of Cassandra nodes in the clustered mode. Values should be given as comma separated values. For example: <hosts>node1 IP,node2 IP,node3 IP</hosts> |
port | Port of the Cassandra instance. In clustered mode, all ports are required to have the same value. For example: |
username | Username of the user account, which is used to log in to the Cassandra instance. |
password | Password of the user account, which is used to log in to the Cassandra instance. |
keySpace | Key space name for Cassandra. The default value is |
externalCassandra | By default, this is set as false in all Cassandra datasources, to point to the Cassandra instance that is shipped with WSO2 BAM. If there is a port offset applied, Cassandra URL of the respective Cassandra data source will be updated accordingly. When Cassandra datasource is located in an external Cassandra cluster, set this to true. This will prevent WSO2 BAM from automatically incrementing the port offset (to prevent modifying the Cassandra URL), once a port offset has been introduced to the system. |
replicationFactor | The total number of replicas across the cluster. Default value is 1. |
strategyClass | Sets the distribution of the replicas across the nodes in the cluster depending on the cluster's topology. Default value is org.apache.cassandra.locator.SimpleStrategy . For more information on this parameter, go to Apache Cassandra 1.0 Documentation. |
readConsistencyLevel | Number of replicas, on which the write must succeed before returning an acknowledgement to the client application. Default value is QUORUM. For more information on this parameter, go to Apache Cassandra 1.0 Documentation. |
writeConsistencyLevel | Number of replicas, which must respond before a result is returned to the client application. Default value is QUORUM. For more information on this parameter, go to Apache Cassandra 1.0 Documentation. |
gcGraceInterval | Time to wait before garbage collecting tombstones. In Cassandra, the delete operation doesn't just wipe out all traces of the data being removed immediately. Instead of wiping out data on delete, Cassandra replaces it with a special value called a tombstone. Default values is 864000 seconds. (10 days). For more information on this parameter, go to Cassandra Wiki. |