Skip to content

Commit f08e91c

Browse files
committed
Merge branch 'master' into cyclops-react
2 parents 7e1efd6 + a56c243 commit f08e91c

File tree

8 files changed

+79
-12
lines changed

8 files changed

+79
-12
lines changed

micro-hibernate/src/main/java/com/aol/micro/server/spring/datasource/hibernate/HibernateSessionBuilder.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,12 @@ public SessionFactory sessionFactory() {
4242

4343
if (env.getDdlAuto() != null)
4444
p.setProperty("hibernate.hbm2ddl.auto", env.getDdlAuto());
45-
45+
46+
if(env.getInitializationFile() != null) {
47+
p.setProperty("hibernate.hbm2ddl.import_files", env.getInitializationFile());
48+
49+
}
50+
4651
logger.info("Hibernate properties [ hibernate.dialect : {} ; hibernate.hbm2ddl.auto : {} ]", env.getDialect(), env.getDdlAuto());
4752

4853
sessionFactoryBean.setHibernateProperties(p);

micro-jdbc/src/main/java/com/aol/micro/server/spring/datasource/JdbcConfig.java

+7-4
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,13 @@ public class JdbcConfig {
2929
private final Properties properties;
3030
private final String name;
3131
private final String generateDdl;
32-
32+
private final String initializationFile;
33+
3334
public JdbcConfig(@Value("${db.connection.driver:}") String driverClassName, @Value("${db.connection.url:}") String url,
3435
@Value("${db.connection.username:}") String username, @Value("${db.connection.password:}") String password,
3536
@Value("${db.connection.hibernate.showsql:false}") String showSql, @Value("${db.connection.dialect:}") String dialect,
3637
@Value("${db.connection.ddl.auto:#{null}}") String ddlAuto) {
37-
this(driverClassName, url, username, password, showSql, dialect, ddlAuto, new Properties(), "db", "false");
38+
this(driverClassName, url, username, password, showSql, dialect, ddlAuto, new Properties(), "db", "false", null);
3839

3940
}
4041

@@ -43,7 +44,8 @@ public JdbcConfig(@Value("${db.connection.driver:}") String driverClassName, @Va
4344
@Value("${db.connection.username:}") String username, @Value("${db.connection.password:}") String password,
4445
@Value("${db.connection.hibernate.showsql:false}") String showSql, @Value("${db.connection.dialect:}") String dialect,
4546
@Value("${db.connection.ddl.auto:#{null}}") String ddlAuto, @Qualifier("propertyFactory") Properties properties,
46-
@Value("${internal.not.use.microserver:#{null}}") String name, @Value("${db.connection.generate.ddl:false}") String generateDdl) {
47+
@Value("${internal.not.use.microserver:#{null}}") String name, @Value("${db.connection.generate.ddl:false}") String generateDdl,
48+
@Value("${db.connection.ddl.init:#{null}}") String initializationFile) {
4749
this.properties = properties;
4850
this.name = UsefulStaticMethods.either(name, new ConfigAccessor().get().getDefaultDataSourceName());
4951
this.driverClassName = UsefulStaticMethods.either(driverClassName, extract("connection.driver"));
@@ -53,7 +55,8 @@ public JdbcConfig(@Value("${db.connection.driver:}") String driverClassName, @Va
5355
this.showSql = UsefulStaticMethods.either(showSql, extract("connection.showsql"));
5456
this.dialect = UsefulStaticMethods.either(dialect, extract("connection.dialect"));
5557
this.ddlAuto = UsefulStaticMethods.either(ddlAuto, extract("connection.ddl.auto"));
56-
this.generateDdl = UsefulStaticMethods.either(generateDdl, extract("connection.generate.ddl"));
58+
this.generateDdl = UsefulStaticMethods.either(generateDdl, extract("connection.generate.ddl"));
59+
this.initializationFile = initializationFile;
5760
}
5861

5962
private String extract(String suffix) {

micro-jdbc/src/test/java/com/aol/micro/server/JdbcConfigTest.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class JdbcConfigTest {
1919
@Before
2020
public void setUp() throws Exception {
2121
Config.instance();
22-
config = new JdbcConfig("driverClassName", "url", "username", "password", "showSql", "mysql", "none", new Properties(), null, "false");
22+
config = new JdbcConfig("driverClassName", "url", "username", "password", "showSql", "mysql", "none", new Properties(), null, "false", "test");
2323

2424
}
2525

@@ -33,5 +33,7 @@ public void test() {
3333
assertThat(config.getUsername(), is("username"));
3434
assertThat(config.getPassword(), is("password"));
3535
assertThat(config.getShowSql(), is("showSql"));
36+
assertThat(config.getInitializationFile(), is("test"));
37+
3638
}
3739
}

micro-s3/src/main/java/com/aol/micro/server/s3/S3Configuration.java

+10-4
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,24 @@
99
@Component
1010
@Getter
1111
public class S3Configuration {
12-
12+
1313
private final String accessKey;
1414
private final String secretKey;
1515
private final String sessionToken;
1616
private final String region;
17+
private final int uploadThreads;
18+
private final String uploadThreadNamePrefix;
1719

1820
@Autowired
19-
public S3Configuration(@Value("${s3.accessKey}") String accessKey, @Value("${s3.secretKey}") String secretKey,
20-
@Value("${s3.sessionToken:#{null}}") String sessionToken, @Value("${s3.region:#{null}}") String region) {
21+
public S3Configuration(@Value("${s3.accessKey}") String accessKey, @Value("${s3.secretKey}") String secretKey,
22+
@Value("${s3.sessionToken:#{null}}") String sessionToken, @Value("${s3.region:#{null}}") String region,
23+
@Value("${s3.upload.threads:5}") int uploadThreads,
24+
@Value("${s3.upload.thread.name.prefix:s3-transfer-manager-worker-}") String uploadThreadNamePrefix) {
2125
this.accessKey = accessKey;
2226
this.secretKey = secretKey;
2327
this.sessionToken = sessionToken;
2428
this.region = region;
25-
}
29+
this.uploadThreads = uploadThreads;
30+
this.uploadThreadNamePrefix = uploadThreadNamePrefix;
31+
}
2632
}

micro-s3/src/main/java/com/aol/micro/server/s3/S3Plugin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ public class S3Plugin implements Plugin{
77

88
@Override
99
public PSetX<Class> springClasses() {
10-
return PSetX.of(S3Configuration.class, S3ClientProvider.class);
10+
return PSetX.of(S3Configuration.class, S3ClientProvider.class, S3Utils.class, S3TransferManagerProvider.class);
1111
}
1212

1313
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package com.aol.micro.server.s3;
2+
3+
import java.util.concurrent.ExecutorService;
4+
import java.util.concurrent.Executors;
5+
import java.util.concurrent.ThreadFactory;
6+
7+
import org.springframework.beans.factory.annotation.Autowired;
8+
import org.springframework.context.annotation.Bean;
9+
import org.springframework.context.annotation.Configuration;
10+
11+
import com.amazonaws.services.s3.AmazonS3Client;
12+
import com.amazonaws.services.s3.transfer.TransferManager;
13+
14+
15+
@Configuration
16+
public class S3TransferManagerProvider {
17+
18+
@Autowired
19+
private S3Configuration s3Configuration;
20+
21+
@Autowired
22+
private AmazonS3Client amazonS3Client;
23+
24+
@Bean
25+
public TransferManager getTransferManager() {
26+
return new TransferManager(amazonS3Client, createExecutorService());
27+
}
28+
29+
private ExecutorService createExecutorService() {
30+
ThreadFactory threadFactory = new ThreadFactory() {
31+
private int threadCount = 1;
32+
33+
public Thread newThread(Runnable r) {
34+
Thread thread = new Thread(r);
35+
thread.setName(s3Configuration.getUploadThreadNamePrefix() + threadCount++);
36+
return thread;
37+
}
38+
};
39+
return Executors.newFixedThreadPool(s3Configuration.getUploadThreads(), threadFactory);
40+
}
41+
42+
}

micro-s3/src/test/java/com/aol/micro/server/s3/S3RunnerTest.java

+9
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import org.junit.Test;
99

1010
import com.amazonaws.services.s3.AmazonS3Client;
11+
import com.amazonaws.services.s3.transfer.TransferManager;
1112
import com.aol.micro.server.MicroserverApp;
1213
import com.aol.micro.server.config.Microserver;
1314

@@ -40,6 +41,14 @@ public void runAppAndBasicTest() {
4041
assertThat(s3Configuration.getSecretKey(), is(""));
4142
assertThat(s3Configuration.getSessionToken() == null, is(true));
4243
assertThat(s3Configuration.getRegion() == null, is(true));
44+
assertThat(s3Configuration.getUploadThreads(), is(5));
45+
assertThat(s3Configuration.getUploadThreadNamePrefix(), is("s3-transfer-manager-worker-"));
46+
47+
S3Utils s3Utils = server.getSpringContext().getBean(S3Utils.class);
48+
assertThat(s3Utils != null, is(true));
49+
50+
TransferManager tm = server.getSpringContext().getBean(TransferManager.class);
51+
assertThat(tm != null, is(true));
4352

4453
}
4554

readme.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Add plugins by adding them to your build file - rerun the app to get new end poi
4444
[Tutoiral code](https://github.com/aol/micro-server/tree/master/micro-tutorial)
4545

4646
## Note on Fat Jars
47-
Microserver (& Cyclops) have a plugin architecture and make use of the Java Service Laoder mechanism. Make sure your Far Jar implementation is configured to aggreagate services. With the Gradle Shadow Jar you do this with
47+
Microserver (& Cyclops) have a plugin architecture and make use of the Java Service Laoder mechanism. Make sure your Fat Jar implementation is configured to aggreagate services. With the Gradle Shadow Jar you do this with
4848
```groovy
4949
shadowJar {
5050
mergeServiceFiles()

0 commit comments

Comments
 (0)