Guest User

Untitled

a guest
Jan 31st, 2018
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. package com.myapp.camel.spring.route;
  2. import java.sql.SQLException;
  3. import java.util.List;
  4.  
  5. import javax.sql.DataSource;
  6.  
  7. import org.apache.camel.Exchange;
  8. import org.apache.camel.builder.RouteBuilder;
  9. import org.apache.camel.component.sql.SqlComponent;
  10. import org.json.simple.JSONArray;
  11. import org.json.simple.JSONObject;
  12. import org.json.simple.parser.JSONParser;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.context.annotation.Bean;
  15. import org.springframework.jdbc.datasource.DriverManagerDataSource;
  16. import org.springframework.stereotype.Component;
  17.  
  18.  
  19.  
  20. @Component
  21. public class RestWSToDBRoute extends RouteBuilder {
  22.  
  23. @Autowired
  24. private DataSource dataSource;
  25.  
  26. @Bean
  27. public DataSource dataSource() {
  28. DriverManagerDataSource dataSource=new DriverManagerDataSource();
  29. dataSource.setUrl("jdbc:mysql://localhost:3306/hcl");
  30. dataSource.setUsername("admin");
  31. dataSource.setPassword("admin");
  32. return dataSource;
  33. }
  34.  
  35. @Bean
  36. public SqlComponent sql() {
  37. SqlComponent sqlComponent=new SqlComponent();
  38. sqlComponent.setDataSource(dataSource);
  39. return sqlComponent;
  40. }
  41.  
  42.  
  43. public void configure() throws Exception {
  44.  
  45. onException(SQLException.class, Exception.class).handled(true).log("Exception While inserting messages.")
  46. .process(new ExceptionProcessor());
  47.  
  48. from("timer:learnTimer?period=10s")
  49. .to("log:?level=INFO&showBody=true")
  50. .setHeader(Exchange.HTTP_METHOD, constant("GET"))
  51. .setHeader(Exchange.HTTP_URI, simple("http://localhost:8888/orders"))
  52. .to("http://localhost:8888/orders").split(method(JsonArraySplitter.class))
  53.  
  54.  
  55. .to("log:?level=INFO&showBody=true")
  56. .process((Exchange exchange)->{
  57.  
  58. String body=(String) exchange.getIn().getBody();
  59. JSONParser parser=new JSONParser();
  60. JSONObject jsonObject=(JSONObject)parser.parse(body);
  61. Integer orderid= Integer.parseInt((String)jsonObject.get("orderid"));
  62. String orderName=(String)jsonObject.get("ordername");
  63. String insertQuery="insert INTO orders values(".concat("'").concat(String.valueOf(orderid).concat("'").concat(",").concat("'")
  64. .concat(orderName).concat("'").concat(")"));
  65.  
  66.  
  67. exchange.getIn().setBody(insertQuery);
  68. })
  69. .to("jdbc:dataSource")
  70. .to("sql:select * from orders");
  71.  
  72. }
  73. }
Add Comment
Please, Sign In to add comment