I'm using Spring data R2DBC and I can connect in localhost my project with my database using this code:
public class R2dbcConfig extends AbstractR2dbcConfiguration {
private final ApplicationDatabaseProperties applicationDatabaseProperties;
@Bean
@Override
public ConnectionFactory connectionFactory() {
return new MssqlConnectionFactory(
MssqlConnectionConfiguration.builder()
.host(applicationDatabaseProperties.getHost())
.port(applicationDatabaseProperties.getPort())
.username(applicationDatabaseProperties.getUsername())
.password(applicationDatabaseProperties.getPassword())
.database(applicationDatabaseProperties.getDatabase())
.build());
}
@Bean
public DatabaseClient databaseClient(ConnectionFactory connectionFactory) {
return DatabaseClient.create(connectionFactory);
}
}
Obvioulsy a applicationDatabaseProperties has parameters of database's connection, but in other enviroment I have a connection string like this:
jdbc:sqlserver://[myhost]:1433;database=[mydatabase];user=[myUser];password={your_password_here};encrypt=true;trustServerCertificate=false;hostNameInCertificate=[myhostNameInCertificate];loginTimeout=30;
I've used MssqlConnectionFactory (mssql) and I could view host, port, database, user and password but I couldn't set encrypt parameter in true, is there a way to set this parameter using that class (MssqlConnectionFactory and MssqlConnectionConfiguration).
Thanks for your answers.