0
XML 파일에서 문자열을 가져 와서 해당 값을 개체에 설정하려고했지만이를 수행하는 방법을 알 수 없습니다. 여기에 내가 지금까지했던 작업은 다음과 같습니다낙타가 파일에서 문자열을 가져옵니다.
는public class Converter {
public static void main(String[] args) throws Exception {
final XmlJsonDataFormat xmlJsonFormat = new XmlJsonDataFormat();
xmlJsonFormat.setTypeHints(String.valueOf("YES"));
CamelContext context = new DefaultCamelContext();
context.getTypeConverterRegistry().addTypeConverter(User.class, String.class, new UserConverter());
context.addRoutes(new RouteBuilder() {
public void configure() {
from("ftp://[email protected]")
.to("seda:input").marshal(xmlJsonFormat).to("seda:out");
}
});
User user = context.getTypeConverter().convertTo(User.class, "seda:out"); // Here i need to access string from "seda:out"
context.start();
Thread.sleep(5000);
System.out.println(user.getLogin());
}
private static class UserConverter extends TypeConverterSupport {
@SuppressWarnings("unchecked")
public <T> T convertTo(Class<T> type, Exchange exchange, Object value) {
User user = new User();
user.setLogin(String.valueOf(value.toString()));
return (T) user;
}
}
}
내 출력은 Seda의이다 : 알아,하지만 난 그 seda:out
에, 문자열로 출력을해야합니다.
어떻게이 작업을 수행 할 수 있습니까?
'process()'메소드에 매개 변수로 넣어야하는 것은 무엇입니까? 당신이 그것을 쓴 방법은 효과가 없습니다. – qiGuar
지금 코드를 수정했습니다. –
'exchange.getIn(). setBody (userObject)'가하는 일에 대해 설명해 주시겠습니까? 내 상황에서는 코드가이 줄이 있든 없든 같은 방식으로 작동합니다. – qiGuar