2014-09-10 208 views
4

我们有一个弹簧启动应用程序,由于集成的需要而越来越复杂 - 比如在执行此操作后发送电子邮件,或在您之后播放jms消息等。在寻找更高级别的抽象,我遇到了阿帕奇骆驼(以前没有使用骆驼)。我拥有的问题是我如何使用弹簧启动应用程序?该应用程序具有标准弹簧控制器,服务并使用弹簧数据连接到数据库。我在网上找到了很多关于如何将骆驼合并到一个spring-boot restful应用程序的帮助。那甚至是可行的东西,或者是骆驼与春季靴子不适合的完全不同的野兽?Camelize弹簧启动应用程序

我读过骆驼与Spring紧密集成,但我仍然不知道1)Spring控制器仍然是可以与骆驼一起使用的东西2)如果我可以从骆驼路由中调用其他spring bean,我是否可以调用从一个Spring bean调用骆驼路线(抱歉,如果这听起来像骆驼新手问题专家)

由于我们要做一个例子:

  1. 整理写什么后关于订单的数据库,我们必须发送一封电子邮件给订单处理部门
  2. 如果有人删除了特定的用户地址,我们必须发送到jms主题,以便其他应用程序可以采取措施。

今天每个http请求都通过Spring MVC堆栈进入。

在特定任务完成后,有没有办法将处理“交付”给骆驼? (比如通过Spring MVC堆栈将命令成功写入数据库并交给骆驼发送jms消息并执行其他操作)?或者我们是否应该用骆驼完全取代Spring?

不知道什么是正确的道路。有人能指导我们吗?

+0

尽管您可能能够获得Apache的骆驼worknig与Spring引导你可能也想尝试Spring集成覆盖同样的事情Apache的骆驼。优点是Spring Boot已经支持它。 – 2014-09-11 05:54:31

+0

我有一个集成Spring Boot的Apache Camel应用程序。很棒。 – 2014-09-11 16:50:55

+0

@MattRaible - 你能分享一些更多细节吗?你是否使用Spring的休息控制器或者通过骆驼完成所有事情?你如何从春季开机到骆驼回来?真的很感谢你能分享一些更多的细节。 – sat 2014-09-11 17:13:29

回答

-5

考虑向Spring Integration发送消息,然后在其中定义您的进程。您可以定义如何路由和处理任务。

另一个答案是将一些任务委托给标准的消息队列,并在队列的另一端定义处理。

+0

下面是关于如何使用JMS的指导。 [链接](http://spring.io/guides/gs/messaging-jms/)http://spring.io/guides/gs/messaging-jms/ – 2014-09-10 22:56:40

+0

的问题是关于骆驼这就好比到像Spring Integration因此错误地回答了这个问题 – 2016-05-04 08:18:03

0

一个选项是
1>在Spring DSL或Java DSL或其他方法中定义骆驼路由并在Spring应用程序上下文中定义它。
2>并且有一个实现了ApplicationContextAware的类,并将Spring ApplicationContext缓存在一个静态变量中。
3>对于@Controller,我们可以得到这个静态变量并获得ApplicationContext。
4>使用骆驼上下文ID,我们可以从ApplicationContext执行getBean。
5>这是DefaultCamelContext的实例,用这个我们可以做一个createProducer并从@Controller调用骆驼路由。

0

就像其他人提到的那样,spring-boot-camel(但是使用spring-boot-camel-starter作为你的依赖)非常好用,而且它很容易设置。当你使用@Component注解你的RouteBuilder扩展和你的Processor实现时,它们直接连接到上下文中,并且你很好。然后,您可以@Autowire CamelContext或ProducerTemplate到您的类中,并根据需要使用它们。

你问过控制器如何与Camel一起工作,如果你@Autowire任何你需要的东西(可能是一个上下文或生产者模板),那么答案是肯定的,你可以一起使用它们很容易。而当你使用弹簧网,你的情况下将启动,仍然没有任何额外的配置运行等

像马修·韦尔斯认为,这些链接将让你在正确的方向。如果你或你的团队中的其他人对骆驼非常熟悉,那么你将很容易做你需要做的事情。但是,啊,我注意到这个问题是从2014年开始的,你可能已经超越了你的问题。至少如果有其他人通过这个线程停下来,他们将有足够的信息去实现。如果你过来并重新访问你的问题,请让我们知道它是如何为你服务的,以及你最终做了什么。干杯!

相关问题