本文整理了Java中org.apache.camel.Route.getRouteContext
方法的一些代码示例,展示了Route.getRouteContext
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Route.getRouteContext
方法的具体详情如下:
包路径:org.apache.camel.Route
类名称:Route
方法名:getRouteContext
暂无
代码示例来源:origin: org.apache.camel/camel-zookeeper
private void ensureElectionIsCreated(Route route) {
if (election == null) {
electionLock.lock();
try {
if (election == null) { // re-test
election = new ZooKeeperElection(route.getRouteContext().getCamelContext(), uri, enabledCount);
election.addElectionWatcher(this);
}
} finally {
electionLock.unlock();
}
}
}
代码示例来源:origin: org.apache.camel/camel-zookeeper
private void ensureElectionIsCreated(Route route) {
if (election == null) {
electionLock.lock();
try {
if (election == null) { // re-test
election = new CuratorLeaderElection(route.getRouteContext().getCamelContext(), uri);
election.addElectionWatcher(this);
}
} finally {
electionLock.unlock();
}
}
}
代码示例来源:origin: org.apache.camel/camel-metrics
private String createName(String type) {
CamelContext context = route.getRouteContext().getCamelContext();
String name = context.getManagementName() != null ? context.getManagementName() : context.getName();
String answer = namePattern;
answer = answer.replaceFirst("##name##", name);
answer = answer.replaceFirst("##routeId##", Matcher.quoteReplacement(route.getId()));
answer = answer.replaceFirst("##type##", type);
return answer;
}
代码示例来源:origin: org.apache.camel/camel-micrometer
default Tags getTags(Route route, Exchange exchange) {
return Tags.of(
CAMEL_CONTEXT_TAG, route.getRouteContext().getCamelContext().getName(),
SERVICE_NAME, MicrometerRoutePolicyService.class.getSimpleName(),
ROUTE_ID_TAG, route.getId(),
FAILED_TAG, Boolean.toString(exchange.isFailed())
);
}
代码示例来源:origin: org.apache.camel/camel-zookeeper
private void startAllStoppedRoutes() {
try {
lock.lock();
if (!suspendedRoutes.isEmpty()) {
if (log.isDebugEnabled()) {
log.info("{} route(s) have been stopped previously by policy, restarting.", suspendedRoutes.size());
}
for (Route suspended : suspendedRoutes) {
DefaultCamelContext ctx = (DefaultCamelContext)suspended.getRouteContext().getCamelContext();
while (!ctx.isStarted()) {
log.info("Context {} is not started yet. Sleeping for a bit.", ctx.getName());
Thread.sleep(5000);
}
log.info("Starting route [{}] defined in context [{}].", suspended.getId(), ctx.getName());
startRoute(suspended);
}
suspendedRoutes.clear();
}
} catch (Exception e) {
handleException(e);
} finally {
lock.unlock();
}
}
代码示例来源:origin: org.apache.camel/camel-infinispan
@Override
public synchronized void onInit(Route route) {
super.onInit(route);
LOGGER.info("Route managed by {}. Setting route {} AutoStartup flag to false.", getClass(), route.getId());
route.getRouteContext().getRoute().setAutoStartup("false");
stoppeddRoutes.add(route);
this.refCount.retain();
startManagedRoutes();
}
代码示例来源:origin: funktionio/funktion-connectors
/**
* Allows to stop a route asynchronously using a separate background thread which can allow any current in-flight exchange
* to complete while the route is being shutdown.
* You may attempt to stop a route from processing an exchange which would be in-flight and therefore attempting to stop
* the route will defer due there is an inflight exchange in-progress. By stopping the route independently using a separate
* thread ensures the exchange can continue process and complete and the route can be stopped.
*/
// TODO: in Camel 2.19 there is a stopRouteAsync method we can use
private void stopCurrentRouteAsync(final Route route) {
String threadId = route.getRouteContext().getCamelContext().getExecutorServiceManager().resolveThreadName("StopRouteAsync");
Runnable task = () -> {
try {
route.getRouteContext().getCamelContext().stopRoute(route.getId());
} catch (Exception e) {
handleException(e);
}
};
new Thread(task, threadId).start();
}
代码示例来源:origin: org.apache.camel/camel-micrometer
default Tags getTags(Route route, NamedNode node) {
return Tags.of(
CAMEL_CONTEXT_TAG, route.getRouteContext().getCamelContext().getName(),
SERVICE_NAME, MicrometerMessageHistoryService.class.getSimpleName(),
ROUTE_ID_TAG, route.getId(),
NODE_ID_TAG, node.getId()
);
}
代码示例来源:origin: org.apache.camel/camel-zookeeper
@Override
public void onInit(Route route) {
ensureElectionIsCreated();
LOG.info("Route managed by {}. Setting route [{}] AutoStartup flag to false.", this.getClass(), route.getId());
route.getRouteContext().getRoute().setAutoStartup("false");
if (election.isMaster()) {
if (shouldStopRoute) {
startManagedRoute(route);
}
} else {
if (shouldStopRoute) {
stopManagedRoute(route);
}
}
}
代码示例来源:origin: org.apache.camel/camel-zookeeper
@Override
public void onInit(Route route) {
ensureElectionIsCreated(route);
LOG.info("Route managed by {}. Setting route {} AutoStartup flag to false.", this.getClass(), route.getId());
route.getRouteContext().getRoute().setAutoStartup("false");
ensureElectionIsCreated(route);
if (election.isMaster()) {
if (shouldStopRoute) {
startManagedRoute(route);
}
} else {
if (shouldStopRoute) {
stopManagedRoute(route);
}
}
}
代码示例来源:origin: com.bosch.bis.monitoring/bis-event-publisher-impl
private void reportNonCustomRouteIDs(Route route) {
CamelContext camelContext = route.getRouteContext().getCamelContext();
RouteDefinition routeDefinition = camelContext.getRouteDefinition(route.getId());
if (routeDefinition.getCustomId() == null || !routeDefinition.getCustomId()) {
LOG.warn("Problem detected: Route " + StringUtils.quote(route.getId()) + " has no custom ID set! Endpoint URI is " + route.getEndpoint().getEndpointUri());
}
}
代码示例来源:origin: org.apache.camel/camel-quartz2
public void scheduleRoute(Action action, Route route) throws Exception {
JobDetail jobDetail = createJobDetail(action, route);
Trigger trigger = createTrigger(action, route);
updateScheduledRouteDetails(action, jobDetail, trigger, route);
loadCallbackDataIntoSchedulerContext(jobDetail, action, route);
boolean isClustered = route.getRouteContext().getCamelContext().getComponent("quartz2", QuartzComponent.class).isClustered();
if (isClustered) {
// check to see if the same job has already been setup through another node of the cluster
JobDetail existingJobDetail = getScheduler().getJobDetail(jobDetail.getKey());
if (jobDetail.equals(existingJobDetail)) {
if (LOG.isInfoEnabled()) {
LOG.info("Skipping to schedule the job: {} for action: {} on route {} as the job: {} already existing inside the cluster",
new Object[] {jobDetail.getKey(), action, route.getId(), existingJobDetail.getKey()});
}
// skip scheduling the same job again as one is already existing for the same routeId and action
return;
}
}
getScheduler().scheduleJob(jobDetail, trigger);
if (LOG.isInfoEnabled()) {
LOG.info("Scheduled trigger: {} for action: {} on route {}", trigger.getKey(), action, route.getId());
}
}
代码示例来源:origin: org.apache.camel/camel-quartz2
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);
}
}
}
代码示例来源:origin: org.apache.camel/camel-quartz
public void scheduleRoute(Action action, Route route) throws Exception {
JobDetail jobDetail = createJobDetail(action, route);
Trigger trigger = createTrigger(action, route);
updateScheduledRouteDetails(action, jobDetail, trigger, route);
loadCallbackDataIntoSchedulerContext(jobDetail, action, route);
boolean isClustered = route.getRouteContext().getCamelContext().getComponent("quartz", QuartzComponent.class).isClustered();
if (isClustered) {
// check to see if the same job has already been setup through another node of the cluster
JobDetail existingJobDetail = getScheduler().getJobDetail(jobDetail.getName(), jobDetail.getGroup());
if (jobDetail.equals(existingJobDetail)) {
if (LOG.isInfoEnabled()) {
LOG.info("Skipping to schedule the job: {} for action: {} on route {} as the job: {} already existing inside the cluster",
new Object[] {jobDetail.getFullName(), action, route.getId(), existingJobDetail.getFullName()});
}
// skip scheduling the same job again as one is already existing for the same routeId and action
return;
}
}
getScheduler().scheduleJob(jobDetail, trigger);
if (LOG.isInfoEnabled()) {
LOG.info("Scheduled trigger: {} for action: {} on route {}", trigger.getFullName(), action, route.getId());
}
}
代码示例来源:origin: org.apache.camel/camel-quartz
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
SchedulerContext schedulerContext;
try {
schedulerContext = jobExecutionContext.getScheduler().getContext();
} catch (SchedulerException e) {
throw new JobExecutionException("Failed to obtain scheduler context for job " + jobExecutionContext.getJobDetail().getName());
}
ScheduledJobState state = (ScheduledJobState) schedulerContext.get(jobExecutionContext.getJobDetail().getName());
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().getFullName(), e);
}
}
}
代码示例来源:origin: org.apache.camel/camel-micrometer
@Override
public void onInit(Route route) {
super.onInit(route);
if (getMeterRegistry() == null) {
setMeterRegistry(MicrometerUtils.getOrCreateMeterRegistry(
route.getRouteContext().getCamelContext().getRegistry(), METRICS_REGISTRY_NAME));
}
try {
MicrometerRoutePolicyService registryService = route.getRouteContext().getCamelContext().hasService(MicrometerRoutePolicyService.class);
if (registryService == null) {
registryService = new MicrometerRoutePolicyService();
registryService.setMeterRegistry(getMeterRegistry());
registryService.setPrettyPrint(isPrettyPrint());
registryService.setDurationUnit(getDurationUnit());
registryService.setMatchingTags(Tags.of(SERVICE_NAME, MicrometerRoutePolicyService.class.getSimpleName()));
route.getRouteContext().getCamelContext().addService(registryService);
ServiceHelper.startService(registryService);
}
} catch (Exception e) {
throw ObjectHelper.wrapRuntimeCamelException(e);
}
// create statistics holder
// for now we record only all the timings of a complete exchange (responses)
// we have in-flight / total statistics already from camel-core
statistics = new MetricsStatistics(getMeterRegistry(), route, getNamingStrategy());
}
代码示例来源:origin: org.drools/drools-camel-legacy5
public JAXBContext getJaxbContext() {
if ( this.jaxbContext == null ) {
JaxbDataFormat def = new JaxbDataFormat();
def.setPrettyPrint( true );
def.setContextPath( "org.drools.model:org.drools.pipeline.camel" );
// create a jaxbContext for the test to use outside of Camel.
StatefulKnowledgeSession ksession1 = (StatefulKnowledgeSession) node.get( "ksession1",
CommandExecutor.class );
KnowledgeBase kbase = ksession1.getKieBase();
ClassLoader originalCl = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader( ((ReteooRuleBase) ((KnowledgeBaseImpl) kbase).getRuleBase()).getRootClassLoader() );
def = DroolsPolicy.augmentJaxbDataFormatDefinition( def );
org.apache.camel.converter.jaxb.JaxbDataFormat jaxbDataformat = (org.apache.camel.converter.jaxb.JaxbDataFormat) def.getDataFormat( this.context.getRoutes().get( 0 ).getRouteContext() );
jaxbDataformat.setCamelContext(routeBuilder.getContext());
try {
jaxbDataformat.start();
} catch (Exception e) {
throw new IllegalStateException(e);
}
jaxbContext = jaxbDataformat.getContext();
} finally {
Thread.currentThread().setContextClassLoader( originalCl );
}
}
return jaxbContext;
}
代码示例来源:origin: org.drools/drools-camel-legacy5
public JAXBContext getJaxbContext() {
if ( this.jaxbContext == null ) {
JaxbDataFormat def = new JaxbDataFormat();
def.setPrettyPrint( true );
// TODO does not work: def.setContextPath( "org.drools.camel.testdomain:org.drools.pipeline.camel" );
def.setContextPath( "org.drools.pipeline.camel" );
// create a jaxbContext for the test to use outside of Camel.
StatefulKnowledgeSession ksession1 = (StatefulKnowledgeSession) node.get( "ksession1",
CommandExecutor.class );
KnowledgeBase kbase = ksession1.getKieBase();
ClassLoader originalCl = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader( ((ReteooRuleBase) ((KnowledgeBaseImpl) kbase).getRuleBase()).getRootClassLoader() );
def = DroolsPolicy.augmentJaxbDataFormatDefinition( def );
org.apache.camel.converter.jaxb.JaxbDataFormat jaxbDataformat = (org.apache.camel.converter.jaxb.JaxbDataFormat) def.getDataFormat( this.context.getRoutes().get( 0 ).getRouteContext() );
jaxbDataformat.setCamelContext(routeBuilder.getContext());
try {
jaxbDataformat.start();
} catch (Exception e) {
throw new IllegalStateException(e);
}
jaxbContext = jaxbDataformat.getContext();
} finally {
Thread.currentThread().setContextClassLoader( originalCl );
}
}
return jaxbContext;
}
代码示例来源:origin: org.apache.camel/camel-quartz
protected void doOnInit(Route route) throws Exception {
QuartzComponent quartz = route.getRouteContext().getCamelContext().getComponent("quartz", QuartzComponent.class);
setScheduler(quartz.getScheduler());
// Important: do not start scheduler as QuartzComponent does that automatic
// when CamelContext has been fully initialized and started
if (getRouteStopGracePeriod() == 0) {
setRouteStopGracePeriod(10000);
}
if (getTimeUnit() == null) {
setTimeUnit(TimeUnit.MILLISECONDS);
}
// validate time options has been configured
if ((getRouteStartTime() == null) && (getRouteStopTime() == null) && (getRouteSuspendTime() == null) && (getRouteResumeTime() == null)) {
throw new IllegalArgumentException("Scheduled Route Policy for route " + route.getId() + " has no start/stop/suspend/resume times specified");
}
registerRouteToScheduledRouteDetails(route);
if (getRouteStartTime() != null) {
scheduleRoute(Action.START, route);
}
if (getRouteStopTime() != null) {
scheduleRoute(Action.STOP, route);
}
if (getRouteSuspendTime() != null) {
scheduleRoute(Action.SUSPEND, route);
}
if (getRouteResumeTime() != null) {
scheduleRoute(Action.RESUME, route);
}
}
代码示例来源:origin: org.apache.camel/camel-quartz
protected void doOnInit(Route route) throws Exception {
QuartzComponent quartz = route.getRouteContext().getCamelContext().getComponent("quartz", QuartzComponent.class);
setScheduler(quartz.getScheduler());
// Important: do not start scheduler as QuartzComponent does that automatic
// when CamelContext has been fully initialized and started
if (getRouteStopGracePeriod() == 0) {
setRouteStopGracePeriod(10000);
}
if (getTimeUnit() == null) {
setTimeUnit(TimeUnit.MILLISECONDS);
}
// validate time options has been configured
if ((getRouteStartDate() == null) && (getRouteStopDate() == null) && (getRouteSuspendDate() == null) && (getRouteResumeDate() == null)) {
throw new IllegalArgumentException("Scheduled Route Policy for route " + route.getId() + " has no start/stop/suspend/resume times specified");
}
registerRouteToScheduledRouteDetails(route);
if (getRouteStartDate() != null) {
scheduleRoute(Action.START, route);
}
if (getRouteStopDate() != null) {
scheduleRoute(Action.STOP, route);
}
if (getRouteSuspendDate() != null) {
scheduleRoute(Action.SUSPEND, route);
}
if (getRouteResumeDate() != null) {
scheduleRoute(Action.RESUME, route);
}
}
内容来源于网络,如有侵权,请联系作者删除!