This commit is contained in:
2021-11-18 13:59:46 +01:00
parent aaf2ee023a
commit 3b04bbbae6
30 changed files with 102 additions and 268 deletions

View File

@@ -1,6 +1,8 @@
package com.release11;
import com.mysql.cj.jdbc.MysqlDataSource;
import generated.MaterialType;
import generated.MaterialTypeType;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.camel.*;
import org.apache.camel.builder.RouteBuilder;
@@ -11,16 +13,13 @@ import org.apache.log4j.BasicConfigurator;
import org.apache.camel.converter.jaxb.JaxbDataFormat;
import javax.xml.bind.*;
import java.util.HashMap;
public class Main {
public static void main(String[] args) throws Exception {
//MyBuilder myBuilder = new MyBuilder();
//myBuilder.doRandomMaterials();
//myBuilder.doRandomPackage();
//to("log:?level=INFO&showHeaders=true&showBody=true")
MysqlDataSource source = new MysqlDataSource();
@@ -31,23 +30,6 @@ public class Main {
SimpleRegistry registry = new SimpleRegistry();
registry.bind("source", MysqlDataSource.class, source);
//jax.marshal(Exchange ,jax,);
//registry.bind("jax", JaxbDataFormat.class, XMLDataFormat);
CamelContext context = new DefaultCamelContext(registry);
BasicConfigurator.configure();
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://10.101.111.19:8088");
@@ -59,11 +41,10 @@ public class Main {
@Override
public void configure() throws Exception {
JaxbDataFormat XMLDataFormat = new JaxbDataFormat();
//XMLDataFormat.setSchemaLocation("/home/igor/Documents/Jacek/jacek-and-igor/src/main/resources/material.xsd");
XMLDataFormat.setContextPath("generated");
JaxbDataFormat xmlDataFormat = new JaxbDataFormat();
xmlDataFormat.setContextPath("generated");
JAXBContext jaxbContext = JAXBContext.newInstance(generated.MaterialType.class);
XMLDataFormat.setContext(jaxbContext);
xmlDataFormat.setContext(jaxbContext);
from("direct:start")
.setBody(constant("SELECT * FROM material"))
@@ -78,69 +59,17 @@ public class Main {
from("activemq:queue:material")
.enrich("direct:getPackages", new MyAggregator())
.marshal(xmlDataFormat)
.to("activemq:queue:materialPackage")
.to("log:?level=INFO&showBody=true");
from("direct:test")
.setBody(constant("SELECT * FROM material LIMIT 1"))
.to("jdbc:source")
.split(body())
.to("activemq:queue:materialTest");
from("activemq:queue:materialTest")
.bean(new DAO(), "test")
.marshal(XMLDataFormat)
.to("activemq:queue:test");
from("direct:pretty")
.setBody(constant("<?xml version='1.0'?>" +
"<material>\n" +
" <material_number>7</material_number>\n" +
" <material_type>A1</material_type>\n" +
" <material_name>LEGO 17272</material_name>\n" +
" <description>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</description>\n" +
" <is_deleted>false</is_deleted>\n" +
" <packages>\n" +
" <package_number>11988</package_number>\n" +
" <ean>80975098498590834</ean>\n" +
" <unit_of_measure>pcs</unit_of_measure>\n" +
" <dimension>17x17x17</dimension>\n" +
" <description>Lorem ipsum dolor sit amet, consectetur adipiscing elit</description>\n" +
" </packages>\n" +
" <packages>\n" +
" <package_number>118</package_number>\n" +
" <ean>877854875843774</ean>\n" +
" <unit_of_measure>pcs</unit_of_measure>\n" +
" <dimension>20x20x20</dimension>\n" +
" </packages>\n" +
"</material>\n"))
.unmarshal()
.jaxb("generated")
.bean(new DAO(), "getId")
.to("activemq:queue:test")
.to("log:?level=INFO&showBody=true");
}
});
context.start();
ProducerTemplate template = context.createProducerTemplate();
template.sendBody("direct:test", null);
template.sendBody("direct:start", null);
Thread.sleep(1000);
//template.setDefaultEndpointUri("activemq:queue:material");
context.stop();
}