Нужна помощь в интеграции Apache Camel с Spring BootJAVA

Программисты JAVA общаются здесь
Anonymous
Нужна помощь в интеграции Apache Camel с Spring Boot

Сообщение Anonymous »

Я изучаю технологии промежуточного программного обеспечения, а Apache Camel появился первым. Я пытаюсь внедрить конверсию XML в JSON, но я не могу реализовать зависимости JAXB. Я попробовал несколько и все еще получил ошибку, что «формат данных» JAXB не может быть создан ». Я вставляю весь код здесь для справки, а также Thrace Stack. Любая идея, в чем может быть проблема. Я попытался изменить версии зависимости, но все еще получил ошибку.package com.SpringWithCamel.Camel.boot;

import org.apache.camel.main.Main;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

public static void main(String[] args) throws Exception {
Main main = new Main();
main.configure().addRoutesBuilder(new XmlToJsonRoute());
main.run(args);
}

}
< /code>
xmltojsonroute.java
package com.SpringWithCamel.Camel.boot;

import org.apache.camel.builder.RouteBuilder;

public class XmlToJsonRoute extends RouteBuilder {
@Override
public void configure() {
from("file:C:/Users/akstu/Downloads/Camel.boot/Camel.boot/input?noop=true")
.log("Processing file: ${file:name}")
.unmarshal().jaxb("com.SpringWithCamel.Camel.boot.model")
.marshal().json()
.to("file:C:/Users/akstu/Downloads/Camel.boot/Camel.boot/output?fileName=output.json")
.log("Saved JSON file to output directory");
}
}
< /code>
user.java
package com.SpringWithCamel.Camel.boot.model;

import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name = "user")
public class User {
public int id;
public String name;
public String email;

public User() {}

@XmlElement
public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

@XmlElement
public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

@XmlElement
public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}
}
< /code>
user.xml

101
John Doe
john@example.com

< /code>
Stack: < /p>
at com.SpringWithCamel.Camel.boot.Application.main(Application.java:15)
Caused by: java.lang.IllegalArgumentException: Data format 'jaxb' could not be created. Ensure that the data format is valid and the associated Camel component is present on the classpath
at org.apache.camel.reifier.dataformat.DataFormatReifier.createDataFormat(DataFormatReifier.java:289)
< /code>
Процесс завершен с кодом выхода 1 < /p>
pom.xml
com.SpringWithCamel
Camel.boot
0.0.1-SNAPSHOT
Camel.boot
Demo project for Spring Boot


21
4.10.2





org.springframework.boot
spring-boot-starter-web




org.apache.camel.springboot
camel-spring-boot-starter
${camel.version}




jakarta.xml.bind
jakarta.xml.bind-api
3.0.1




org.glassfish.jaxb
jaxb-runtime
3.0.2




org.apache.camel
camel-core
${camel.version}




org.apache.camel
camel-file
${camel.version}




org.apache.camel.springboot
camel-jaxb-starter
${camel.version}




org.apache.camel
camel-jackson
${camel.version}




org.springframework.boot
spring-boot-starter-test
test




Подробнее здесь: https://stackoverflow.com/questions/795 ... pring-boot

Вернуться в «JAVA»