package com.hazelcast.pcf.integration; import com.hazelcast.client.HazelcastClient; import com.hazelcast.client.config.ClientConfig; import com.hazelcast.client.config.ClientNetworkConfig; import com.hazelcast.config.GroupConfig; import com.hazelcast.core.HazelcastInstance; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.json.BasicJsonParser; import org.springframework.context.annotation.Bean; import java.util.List; import java.util.Map; @SpringBootApplication public class Application { private static ClientConfig clientConfig; @Bean public HazelcastInstance hazelcastClient() { return HazelcastClient.newHazelcastClient(clientConfig); } public static void main(String[] args) { String servicesJson = System.getenv("VCAP_SERVICES"); if (servicesJson == null || servicesJson.isEmpty()) { System.err.println("No service found!!!"); return; } BasicJsonParser parser = new BasicJsonParser(); Map<String, Object> json = parser.parseMap(servicesJson); List hazelcast = (List) json.get("hazelcast"); Map map = (Map) hazelcast.get(0); Map credentials = (Map) map.get("credentials"); String groupName = (String) credentials.get("group_name"); String groupPassword = (String) credentials.get("group_pass"); List<String> members = (List<String>) credentials.get("members"); clientConfig = new ClientConfig(); GroupConfig groupConfig = clientConfig.getGroupConfig(); groupConfig.setName(groupName).setPassword(groupPassword); ClientNetworkConfig networkConfig = clientConfig.getNetworkConfig(); for (String member : members) { networkConfig.addAddress(member.replace('"', ' ').trim()); } SpringApplication.run(Application.class, args); } }