1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
|
17 |
|
|
18 |
|
package org.apache.camel.component.jbi; |
19 |
|
|
20 |
|
import org.apache.camel.Exchange; |
21 |
|
import org.apache.camel.Processor; |
22 |
|
import org.apache.servicemix.jbi.resolver.URIResolver; |
23 |
|
|
24 |
|
import javax.jbi.component.ComponentContext; |
25 |
|
import javax.jbi.messaging.DeliveryChannel; |
26 |
|
import javax.jbi.messaging.MessageExchange; |
27 |
|
import javax.jbi.messaging.MessageExchangeFactory; |
28 |
|
import javax.jbi.messaging.MessagingException; |
29 |
|
|
30 |
|
|
31 |
|
|
32 |
|
|
33 |
|
|
34 |
|
|
35 |
|
public class ToJbiProcessor implements Processor { |
36 |
|
private JbiBinding binding; |
37 |
|
private ComponentContext componentContext; |
38 |
|
private String destinationUri; |
39 |
|
|
40 |
3 |
public ToJbiProcessor(JbiBinding binding, ComponentContext componentContext, String destinationUri) { |
41 |
3 |
this.binding = binding; |
42 |
3 |
this.componentContext = componentContext; |
43 |
3 |
this.destinationUri = destinationUri; |
44 |
3 |
} |
45 |
|
|
46 |
|
public void process(Exchange exchange) { |
47 |
|
try { |
48 |
3 |
DeliveryChannel deliveryChannel = componentContext.getDeliveryChannel(); |
49 |
3 |
MessageExchangeFactory exchangeFactory = deliveryChannel.createExchangeFactory(); |
50 |
3 |
MessageExchange messageExchange = binding.makeJbiMessageExchange(exchange, exchangeFactory); |
51 |
|
|
52 |
3 |
URIResolver.configureExchange(messageExchange, componentContext, destinationUri); |
53 |
3 |
deliveryChannel.sendSync(messageExchange); |
54 |
|
} |
55 |
0 |
catch (MessagingException e) { |
56 |
0 |
throw new JbiException(e); |
57 |
3 |
} |
58 |
3 |
} |
59 |
|
} |