From 07fb3f471b84951a180bdd97d8ae0be69bf995ca Mon Sep 17 00:00:00 2001 From: melofred Date: Sat, 5 Apr 2014 09:17:19 -0700 Subject: [PATCH 01/11] updating to use phd --- manifest.yml | 2 +- pom.xml | 18 +++++++ .../example/xd/BootstrapDataPopulator.java | 47 ++++++++++++++++--- .../webapp/WEB-INF/spring/servlet-context.xml | 17 +++++++ 4 files changed, 77 insertions(+), 7 deletions(-) diff --git a/manifest.yml b/manifest.yml index 048cdfd..7b5a7bf 100644 --- a/manifest.yml +++ b/manifest.yml @@ -2,7 +2,7 @@ applications: - name: pcfdemo memory: 512M - instances: 1 + instances: 3 host: pcfdemo path: ./target/pcfdemo.war services: diff --git a/pom.xml b/pom.xml index 57b1811..b9cb7ec 100644 --- a/pom.xml +++ b/pom.xml @@ -56,6 +56,24 @@ ${org.springframework-version} + + + commons-dbcp + commons-dbcp + 1.4 + + + org.springframework + spring-jdbc + ${org.springframework-version} + + + org.postgresql + postgresql + 9.3-1100-jdbc3 + + + org.springframework.cloud spring-service-connector diff --git a/src/main/java/com/pivotal/example/xd/BootstrapDataPopulator.java b/src/main/java/com/pivotal/example/xd/BootstrapDataPopulator.java index 4dc7c71..1498a80 100644 --- a/src/main/java/com/pivotal/example/xd/BootstrapDataPopulator.java +++ b/src/main/java/com/pivotal/example/xd/BootstrapDataPopulator.java @@ -1,25 +1,60 @@ package com.pivotal.example.xd; -import java.util.logging.Logger; +import java.util.Enumeration; +import java.util.Iterator; +import java.util.Properties; +import org.apache.log4j.Logger; import org.springframework.beans.factory.InitializingBean; +import org.springframework.cloud.Cloud; +import org.springframework.cloud.CloudException; +import org.springframework.cloud.CloudFactory; +import org.springframework.cloud.service.ServiceInfo; +import org.springframework.cloud.service.common.PostgresqlServiceInfo; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.pivotal.example.xd.controller.OrderController; + @Service public class BootstrapDataPopulator implements InitializingBean { - private final Logger LOG = Logger.getLogger(BootstrapDataPopulator.class.getName()); - - + static Logger logger = Logger.getLogger(OrderController.class); + + public BootstrapDataPopulator(){ + try{ + Cloud cloud = new CloudFactory().getCloud(); + Properties props = cloud.getCloudProperties(); + Enumeration propEnum = props.keys(); + while (propEnum.hasMoreElements()){ + Object key = propEnum.nextElement(); + logger.warn(key+" : "+props.get(key)); + } + + Iterator services = cloud.getServiceInfos().iterator(); + while (services.hasNext()){ + ServiceInfo svc = services.next(); + if (svc instanceof PostgresqlServiceInfo){ + PostgresqlServiceInfo hawq = (PostgresqlServiceInfo)svc; + + } + } + } + catch(CloudException ce){ + // means its not being deployed on Cloud + logger.warn(ce.getMessage()); + } + + } + @Override @Transactional() public void afterPropertiesSet() throws Exception { - LOG.info("Bootstrapping data..."); + logger.info("Bootstrapping data..."); // Create DB table - LOG.info("...Bootstrapping completed"); + logger.info("...Bootstrapping completed"); } diff --git a/src/main/webapp/WEB-INF/spring/servlet-context.xml b/src/main/webapp/WEB-INF/spring/servlet-context.xml index 23cddc2..258c57c 100644 --- a/src/main/webapp/WEB-INF/spring/servlet-context.xml +++ b/src/main/webapp/WEB-INF/spring/servlet-context.xml @@ -63,6 +63,23 @@ + + + + + + + + + org.springframework.cloud - spring-service-connector - 0.9.2 + spring-cloud-spring-service-connector + 1.1.1.BUILD-SNAPSHOT - org.springframework.cloud - cloudfoundry-connector - 0.9.2 + spring-cloud-cloudfoundry-connector + 1.1.1.BUILD-SNAPSHOT + + + org.springframework.cloud + spring-cloud-pcf-connector + 1.1.1.BUILD-SNAPSHOT + + + + cglib + cglib + 2.2.2 + + + + org.apache.hadoop + hadoop-common + 2.2.0 + + + tomcat + jasper-compiler + + + tomcat + jasper-runtime + + - - org.cloudfoundry - cloudfoundry-runtime - 0.8.6 - diff --git a/src/main/webapp/WEB-INF/views/pcfdemo.jsp b/src/main/webapp/WEB-INF/views/pcfdemo.jsp index 6aa18ad..83e1542 100644 --- a/src/main/webapp/WEB-INF/views/pcfdemo.jsp +++ b/src/main/webapp/WEB-INF/views/pcfdemo.jsp @@ -111,7 +111,7 @@
Instance hosted at  <%=request.getLocalAddr() %>:<%=request.getLocalPort() %>
- + Data being streamed from RabbitMQ From 643f232f892665ee98ef70aeb541fc74adea4d4d Mon Sep 17 00:00:00 2001 From: Ramnivas Laddad Date: Fri, 5 Sep 2014 09:18:14 -0700 Subject: [PATCH 11/11] Fix issues with posting orders --- pom.xml | 5 +++++ .../xd/controller/OrderController.java | 20 +++++++++---------- src/main/webapp/WEB-INF/views/pcfdemo.jsp | 2 +- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index 0eec103..5475ec6 100644 --- a/pom.xml +++ b/pom.xml @@ -215,6 +215,11 @@ jackson-mapper-asl 1.9.13 + + org.codehaus.jackson + jackson-core-asl + 1.9.13 + org.springframework.data diff --git a/src/main/java/com/pivotal/example/xd/controller/OrderController.java b/src/main/java/com/pivotal/example/xd/controller/OrderController.java index f6ea9c2..049f614 100644 --- a/src/main/java/com/pivotal/example/xd/controller/OrderController.java +++ b/src/main/java/com/pivotal/example/xd/controller/OrderController.java @@ -10,6 +10,7 @@ import java.util.Queue; import java.util.concurrent.ArrayBlockingQueue; +import javax.annotation.PostConstruct; import javax.sql.DataSource; import org.apache.log4j.Logger; @@ -33,6 +34,7 @@ */ @Controller public class OrderController { + static Logger logger = Logger.getLogger(OrderController.class); @Autowired @Qualifier("gemfirexdDataSource") DataSource gemfirexdDataSource; @Autowired private RabbitClient rabbitClient; @@ -41,24 +43,22 @@ public class OrderController { private static Map> stateOrdersMap = new HashMap>(); - boolean generatingData = false; - static Logger logger = Logger.getLogger(OrderController.class); - - Thread threadSender = new Thread (orderGenerator); - Thread threadConsumer = new Thread (orderConsumer); - - public OrderController(){ for (int i=0; i(10)); } - threadSender.start(); - threadConsumer.start(); + } + + @PostConstruct + public void init() { + Thread threadSender = new Thread (orderGenerator); + Thread threadConsumer = new Thread (orderConsumer); - + threadSender.start(); + threadConsumer.start(); } private int getOrderSum(String state){ diff --git a/src/main/webapp/WEB-INF/views/pcfdemo.jsp b/src/main/webapp/WEB-INF/views/pcfdemo.jsp index 83e1542..87d3ec8 100644 --- a/src/main/webapp/WEB-INF/views/pcfdemo.jsp +++ b/src/main/webapp/WEB-INF/views/pcfdemo.jsp @@ -659,7 +659,7 @@ function click(d) { chart2.chartSeries[Name] = data; } }); - setTimeout(updateData, 50); + setTimeout(updateData, 5000); }; /*