Skip to content

Instantly share code, notes, and snippets.

View sophea's full-sized avatar
💭
https://medium.com/@sopheamak

sophea sophea

💭
https://medium.com/@sopheamak
View GitHub Profile
package com.sma.rabbitmq.service;
import com.sma.rabbitmq.model.Category;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
/**
* Author: Mak Sophea
* Date: 07/31/2020
@sophea
sophea / RabbitMQDirectConfigExchangeType.java
Created July 31, 2020 14:33
RabbitMQDirectConfigExchangeType.java
package com.sma.rabbitmq.config;
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.DirectExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
@sophea
sophea / DownloadEmailWithAttachment
Created February 4, 2020 01:25
Download EmailWithAttachment java
package com.sma.backend.service;
/**
* @author Mak Sophea
* @date : 1/21/2020
**/
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
@sophea
sophea / TransactionManagerConfig
Created February 3, 2020 08:53
multi chained Transactions Manager
/**
* @author Mak Sophea
* @date : 1/15/2020
**/
@Configuration
public class TransactionManagerConfig {
@Bean(name = "chainedTransactionManager")
public ChainedTransactionManager transactionManager (
@Qualifier("sqlServerTransactionManager") PlatformTransactionManager sqlTransactionManager,
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(entityManagerFactoryRef = "sqlServerEntityManagerFactory", transactionManagerRef = "sqlServerTransactionManager", basePackages = "com.sma.aml.repository")
public class SqlServerDatabaseConfiguration {
@Bean
@ConfigurationProperties(prefix = "sqlServer.datasource")
public DataSourceProperties sqlServerDataSourceProperties() {
return new DataSourceProperties();
}
@sophea
sophea / OracleDatabaseConfiguration
Last active February 3, 2020 09:41
OracleDatabaseConfiguration
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(entityManagerFactoryRef = "oracleEntityManagerFactory", transactionManagerRef = "oracleTransactionManager", basePackages = { "com.sma.oracle.repository" })
public class OracleDatabaseConfiguration {
@Primary
@Bean
@ConfigurationProperties(prefix = "oracle.datasource")
public DataSourceProperties oracleDataSourceProperties(@Qualifier("oracleDataSourceProperties() {
return new DataSourceProperties();
}
@sophea
sophea / EncrypterHelper.java
Last active October 8, 2024 18:56
Encrypt and Decrypt code
package com.sma.security.utils;
import lombok.extern.slf4j.Slf4j;
import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec;
import java.security.InvalidAlgorithmParameterException;
@sophea
sophea / TestController.java
Created January 24, 2020 16:31
Test Controller
package com.sma.backend.multidb.controller;
import com.sma.backend.multidb.database.mysql.domain.CategoryEntity;
import com.sma.backend.multidb.database.mysql.repository.CategoryRepository;
import com.sma.backend.multidb.database.sqlserver.domain.CountryEntity;
import com.sma.backend.multidb.database.sqlserver.repository.CountryRepository;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestBody;
@sophea
sophea / MySqlDatabaseConfiguration
Last active January 24, 2020 16:30
MySql Database Configuration as primary database
package com.sma.backend.multidb.config;
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(entityManagerFactoryRef = "mysqlEntityManagerFactory", transactionManagerRef = "mysqlTransactionManager", basePackages = {"com.sma.backend.multidb.database.mysql.repository"})
public class MySqlConfig {
@Primary
@Bean
@sophea
sophea / SQLServerConfig.java
Last active January 24, 2020 16:29
SQLServer Config datasource
package com.sma.backend.multidb.config;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.orm.jpa.JpaTransactionManager;