Skip to content

Commit

Permalink
Merge pull request #34 from didclab/jg/hazelcast_eureka_discovery
Browse files Browse the repository at this point in the history
Scheduler Pom upgrade for: Hazelcast, spring boot parent
  • Loading branch information
jgoldverg authored Aug 28, 2024
2 parents fa2bd92 + 02f7f05 commit f5e4346
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 15 deletions.
10 changes: 5 additions & 5 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.1.4</version>
<version>3.3.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.onedatashare</groupId>
Expand All @@ -16,7 +16,7 @@

<properties>
<java.version>21</java.version>
<spring-cloud.version>2022.0.3</spring-cloud.version>
<spring-cloud.version>2023.0.3</spring-cloud.version>
</properties>

<dependencies>
Expand Down Expand Up @@ -45,12 +45,12 @@
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast-spring</artifactId>
<version>5.3.2</version>
<version>5.5.0</version>
</dependency>
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast-aws</artifactId>
<version>3.4</version>
<artifactId>hazelcast-eureka-two</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
Expand Down
30 changes: 20 additions & 10 deletions src/main/java/com/onedatashare/scheduler/config/CacheConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,33 @@

import com.hazelcast.config.Config;
import com.hazelcast.core.HazelcastInstance;
import com.hazelcast.eureka.one.EurekaOneDiscoveryStrategyFactory;
import com.hazelcast.instance.impl.HazelcastInstanceFactory;
import org.springframework.beans.factory.annotation.Value;
import com.netflix.discovery.EurekaClient;
import com.netflix.discovery.shared.transport.jersey.TransportClientFactories;
import com.netflix.discovery.shared.transport.jersey3.Jersey3TransportClientFactories;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;

@Configuration
public class CacheConfig {

@Value("${eureka.client.serviceUrl.defaultZone}")
String eurekaUrl;

@Value("${spring.application.name}")
String springName;

@Bean(name = "hazelcastConfig")
@Profile("prod")
public Config prodHazelcastConfig() {
public Config prodHazelcastConfig(EurekaClient eurekaClient) {
Config config = new Config();
config.getNetworkConfig().getJoin().getAwsConfig().setEnabled(true)
.setProperty("security-group-name", "Transfer Scheduler")
.setProperty("use-public-ip", "true");
config.setClusterName("Transfer-Scheduler-Cluster");
config.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(false);
EurekaOneDiscoveryStrategyFactory.setEurekaClient(eurekaClient);
config.getNetworkConfig().getJoin().getEurekaConfig().setEnabled(true)
.setProperty("namespace", "hazelcast")
.setProperty("use-classpath-eureka-client-props", "false")
.setProperty("shouldUseDns", "false")
.setProperty("self-registration", "true")
.setProperty("use-metadata-for-host-and-port", "true");

return config;
}

Expand All @@ -42,4 +47,9 @@ public HazelcastInstance hazelcastInstance(Config hazelcastConfig) {
return HazelcastInstanceFactory.newHazelcastInstance(hazelcastConfig);
}

@Bean
public TransportClientFactories transportClientFactories() {
return Jersey3TransportClientFactories.getInstance();
}

}

0 comments on commit f5e4346

Please sign in to comment.