Guest User

Untitled

a guest
Jan 31st, 2018
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. package com.myapp.camel.spring.route;
  2.  
  3. import java.sql.SQLException;
  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.JSONObject;
  11. import org.json.simple.parser.JSONParser;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.context.annotation.Bean;
  14. import org.springframework.jdbc.datasource.DriverManagerDataSource;
  15. import org.springframework.stereotype.Component;
  16.  
  17.  
  18.  
  19. @Component
  20. public class DBRouter extends RouteBuilder {
  21.  
  22. @Autowired
  23. private DataSource dataSource;
  24.  
  25. @Bean
  26. public DataSource dataSource() {
  27. DriverManagerDataSource dataSource=new DriverManagerDataSource();
  28. dataSource.setUrl("jdbc:mysql://localhost:3306/hcl");
  29. dataSource.setUsername("admin");
  30. dataSource.setPassword("admin");
  31. return dataSource;
  32. }
  33.  
  34. @Bean
  35. public SqlComponent sql() {
  36. SqlComponent sqlComponent=new SqlComponent();
  37. sqlComponent.setDataSource(dataSource);
  38. return sqlComponent;
  39. }
  40.  
  41. @Override
  42. public void configure() throws Exception {
  43. // TODO Auto-generated method stub
  44. onException(SQLException.class).handled(true)
  45. .log("Exception While Inserting");
  46.  
  47. from("direct:db")
  48. .to("log:?level=INFO&showBody=true")
  49. .process((Exchange exchange)->{
  50. String body=(String) exchange.getIn().getBody();
  51. JSONParser parser=new JSONParser();
  52. JSONObject jsonObject=(JSONObject)parser.parse(body);
  53. Integer orderid= Integer.parseInt((String)jsonObject.get("orderid"));
  54. String orderName=(String)jsonObject.get("ordername");
  55. String insertQuery="insert INTO orders values(".concat("'").concat(String.valueOf(orderid).concat("'").concat(",").concat("'")
  56. .concat(orderName).concat("'").concat(")"));
  57.  
  58.  
  59. exchange.getIn().setBody(insertQuery);
  60.  
  61. }).to("jdbc:dataSource")
  62. .to("sql:select * from orders")
  63. .to("log:?level=INFO&showBody=true")
  64. .to("mock:out");
  65.  
  66. }
  67.  
  68. }
Add Comment
Please, Sign In to add comment