本文整理汇总了Java中org.apache.camel.spi.RoutePolicy类的典型用法代码示例。如果您正苦于以下问题:Java RoutePolicy类的具体用法?Java RoutePolicy怎么用?Java RoutePolicy使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
RoutePolicy类属于org.apache.camel.spi包,在下文中一共展示了RoutePolicy类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: execute
import org.apache.camel.spi.RoutePolicy; //导入依赖的package包/类
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
LOG.debug("Running ScheduledJob: jobExecutionContext={}", jobExecutionContext);
SchedulerContext schedulerContext = getSchedulerContext(jobExecutionContext);
ScheduledJobState state = (ScheduledJobState) schedulerContext.get(jobExecutionContext.getJobDetail().getKey().toString());
Action storedAction = state.getAction();
Route storedRoute = state.getRoute();
List<RoutePolicy> policyList = storedRoute.getRouteContext().getRoutePolicyList();
for (RoutePolicy policy : policyList) {
try {
if (policy instanceof ScheduledRoutePolicy) {
((ScheduledRoutePolicy)policy).onJobExecute(storedAction, storedRoute);
}
} catch (Exception e) {
throw new JobExecutionException("Failed to execute Scheduled Job for route " + storedRoute.getId()
+ " with trigger name: " + jobExecutionContext.getTrigger().getKey(), e);
}
}
}
示例2: after
import org.apache.camel.spi.RoutePolicy; //导入依赖的package包/类
@Override
public void after(Exchange exchange, Object data) throws Exception {
// do not invoke it if Camel is stopping as we don't want
// the policy to start a consumer during Camel is stopping
if (isCamelStopping(exchange.getContext())) {
return;
}
for (RoutePolicy policy : routePolicies) {
try {
if (isRoutePolicyRunAllowed(policy)) {
policy.onExchangeDone(route, exchange);
}
} catch (Exception e) {
LOG.warn("Error occurred during onExchangeDone on RoutePolicy: " + policy
+ ". This exception will be ignored", e);
}
}
}
示例3: getRoutePolicyList
import org.apache.camel.spi.RoutePolicy; //导入依赖的package包/类
public String getRoutePolicyList() {
List<RoutePolicy> policyList = route.getRouteContext().getRoutePolicyList();
if (policyList == null || policyList.isEmpty()) {
// return an empty string to have it displayed nicely in JMX consoles
return "";
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < policyList.size(); i++) {
RoutePolicy policy = policyList.get(i);
sb.append(policy.getClass().getSimpleName());
sb.append("(").append(ObjectHelper.getIdentityHashCode(policy)).append(")");
if (i < policyList.size() - 1) {
sb.append(", ");
}
}
return sb.toString();
}
示例4: doStart
import org.apache.camel.spi.RoutePolicy; //导入依赖的package包/类
protected void doStart() throws Exception {
warmUp();
for (Route route : routes) {
// start the route itself
ServiceHelper.startService(route);
// invoke callbacks on route policy
if (route.getRouteContext().getRoutePolicyList() != null) {
for (RoutePolicy routePolicy : route.getRouteContext().getRoutePolicyList()) {
routePolicy.onStart(route);
}
}
// fire event
EventHelper.notifyRouteStarted(camelContext, route);
}
}
示例5: createRouteBuilder
import org.apache.camel.spi.RoutePolicy; //导入依赖的package包/类
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
// create the flip route policy
RoutePolicy policy = new FlipRoutePolicy("foo", "bar");
// use the flip route policy in the foo route
from("timer://foo")
.routeId("foo").routePolicy(policy)
.setBody().constant("Foo message")
.to("log:foo")
.to("mock:foo");
// use the flip route policy in the bar route and do NOT start
// this route on startup
from("timer://bar")
.routeId("bar").routePolicy(policy).noAutoStartup()
.setBody().constant("Bar message")
.to("log:bar")
.to("mock:bar");
}
};
}
示例6: createRouteBuilder
import org.apache.camel.spi.RoutePolicy; //导入依赖的package包/类
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
// create the flip route policy
RoutePolicy policy = new FlipRoutePolicy("foo", "bar");
// use the flip route policy in the foo route
from("timer:foo?delay=500")
.routeId("foo").routePolicy(policy)
.setBody().constant("Foo message")
.to("log:foo")
.to("mock:foo");
// use the flip route policy in the bar route and do NOT start
// this route on startup
from("timer:bar?delay=500")
.routeId("bar").routePolicy(policy).noAutoStartup()
.setBody().constant("Bar message")
.to("log:bar")
.to("mock:bar");
}
};
}
示例7: createRouteBuilder
import org.apache.camel.spi.RoutePolicy; //导入依赖的package包/类
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
// create the flip route policy
RoutePolicy policy = new FlipRoutePolicy("foo", "bar");
// use the flip route policy in the foo route
from("timer://foo?delay=500")
.routeId("foo").routePolicy(policy)
.setBody().constant("Foo message")
.to("log:foo")
.to("mock:foo");
// use the flip route policy in the bar route and do NOT start
// this route on startup
from("timer://bar?delay=500")
.routeId("bar").routePolicy(policy).noAutoStartup()
.setBody().constant("Bar message")
.to("log:bar")
.to("mock:bar");
}
};
}
示例8: routePolicy
import org.apache.camel.spi.RoutePolicy; //导入依赖的package包/类
/**
* Configures route policies for this route
*
* @param policies the route policies
* @return the builder
*/
public RouteDefinition routePolicy(RoutePolicy... policies) {
if (routePolicies == null) {
routePolicies = new ArrayList<RoutePolicy>();
}
for (RoutePolicy policy : policies) {
routePolicies.add(policy);
}
return this;
}
示例9: isRoutePolicyRunAllowed
import org.apache.camel.spi.RoutePolicy; //导入依赖的package包/类
/**
* Strategy to determine if this policy is allowed to run
*
* @param policy the policy
* @return <tt>true</tt> to run
*/
protected boolean isRoutePolicyRunAllowed(RoutePolicy policy) {
if (policy instanceof StatefulService) {
StatefulService ss = (StatefulService) policy;
return ss.isRunAllowed();
}
return true;
}
示例10: before
import org.apache.camel.spi.RoutePolicy; //导入依赖的package包/类
@Override
public Object before(Exchange exchange) throws Exception {
// invoke begin
for (RoutePolicy policy : routePolicies) {
try {
if (isRoutePolicyRunAllowed(policy)) {
policy.onExchangeBegin(route, exchange);
}
} catch (Exception e) {
LOG.warn("Error occurred during onExchangeBegin on RoutePolicy: " + policy
+ ". This exception will be ignored", e);
}
}
return null;
}
示例11: doSuspend
import org.apache.camel.spi.RoutePolicy; //导入依赖的package包/类
@Override
protected void doSuspend() throws Exception {
// suspend and resume logic is provided by DefaultCamelContext which leverages ShutdownStrategy
// to safely suspend and resume
for (Route route : routes) {
if (route.getRouteContext().getRoutePolicyList() != null) {
for (RoutePolicy routePolicy : route.getRouteContext().getRoutePolicyList()) {
routePolicy.onSuspend(route);
}
}
}
}
示例12: doResume
import org.apache.camel.spi.RoutePolicy; //导入依赖的package包/类
@Override
protected void doResume() throws Exception {
// suspend and resume logic is provided by DefaultCamelContext which leverages ShutdownStrategy
// to safely suspend and resume
for (Route route : routes) {
if (route.getRouteContext().getRoutePolicyList() != null) {
for (RoutePolicy routePolicy : route.getRouteContext().getRoutePolicyList()) {
routePolicy.onResume(route);
}
}
}
}
示例13: createRouteStartPolicy
import org.apache.camel.spi.RoutePolicy; //导入依赖的package包/类
private RoutePolicy createRouteStartPolicy() {
SimpleScheduledRoutePolicy policy = new SimpleScheduledRoutePolicy();
long startTime = System.currentTimeMillis() + 3000L;
policy.setRouteStartDate(new Date(startTime));
policy.setRouteStartRepeatCount(1);
policy.setRouteStartRepeatInterval(3000);
return policy;
}
示例14: startRouteWithPolicy
import org.apache.camel.spi.RoutePolicy; //导入依赖的package包/类
@SuppressWarnings("unchecked")
private CamelContext startRouteWithPolicy(String policyBeanName) throws Exception {
CamelContext context = new DefaultCamelContext();
List<RouteDefinition> routes = (List<RouteDefinition>)applicationContext.getBean("testRouteContext");
RoutePolicy policy = applicationContext.getBean(policyBeanName, RoutePolicy.class);
assertTrue(getTestType() == TestType.SIMPLE
? policy instanceof SimpleScheduledRoutePolicy
: policy instanceof CronScheduledRoutePolicy);
routes.get(0).routePolicy(policy);
((ModelCamelContext)context).addRouteDefinitions(routes);
context.start();
return context;
}
示例15: createRoutePolicy
import org.apache.camel.spi.RoutePolicy; //导入依赖的package包/类
@Override
public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, RouteDefinition routeDefinition) {
MetricsRoutePolicy answer = new MetricsRoutePolicy();
answer.setMetricsRegistry(getMetricsRegistry());
answer.setUseJmx(isUseJmx());
answer.setJmxDomain(getJmxDomain());
answer.setPrettyPrint(isPrettyPrint());
answer.setRateUnit(getRateUnit());
answer.setDurationUnit(getDurationUnit());
return answer;
}