当前位置: 首页 > 知识库问答 >
问题:

使用spring boot中现有的http服务器作为camelendpoint

长孙弘盛
2023-03-14

我有一个spring boot应用程序,它使用spring boot starter Web。这将创建一个正在运行的Tomcat实例,并设置在端口上运行的http服务器。在我的camel路由中,我想使用这个http服务器作为http请求的组件,但我不知道如何利用它。我看到了许多配置jetty实例并从中消费的示例,但实际上我不会运行两个http服务器吗?我只想要一个。我假设http服务器已经启动了,因为我可以使用其他spring代码(例如RestController),而且我也可以在Spring Boot日志中看到它启动了。

@Component
public class ExampleRoute extends RouteBuilder
{
    @Override
    public void configure() throws Exception
    {

        //@formatter:off

        from( <want to take in an http request here> )
            .log( LoggingLevel.INFO, log, "Hello World!" );

        //@formatter:on

    }
}

共有1个答案

蒋浩
2023-03-14

这里有一个例子:https://github.com/camelinaction/camelinaction2/tree/master/chapter7/springboot-camel

您可以注册一个ServletRegistrationBean,用Spring boot设置Camel Servlet。

@Bean
ServletRegistrationBean camelServlet() {
    // use a @Bean to register the Camel servlet which we need to do
    // because we want to use the camel-servlet component for the Camel REST service
    ServletRegistrationBean mapping = new ServletRegistrationBean();
    mapping.setName("CamelServlet");
    mapping.setLoadOnStartup(1);
    // CamelHttpTransportServlet is the name of the Camel servlet to use
    mapping.setServlet(new CamelHttpTransportServlet());
    mapping.addUrlMappings("/camel/*");
    return mapping;
}

然而,对于Camel2.19,我们计划将其简化并使用OOTB:https://issues.apache.org/jira/browse/Camel-10416

from("servlet:foo")
  .to("bean:foo");
 类似资料:
  • 使用Tomcat7作为HTTP文件服务器在高负载时返回以下错误(在多个请求突发之后): 避免此错误的最佳实践是什么?它从何而来?我已经尝试使用NIO模式,但仍然得到这个错误。

  • 问题内容: 我想为多个客户端在php中为服务器创建http套接字连接。我怎样才能做到这一点 ?我需要一些资源。 首先,我试图在java中创建服务器。我在java中创建服务器。并尝试从android应用程序访问。但是服务器找不到任何客户端。但是当我在java中创建客户端时,它正在工作。我该如何解决这个问题? 问题答案: 看一下这篇文章: Zend 用PHP编写套接字服务器 还可以尝试使用Google

  • 我有一个Web应用程序,前端使用angular6,其余api使用Spring启动。 我的angular应用程序运行在localhost:4200上,能够通过google成功验证,我可以看到authToken和idToken。(我在angularx中使用了angularx社交登录插件) 现在,我想使用这个身份验证令牌来保护在localhost:8080上运行的spring boot api服务器。

  • ?> 完全协程化的Http服务器实现,Co\Http\Server继承自Co\Server,在此不再赘述,只说差异。 与 Http\Server 的不同之处: 可以在运行时动态地创建、销毁 对连接的处理是在单独的子协程中完成,客户端连接的Connect、Request、Response、Close是完全串行的 !> 需要v4.4.0或更高版本 !> 若编译时开启HTTP2,则默认会启用HTTP2协

  • 程序代码 http_server.php $http = new Swoole\Http\Server("0.0.0.0", 9501); $http->on('request', function ($request, $response) { var_dump($request->get, $request->post); $response->header("Content

  • 服务器端(app.js) var app = require('http').createServer(handler) var io = require('socket.io')(app); var fs = require('fs'); app.listen(80); function handler (req, res) { fs.readFile(__dirname + '/ind