看来Fuse ESB已被Red Hat收购,现在将作为JBoss Fuse提供。
假定它们本质上是相同的技术,加上或减去一些改进,是否正确?
我看到这两者都是开源的,并且基于相同的技术堆栈构建,因此我希望这只是名称更改,而不会对现有项目产生任何重大影响。
只要我的骆驼路线中有正常流量,我就可以使身体进入下一个组成部分。但是,只要有异常(Http 401或500),我就无法获取异常主体。我在服务器日志中仅收到一个Java异常。我也尝试过onException()。使用它,当错误发生时流程就进入了流程,但是我仍然没有得到Web服务发送的错误响应正文(直接在使用POSTMAN时得到),我只得到了我发送到Web服务的正文中的请求。
同时添加路线:
from("direct:contractUpdateAds")
.to("log:inside_direct:contractUpdateAds_route_CompleteLog?level=INFO&showAll=true&multiline=true")
.streamCaching()
.setHeader(Exchange.HTTP_METHOD, constant("POST"))
.setHeader(Exchange.CONTENT_TYPE, constant("application/json"))
.log("before calling ADS for ContractUpdate:\nBody:${body}")
.to("{{AdsContractUpdateEndpoint}}")
.log("after calling ADS for ContractUpdate:\nBody:${body}")
.convertBodyTo(String.class)
.end();
Run Code Online (Sandbox Code Playgroud) 我有一个简单的Apache Camel路由,该路由从队列中获取序列化文件并将其发送到一些外部资源:
public class MyRouteBuilder extends RouteBuilder {
@Override
public void configure() throws Exception {
from("activemq:alfresco-queue")
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create();
multipartEntityBuilder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
multipartEntityBuilder.addPart("file", new ByteArrayBody(exchange.getIn().getBody(byte[].class),
exchange.getIn().getHeader("fileName", String.class)));
exchange.getIn().setBody(multipartEntityBuilder.build().getContent());
}
})
.setHeader(Exchange.HTTP_METHOD, constant(org.apache.camel.component.http4.HttpMethods.POST))
.to("http4://vm-alfce5-31.....com:8080/alfresco/s/someco/queuefileuploader?guest=true")
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
System.out.println("The response code is: " +
exchange.getIn().getHeader(Exchange.HTTP_RESPONSE_CODE));
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
蓝图配置文件:
<?xml version="1.0"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">
<bean id="myRouteBuilder" class="org.fusesource.example.MyRouteBuilder"/>
<camelContext id="blueprintContext" trace="false" …Run Code Online (Sandbox Code Playgroud) activemq-classic jms apache-camel apache-httpcomponents jbossfuse
在浏览Redhat Fuse ESB文档时,我发现提到的织物容器与独立容器不同.Fabric容器是虚拟/逻辑容器吗?
链接:https://access.redhat.com/documentation/en-US/Fuse_ESB_Enterprise/7.1/html/Deploying_into_the_Container/files/FESBLocateFabric.html
I have downloaded and installed EAP 7.2.0 and I applied the patch 7.2.4. Now I want to install Fuse 7.2 for EAP on it. The Getting started document says:
Navigate to the directory where you want to install (EAP_HOME) and run the installer, including the downloaded file location and name in the command. For example:
java -jar TEMP_LOCATION/fuse-eap-installer-7.2.fuse-000085-redhat-1.jar
The file I have downloaded has a different name, so I do:
java -jar ../Téléchargements/fuse-eap-installer-7.2.0.fuse-720018-redhat-00002.jar
Run Code Online (Sandbox Code Playgroud)
And I get the following exception:
Copy …Run Code Online (Sandbox Code Playgroud) 我目前正在考虑考虑使用JBoss Fuse 6.3的公司.目前我们正在处理概念证明并且正在发生一些事实:当我们使用集成到jetty/tomcat的完全开源技术(Camel或CXF)时,我们可以毫无问题地运行.
通过将其集成到JBoss Fuse平台中,我们遇到了严重的打包和部署困难.我想知道是否有人在生产之前使用这种产品,这次旅程中遇到的经验/困难是什么?