Class LanguageEndpoint
java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.support.DefaultEndpoint
org.apache.camel.support.ScheduledPollEndpoint
org.apache.camel.support.DefaultPollingEndpoint
org.apache.camel.support.ProcessorEndpoint
org.apache.camel.component.ResourceEndpoint
org.apache.camel.component.language.LanguageEndpoint
- All Implemented Interfaces:
AutoCloseable,org.apache.camel.api.management.mbean.ManagedResourceEndpointMBean,org.apache.camel.CamelContextAware,org.apache.camel.ComponentAware,org.apache.camel.Endpoint,org.apache.camel.IsSingleton,org.apache.camel.Service,org.apache.camel.ShutdownableService,org.apache.camel.spi.HasCamelContext,org.apache.camel.spi.HasId,org.apache.camel.StatefulService,org.apache.camel.SuspendableService
@UriEndpoint(firstVersion="2.5.0",
scheme="language",
title="Language",
syntax="language:languageName:resourceUri",
remote=false,
producerOnly=true,
category={CORE,SCRIPT},
headersClass=LanguageConstants.class)
public class LanguageEndpoint
extends org.apache.camel.component.ResourceEndpoint
Execute scripts in any of the languages supported by Camel.
By having a component to execute language scripts, it allows more dynamic routing capabilities. For example by using
the Routing Slip or Dynamic Router EIPs you can send messages to language endpoints where the script is dynamic
defined as well.
-
Field Summary
Fields inherited from class org.apache.camel.component.ResourceEndpoint
logFields inherited from class org.apache.camel.support.service.BaseService
BUILT, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTING_DOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING -
Constructor Summary
ConstructorsConstructorDescriptionLanguageEndpoint(String endpointUri, org.apache.camel.Component component, org.apache.camel.spi.Language language, org.apache.camel.Expression expression, String resourceUri) -
Method Summary
Modifier and TypeMethodDescriptionvoidorg.apache.camel.ConsumercreateConsumer(org.apache.camel.Processor processor) protected Stringorg.apache.camel.Producerprotected voiddoInit()org.apache.camel.Expressionorg.apache.camel.spi.LanguagebooleanisBinary()booleanbooleanbooleanprotected StringresolveScript(String script) Resolves the script.voidsetBinary(boolean binary) Whether the script is binary content or text content.voidsetCacheScript(boolean cacheScript) Whether to cache the compiled script and reusevoidsetContentResolvedFromResource(boolean contentResolvedFromResource) voidsetExpression(org.apache.camel.Expression expression) voidsetLanguageName(String languageName) Sets the name of the language to usevoidsetResourceUri(String resourceUri) Path to the resource, or a reference to lookup a bean in the Registry to use as the resourcevoidsetResultType(String resultType) Sets the class of the result type (type from output)voidSets the script to executevoidsetTransform(boolean transform) Whether or not the result of the script should be used as message body.Methods inherited from class org.apache.camel.component.ResourceEndpoint
getCamelId, getCamelManagementName, getResourceAsInputStream, getResourceAsInputStreamWithoutCache, getState, isAllowContextMapAll, isContentCache, isContentCacheCleared, loadResource, setAllowContextMapAll, setContentCacheMethods inherited from class org.apache.camel.support.ProcessorEndpoint
createPollingConsumer, createProcessor, getProcessor, onExchange, setProcessorMethods inherited from class org.apache.camel.support.ScheduledPollEndpoint
configureConsumer, configureProperties, configureScheduledPollConsumerProperties, doConfigureConsumer, getBackoffErrorThreshold, getBackoffIdleThreshold, getBackoffMultiplier, getDefaultDelay, getDelay, getInitialDelay, getPollStrategy, getRepeatCount, getRunLoggingLevel, getScheduledExecutorService, getScheduler, getSchedulerProperties, getTimeUnit, isGreedy, isSendEmptyMessageWhenIdle, isStartScheduler, isUseFixedDelay, setBackoffErrorThreshold, setBackoffIdleThreshold, setBackoffMultiplier, setDelay, setGreedy, setInitialDelay, setPollStrategy, setRepeatCount, setRunLoggingLevel, setScheduledExecutorService, setScheduler, setSchedulerProperties, setSendEmptyMessageWhenIdle, setStartScheduler, setTimeUnit, setUseFixedDelayMethods inherited from class org.apache.camel.support.DefaultEndpoint
configureExchange, configurePollingConsumer, createAsyncProducer, createExchange, createExchange, equals, getCamelContext, getComponent, getEndpointKey, getEndpointUri, getExceptionHandler, getExchangePattern, getId, getPollingConsumerBlockTimeout, getPollingConsumerQueueSize, hashCode, isAutowiredEnabled, isBridgeErrorHandler, isLazyStartProducer, isLenientProperties, isPollingConsumerBlockWhenFull, isPollingConsumerCopy, isSingleton, setAutowiredEnabled, setBridgeErrorHandler, setCamelContext, setComponent, setEndpointUri, setEndpointUriIfNotSpecified, setExceptionHandler, setExchangePattern, setLazyStartProducer, setPollingConsumerBlockTimeout, setPollingConsumerBlockWhenFull, setPollingConsumerCopy, setPollingConsumerQueueSize, setProperties, toStringMethods inherited from class org.apache.camel.support.service.BaseService
build, doBuild, doFail, doLifecycleChange, doResume, doShutdown, doStart, doStop, doSuspend, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspendMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.camel.ComponentAware
getComponentMethods inherited from interface org.apache.camel.Endpoint
getEndpointBaseUri, isSingletonProducerMethods inherited from interface org.apache.camel.Service
build, close, init, start, stopMethods inherited from interface org.apache.camel.ShutdownableService
shutdownMethods inherited from interface org.apache.camel.StatefulService
getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspendingMethods inherited from interface org.apache.camel.SuspendableService
isSuspended, resume, suspend
-
Constructor Details
-
LanguageEndpoint
public LanguageEndpoint() -
LanguageEndpoint
-
-
Method Details
-
doInit
- Overrides:
doInitin classorg.apache.camel.support.DefaultEndpoint- Throws:
Exception
-
createProducer
- Specified by:
createProducerin interfaceorg.apache.camel.Endpoint- Overrides:
createProducerin classorg.apache.camel.support.ProcessorEndpoint- Throws:
Exception
-
createConsumer
public org.apache.camel.Consumer createConsumer(org.apache.camel.Processor processor) throws Exception - Specified by:
createConsumerin interfaceorg.apache.camel.Endpoint- Overrides:
createConsumerin classorg.apache.camel.support.DefaultPollingEndpoint- Throws:
Exception
-
resolveScript
Resolves the script.- Parameters:
script- script or uri for a script to load- Returns:
- the script
- Throws:
IOException- is thrown if error loading the script
-
createEndpointUri
- Overrides:
createEndpointUriin classorg.apache.camel.support.DefaultEndpoint
-
getLanguage
public org.apache.camel.spi.Language getLanguage() -
getExpression
public org.apache.camel.Expression getExpression() -
setExpression
public void setExpression(org.apache.camel.Expression expression) -
isTransform
public boolean isTransform() -
setTransform
public void setTransform(boolean transform) Whether or not the result of the script should be used as message body. This options is default true.- Parameters:
transform- true to use result as new message body, false to keep the existing message body
-
isBinary
public boolean isBinary() -
setBinary
public void setBinary(boolean binary) Whether the script is binary content or text content. By default the script is read as text content (eg java.lang.String)- Parameters:
binary- true to read the script as binary, instead of text based.
-
setLanguageName
Sets the name of the language to use- Parameters:
languageName- the name of the language
-
setResourceUri
Path to the resource, or a reference to lookup a bean in the Registry to use as the resource- Overrides:
setResourceUriin classorg.apache.camel.component.ResourceEndpoint- Parameters:
resourceUri- the resource path
-
getResourceUri
- Overrides:
getResourceUriin classorg.apache.camel.component.ResourceEndpoint
-
setScript
Sets the script to execute- Parameters:
script- the script
-
getScript
-
isContentResolvedFromResource
public boolean isContentResolvedFromResource() -
setContentResolvedFromResource
public void setContentResolvedFromResource(boolean contentResolvedFromResource) -
isCacheScript
public boolean isCacheScript() -
setCacheScript
public void setCacheScript(boolean cacheScript) Whether to cache the compiled script and reuse Notice reusing the script can cause side effects from processing one CamelExchangeto the nextExchange. -
getResultType
-
setResultType
Sets the class of the result type (type from output) -
clearContentCache
public void clearContentCache()- Specified by:
clearContentCachein interfaceorg.apache.camel.api.management.mbean.ManagedResourceEndpointMBean- Overrides:
clearContentCachein classorg.apache.camel.component.ResourceEndpoint
-