Class AgentEngineConfiguration

java.lang.Object
org.flowable.common.engine.impl.AbstractEngineConfiguration
org.flowable.common.engine.impl.AbstractBuildableEngineConfiguration<AgentEngine>
com.flowable.agent.engine.AgentEngineConfiguration
All Implemented Interfaces:
AgentEngineConfigurationApi, org.flowable.common.engine.impl.HasExpressionManagerEngineConfiguration, org.flowable.common.spring.SpringEngineConfiguration, Aware, ApplicationContextAware, Lifecycle, Phased, SmartLifecycle

public class AgentEngineConfiguration extends org.flowable.common.engine.impl.AbstractBuildableEngineConfiguration<AgentEngine> implements org.flowable.common.spring.SpringEngineConfiguration, org.flowable.common.engine.impl.HasExpressionManagerEngineConfiguration, AgentEngineConfigurationApi
  • Field Details

    • DEFAULT_MYBATIS_MAPPING_FILE

      public static final String DEFAULT_MYBATIS_MAPPING_FILE
      See Also:
    • DEFAULT_ENGINE_NAME

      public static final String DEFAULT_ENGINE_NAME
      See Also:
    • agentEngineName

      protected String agentEngineName
    • httpClientConfig

      protected org.flowable.http.common.impl.HttpClientConfig httpClientConfig
    • expressionManager

      protected org.flowable.common.engine.impl.el.ExpressionManager expressionManager
    • expressionManagerConfigurers

      protected Collection<Consumer<org.flowable.common.engine.impl.el.ExpressionManager>> expressionManagerConfigurers
    • agentRepositoryService

      protected AgentRepositoryService agentRepositoryService
    • agentRuntimeService

      protected AgentRuntimeService agentRuntimeService
    • agentHistoryService

      protected AgentHistoryService agentHistoryService
    • agentManagementService

      protected AgentManagementService agentManagementService
    • dataManagers

      protected final AgentDataManagers dataManagers
    • entityManagers

      protected final AgentEntityManagers entityManagers
    • historyManager

      protected AgentHistoryManager historyManager
    • historyConfigurationSettings

      protected AgentHistoryConfigurationSettings historyConfigurationSettings
    • JOB_EXECUTION_SCOPE

      public static final String JOB_EXECUTION_SCOPE
      See Also:
    • jobServiceConfiguration

      protected org.flowable.job.service.JobServiceConfiguration jobServiceConfiguration
    • eventSubscriptionServiceConfiguration

      protected org.flowable.eventsubscription.service.EventSubscriptionServiceConfiguration eventSubscriptionServiceConfiguration
    • asyncExecutorConfiguration

      protected org.flowable.job.service.impl.asyncexecutor.AsyncJobExecutorConfiguration asyncExecutorConfiguration
    • asyncExecutor

      protected org.flowable.job.service.impl.asyncexecutor.AsyncExecutor asyncExecutor
    • asyncTaskExecutor

      protected org.flowable.common.engine.api.async.AsyncTaskExecutor asyncTaskExecutor
    • shutdownAsyncTaskExecutor

      protected boolean shutdownAsyncTaskExecutor
    • jobManager

      protected org.flowable.job.service.impl.asyncexecutor.JobManager jobManager
    • customJobHandlers

      protected List<org.flowable.job.service.JobHandler> customJobHandlers
    • jobHandlers

      protected Map<String,org.flowable.job.service.JobHandler> jobHandlers
    • internalJobManager

      protected org.flowable.job.service.InternalJobManager internalJobManager
    • customAsyncRunnableExecutionExceptionHandlers

      protected List<org.flowable.job.service.impl.asyncexecutor.AsyncRunnableExecutionExceptionHandler> customAsyncRunnableExecutionExceptionHandlers
    • addDefaultExceptionHandler

      protected boolean addDefaultExceptionHandler
    • failedJobCommandFactory

      protected org.flowable.job.service.impl.asyncexecutor.FailedJobCommandFactory failedJobCommandFactory
    • internalJobParentStateResolver

      protected org.flowable.job.service.InternalJobParentStateResolver internalJobParentStateResolver
    • jobExecutionScope

      protected String jobExecutionScope
    • asyncExecutorActivate

      protected boolean asyncExecutorActivate
      Boolean flag to be set to activate the AsyncExecutor automatically after the engine has booted up.
    • asyncExecutorNumberOfRetries

      protected int asyncExecutorNumberOfRetries
      The number of retries for a job.
    • lockTimeAsyncJobWaitTime

      protected int lockTimeAsyncJobWaitTime
      Define the default lock time for an async job in seconds. The lock time is used when creating an async job and when it expires the async executor assumes that the job has failed. It will be retried again.
    • defaultFailedJobWaitTime

      protected int defaultFailedJobWaitTime
      Define the default wait time for a failed job in seconds
    • asyncFailedJobWaitTime

      protected int asyncFailedJobWaitTime
      Defines the default wait time for a failed async job in seconds
    • asyncExecutorCorePoolSize

      protected int asyncExecutorCorePoolSize
      The minimal number of threads that are kept alive in the threadpool for job execution. Default value = 2.

      This property is only applicable when using the threadpool-based async executor.

    • asyncExecutorMaxPoolSize

      protected int asyncExecutorMaxPoolSize
      The maximum number of threads that are created in the threadpool for job execution. Default value = 10.

      This property is only applicable when using the threadpool-based async executor.

    • asyncExecutorThreadKeepAliveTime

      protected long asyncExecutorThreadKeepAliveTime
      The time (in milliseconds) a thread used for job execution must be kept alive before it is destroyed. Default setting is 5 seconds. Having a setting greater than 0 takes resources, but in the case of many job executions it avoids creating new threads all the time. If 0, threads will be destroyed after they've been used for job execution.

      This property is only applicable when using the threadpool-based async executor.

    • asyncExecutorThreadPoolQueueSize

      protected int asyncExecutorThreadPoolQueueSize
      The size of the queue on which jobs to be executed are placed, before they are actually executed. Default value = 100.

      This property is only applicable when using the threadpool-based async executor.

    • asyncExecutorThreadPoolQueue

      protected BlockingQueue<Runnable> asyncExecutorThreadPoolQueue
      The queue onto which jobs will be placed before they are actually executed. Threads form the async executor threadpool will take work from this queue.

      By default null. If null, an ArrayBlockingQueue will be created of size asyncExecutorThreadPoolQueueSize.

      When the queue is full, the job will be executed by the calling thread (ThreadPoolExecutor.CallerRunsPolicy())

      This property is only applicable when using the threadpool-based async executor.

    • asyncExecutorSecondsToWaitOnShutdown

      protected long asyncExecutorSecondsToWaitOnShutdown
      The time (in seconds) that is waited to gracefully shut down the threadpool used for job execution when a shutdown on the executor (or engine) is requested. Default value = 60.

      This property is only applicable when using the threadpool-based async executor.

    • asyncExecutorAllowCoreThreadTimeout

      protected boolean asyncExecutorAllowCoreThreadTimeout
      Whether or not core threads can time out (which is needed to scale down the threads). Default true.

      This property is only applicable when using the threadpool-based async executor.

    • asyncExecutorResetExpiredJobsMaxTimeout

      protected int asyncExecutorResetExpiredJobsMaxTimeout
      The amount of time (in milliseconds) a job can maximum be in the 'executable' state before being deemed expired. Note that this won't happen when using the threadpool based executor, as the acquire thread will fetch these kind of jobs earlier. However, in the message queue based execution, it could be some job is posted to a queue but then never is locked nor executed.

      By default 24 hours, as this should be a very exceptional case.

    • asyncExecutorExecuteAsyncRunnableFactory

      protected org.flowable.job.service.impl.asyncexecutor.ExecuteAsyncRunnableFactory asyncExecutorExecuteAsyncRunnableFactory
      Allows to define a custom factory for creating the Runnable that is executed by the async executor.

      This property is only applicable when using the threadpool-based async executor.

    • asyncHistoryExecutor

      protected org.flowable.job.service.impl.asyncexecutor.AsyncExecutor asyncHistoryExecutor
    • businessCalendarManager

      protected org.flowable.common.engine.impl.calendar.BusinessCalendarManager businessCalendarManager
    • identityLinkServiceConfiguration

      protected org.flowable.identitylink.service.IdentityLinkServiceConfiguration identityLinkServiceConfiguration
    • eventRegistryEventConsumer

      protected org.flowable.eventregistry.api.EventRegistryEventConsumer eventRegistryEventConsumer
    • licenseCheckService

      protected com.flowable.license.LicenseCheckService licenseCheckService
    • transactionManager

      protected PlatformTransactionManager transactionManager
    • transactionSynchronizationAdapterOrder

      protected Integer transactionSynchronizationAdapterOrder
    • applicationContext

      protected ApplicationContext applicationContext
    • running

      protected volatile boolean running
    • agentDefinitionDeployer

      protected AgentDefinitionDeployer agentDefinitionDeployer
    • agentDeploymentManager

      protected AgentDeploymentManager agentDeploymentManager
    • agentJsonConverter

      protected AgentJsonConverter agentJsonConverter
    • knowledgeBaseResourceConverter

      protected KnowledgeBaseResourceConverter knowledgeBaseResourceConverter
    • agentDefinitionCacheLimit

      protected int agentDefinitionCacheLimit
    • agentDefinitionCache

      protected org.flowable.common.engine.impl.persistence.deploy.DeploymentCache<AgentDefinitionCacheEntry> agentDefinitionCache
    • knowledgeBaseDefinitionCacheLimit

      protected int knowledgeBaseDefinitionCacheLimit
    • knowledgeBaseDefinitionCache

      protected org.flowable.common.engine.impl.persistence.deploy.DeploymentCache<KnowledgeBaseDefinitionCacheEntry> knowledgeBaseDefinitionCache
    • aiModelManager

      protected AiModelManager aiModelManager
    • externalAgentInvokers

      protected Map<String,ExternalAgentInvoker> externalAgentInvokers
    • knowledgeBaseModelProcessors

      protected List<KnowledgeBaseModelProcessor> knowledgeBaseModelProcessors
    • knowledgeBaseModelComparator

      protected KnowledgeBaseModelComparator knowledgeBaseModelComparator
    • contentToMarkdownConverters

      protected List<ContentToMarkdownConverter> contentToMarkdownConverters
    • contentToImageConverters

      protected List<ContentToImageConverter> contentToImageConverters
    • agentModelProcessors

      protected Collection<AgentModelProcessor> agentModelProcessors
    • fallbackAuthenticationApiKeyProvider

      protected FallbackAuthenticationApiKeyProvider fallbackAuthenticationApiKeyProvider
    • defaultAgentAdvisors

      protected Map<String,org.springframework.ai.chat.client.advisor.api.Advisor> defaultAgentAdvisors
    • defaultToolCallbacks

      protected Map<String,org.springframework.ai.tool.ToolCallback> defaultToolCallbacks
    • toolCallingManager

      protected org.springframework.ai.model.tool.ToolCallingManager toolCallingManager
    • agentToolCallbackCreators

      protected Map<String,AgentToolCallbackCreator> agentToolCallbackCreators
    • retryTemplate

      protected org.springframework.retry.support.RetryTemplate retryTemplate
    • responseErrorHandler

      protected ResponseErrorHandler responseErrorHandler
    • restClientBuilder

      protected RestClient.Builder restClientBuilder
    • webClientBuilder

      protected WebClient.Builder webClientBuilder
    • chatClients

      protected Map<String,org.springframework.ai.chat.client.ChatClient> chatClients
    • chatModels

      protected Map<String,org.springframework.ai.chat.model.ChatModel> chatModels
    • openAiConfiguration

      protected OpenAiConfiguration openAiConfiguration
    • anthropicChatConfiguration

      protected AnthropicChatConfiguration anthropicChatConfiguration
    • defaultAgentExchangeMessageBuilder

      protected DefaultAgentExchangeMessageBuilder defaultAgentExchangeMessageBuilder
    • defaultAgentOperationBuilder

      protected DefaultAgentOperationBuilder defaultAgentOperationBuilder
    • deploymentName

      protected String deploymentName
    • deploymentResources

      protected Resource[] deploymentResources
    • deploymentMode

      protected String deploymentMode
    • deploymentStrategies

      protected Collection<org.flowable.common.spring.AutoDeploymentStrategy<AgentEngine>> deploymentStrategies
    • enginesBuild

      protected List<String> enginesBuild
    • lifeCycleMonitor

      protected final Object lifeCycleMonitor
    • preDefaultELResolvers

      protected Collection<org.flowable.common.engine.impl.javax.el.ELResolver> preDefaultELResolvers
    • preBeanELResolvers

      protected Collection<org.flowable.common.engine.impl.javax.el.ELResolver> preBeanELResolvers
    • postDefaultELResolvers

      protected Collection<org.flowable.common.engine.impl.javax.el.ELResolver> postDefaultELResolvers
    • elasticsearchClient

      protected ElasticsearchClient elasticsearchClient
    • elasticsearchIndexNamePrefixProvider

      protected Supplier<String> elasticsearchIndexNamePrefixProvider
    • rateLimiter

      protected AgentRateLimiter rateLimiter
    • rateLimiterTokenCountEstimator

      protected org.springframework.ai.tokenizer.TokenCountEstimator rateLimiterTokenCountEstimator
    • observationRegistry

      protected io.micrometer.observation.ObservationRegistry observationRegistry
  • Constructor Details

    • AgentEngineConfiguration

      public AgentEngineConfiguration()
  • Method Details

    • getEngineCfgKey

      public String getEngineCfgKey()
      Specified by:
      getEngineCfgKey in class org.flowable.common.engine.impl.AbstractEngineConfiguration
    • getEngineScopeType

      public String getEngineScopeType()
      Specified by:
      getEngineScopeType in class org.flowable.common.engine.impl.AbstractEngineConfiguration
    • createTransactionInterceptor

      public org.flowable.common.engine.impl.interceptor.CommandInterceptor createTransactionInterceptor()
      Specified by:
      createTransactionInterceptor in class org.flowable.common.engine.impl.AbstractEngineConfiguration
    • initDbSqlSessionFactoryEntitySettings

      protected void initDbSqlSessionFactoryEntitySettings()
      Specified by:
      initDbSqlSessionFactoryEntitySettings in class org.flowable.common.engine.impl.AbstractEngineConfiguration
    • getMyBatisXmlConfigurationStream

      public InputStream getMyBatisXmlConfigurationStream()
      Specified by:
      getMyBatisXmlConfigurationStream in class org.flowable.common.engine.impl.AbstractEngineConfiguration
    • getEngineName

      public String getEngineName()
      Specified by:
      getEngineName in class org.flowable.common.engine.impl.AbstractEngineConfiguration
    • setTransactionSynchronizationAdapterOrder

      public void setTransactionSynchronizationAdapterOrder(Integer transactionSynchronizationAdapterOrder)
    • getDataManagers

      public AgentDataManagers getDataManagers()
    • getEntityManagers

      public AgentEntityManagers getEntityManagers()
    • setDataSource

      public AgentEngineConfiguration setDataSource(DataSource dataSource)
      Overrides:
      setDataSource in class org.flowable.common.engine.impl.AbstractEngineConfiguration
    • buildAgentEngine

      public AgentEngine buildAgentEngine()
    • createEngine

      protected AgentEngine createEngine()
      Specified by:
      createEngine in class org.flowable.common.engine.impl.AbstractBuildableEngineConfiguration<AgentEngine>
    • createPostEngineBuildConsumer

      protected Consumer<AgentEngine> createPostEngineBuildConsumer()
      Specified by:
      createPostEngineBuildConsumer in class org.flowable.common.engine.impl.AbstractBuildableEngineConfiguration<AgentEngine>
    • init

      protected void init()
      Specified by:
      init in class org.flowable.common.engine.impl.AbstractBuildableEngineConfiguration<AgentEngine>
    • initBeans

      public void initBeans()
      Overrides:
      initBeans in class org.flowable.common.engine.impl.AbstractEngineConfiguration
    • initExpressionManager

      protected void initExpressionManager()
    • initServices

      protected void initServices()
    • initObservationRegistry

      protected void initObservationRegistry()
    • initAgentModelProcessors

      protected void initAgentModelProcessors()
    • initAgentAdvisors

      protected void initAgentAdvisors()
    • initToolCallbacks

      protected void initToolCallbacks()
    • initToolCallingManager

      protected void initToolCallingManager()
    • initAgentToolCallbackCreators

      protected void initAgentToolCallbackCreators()
    • initRetryTemplate

      protected void initRetryTemplate()
    • initResponseErrorHandler

      protected void initResponseErrorHandler()
    • initRestClients

      protected void initRestClients()
    • initChatClients

      protected void initChatClients()
    • createChatClient

      public org.springframework.ai.chat.client.ChatClient createChatClient(org.springframework.ai.chat.model.ChatModel chatModel)
    • initTransactionContextFactory

      public void initTransactionContextFactory()
      Overrides:
      initTransactionContextFactory in class org.flowable.common.engine.impl.AbstractEngineConfiguration
    • initDefaultCommandConfig

      public void initDefaultCommandConfig()
      Overrides:
      initDefaultCommandConfig in class org.flowable.common.engine.impl.AbstractEngineConfiguration
    • initBusinessCalendarManager

      public void initBusinessCalendarManager()
    • initJobHandlers

      public void initJobHandlers()
    • initFailedJobCommandFactory

      public void initFailedJobCommandFactory()
    • initEventSubscriptionServiceConfiguration

      protected void initEventSubscriptionServiceConfiguration()
    • initJobServiceConfiguration

      public void initJobServiceConfiguration()
    • initAsyncTaskExecutor

      protected void initAsyncTaskExecutor()
    • initAsyncExecutor

      public void initAsyncExecutor()
    • initDefaultAgentExchangeMessageBuilder

      public void initDefaultAgentExchangeMessageBuilder()
    • initDefaultAgentOperationBuilder

      public void initDefaultAgentOperationBuilder()
    • initIdentityLinkServiceConfiguration

      protected void initIdentityLinkServiceConfiguration()
    • instantiateIdentityLinkServiceConfiguration

      protected org.flowable.identitylink.service.IdentityLinkServiceConfiguration instantiateIdentityLinkServiceConfiguration()
    • afterInitEventRegistryEventBusConsumer

      protected void afterInitEventRegistryEventBusConsumer()
    • getOrCreateAsyncExecutorConfiguration

      protected org.flowable.job.service.impl.asyncexecutor.AsyncJobExecutorConfiguration getOrCreateAsyncExecutorConfiguration()
    • initDataManagers

      public void initDataManagers()
      Overrides:
      initDataManagers in class org.flowable.common.engine.impl.AbstractEngineConfiguration
    • initEntityManagers

      public void initEntityManagers()
      Overrides:
      initEntityManagers in class org.flowable.common.engine.impl.AbstractEngineConfiguration
    • initHistoryManager

      public void initHistoryManager()
    • initHistoryConfigurationSettings

      public void initHistoryConfigurationSettings()
    • createEngineSchemaManager

      protected org.flowable.common.engine.impl.db.SchemaManager createEngineSchemaManager()
      Specified by:
      createEngineSchemaManager in class org.flowable.common.engine.impl.AbstractEngineConfiguration
    • initKnowledgeBaseModelProcessors

      protected void initKnowledgeBaseModelProcessors()
    • initKnowledgeBaseModelComparator

      protected void initKnowledgeBaseModelComparator()
    • initContentToMarkdownConverters

      protected void initContentToMarkdownConverters()
    • initContentToImageConverters

      protected void initContentToImageConverters()
    • initDeployers

      protected void initDeployers()
    • getDefaultDeployers

      public Collection<? extends org.flowable.common.engine.impl.EngineDeployer> getDefaultDeployers()
    • initDefinitionCaches

      protected void initDefinitionCaches()
    • initResourceConverters

      protected void initResourceConverters()
    • initDeploymentManager

      protected void initDeploymentManager()
    • initDefaultEngineLifeCycleListeners

      protected void initDefaultEngineLifeCycleListeners()
    • getTransactionManager

      public PlatformTransactionManager getTransactionManager()
      Specified by:
      getTransactionManager in interface org.flowable.common.spring.SpringEngineConfiguration
    • setTransactionManager

      public void setTransactionManager(PlatformTransactionManager transactionManager)
      Specified by:
      setTransactionManager in interface org.flowable.common.spring.SpringEngineConfiguration
    • getDeploymentName

      public String getDeploymentName()
      Specified by:
      getDeploymentName in interface org.flowable.common.spring.SpringEngineConfiguration
    • setDeploymentName

      public void setDeploymentName(String deploymentName)
      Specified by:
      setDeploymentName in interface org.flowable.common.spring.SpringEngineConfiguration
    • getDeploymentResources

      public Resource[] getDeploymentResources()
      Specified by:
      getDeploymentResources in interface org.flowable.common.spring.SpringEngineConfiguration
    • setDeploymentResources

      public void setDeploymentResources(Resource[] deploymentResources)
      Specified by:
      setDeploymentResources in interface org.flowable.common.spring.SpringEngineConfiguration
    • getApplicationContext

      public ApplicationContext getApplicationContext()
      Specified by:
      getApplicationContext in interface org.flowable.common.spring.SpringEngineConfiguration
    • setApplicationContext

      public void setApplicationContext(ApplicationContext applicationContext)
      Specified by:
      setApplicationContext in interface ApplicationContextAware
      Specified by:
      setApplicationContext in interface org.flowable.common.spring.SpringEngineConfiguration
    • getDeploymentMode

      public String getDeploymentMode()
      Specified by:
      getDeploymentMode in interface org.flowable.common.spring.SpringEngineConfiguration
    • setDeploymentMode

      public void setDeploymentMode(String deploymentMode)
      Specified by:
      setDeploymentMode in interface org.flowable.common.spring.SpringEngineConfiguration
    • getAgentEngineName

      public String getAgentEngineName()
    • setAgentEngineName

      public void setAgentEngineName(String agentEngineName)
    • getAgentDefinitionDeployer

      public AgentDefinitionDeployer getAgentDefinitionDeployer()
    • setAgentDefinitionDeployer

      public void setAgentDefinitionDeployer(AgentDefinitionDeployer agentDefinitionDeployer)
    • getAgentDeploymentManager

      public AgentDeploymentManager getAgentDeploymentManager()
    • setAgentDeploymentManager

      public void setAgentDeploymentManager(AgentDeploymentManager agentDeploymentManager)
    • getAgentJsonConverter

      public AgentJsonConverter getAgentJsonConverter()
    • setAgentJsonConverter

      public void setAgentJsonConverter(AgentJsonConverter agentJsonConverter)
    • getAgentDefinitionCacheLimit

      public int getAgentDefinitionCacheLimit()
    • setAgentDefinitionCacheLimit

      public void setAgentDefinitionCacheLimit(int agentDefinitionCacheLimit)
    • getAgentDefinitionCache

      public org.flowable.common.engine.impl.persistence.deploy.DeploymentCache<AgentDefinitionCacheEntry> getAgentDefinitionCache()
    • setAgentDefinitionCache

      public void setAgentDefinitionCache(org.flowable.common.engine.impl.persistence.deploy.DeploymentCache<AgentDefinitionCacheEntry> agentDefinitionCache)
    • getKnowledgeBaseDefinitionCacheLimit

      public int getKnowledgeBaseDefinitionCacheLimit()
    • setKnowledgeBaseDefinitionCacheLimit

      public void setKnowledgeBaseDefinitionCacheLimit(int knowledgeBaseDefinitionCacheLimit)
    • getKnowledgeBaseDefinitionCache

      public org.flowable.common.engine.impl.persistence.deploy.DeploymentCache<KnowledgeBaseDefinitionCacheEntry> getKnowledgeBaseDefinitionCache()
    • setKnowledgeBaseDefinitionCache

      public void setKnowledgeBaseDefinitionCache(org.flowable.common.engine.impl.persistence.deploy.DeploymentCache<KnowledgeBaseDefinitionCacheEntry> knowledgeBaseDefinitionCache)
    • getKnowledgeBaseResourceConverter

      public KnowledgeBaseResourceConverter getKnowledgeBaseResourceConverter()
    • setKnowledgeBaseResourceConverter

      public void setKnowledgeBaseResourceConverter(KnowledgeBaseResourceConverter knowledgeBaseResourceConverter)
    • getAiModelManager

      public AiModelManager getAiModelManager()
    • setAiModelManager

      public void setAiModelManager(AiModelManager aiModelManager)
    • getExternalAgentInvokers

      public Map<String,ExternalAgentInvoker> getExternalAgentInvokers()
    • registerExternalAgentInvoker

      public void registerExternalAgentInvoker(ExternalAgentInvoker externalAgentInvoker)
    • setExternalAgentInvokers

      public void setExternalAgentInvokers(Map<String,ExternalAgentInvoker> externalAgentInvokers)
    • getKnowledgeBaseModelProcessors

      public List<KnowledgeBaseModelProcessor> getKnowledgeBaseModelProcessors()
    • setKnowledgeBaseModelProcessors

      public void setKnowledgeBaseModelProcessors(List<KnowledgeBaseModelProcessor> knowledgeBaseModelProcessors)
    • getKnowledgeBaseModelComparator

      public KnowledgeBaseModelComparator getKnowledgeBaseModelComparator()
    • setKnowledgeBaseModelComparator

      public void setKnowledgeBaseModelComparator(KnowledgeBaseModelComparator knowledgeBaseModelComparator)
    • getContentToMarkdownConverters

      public List<ContentToMarkdownConverter> getContentToMarkdownConverters()
    • setContentToMarkdownConverters

      public void setContentToMarkdownConverters(List<ContentToMarkdownConverter> contentToMarkdownConverters)
    • getContentToImageConverters

      public List<ContentToImageConverter> getContentToImageConverters()
    • setContentToImageConverters

      public void setContentToImageConverters(List<ContentToImageConverter> contentToImageConverters)
    • getAgentModelProcessors

      public Collection<AgentModelProcessor> getAgentModelProcessors()
    • addAgentModelProcessor

      public void addAgentModelProcessor(AgentModelProcessor agentModelProcessor)
    • getFallbackAuthenticationApiKeyProvider

      public FallbackAuthenticationApiKeyProvider getFallbackAuthenticationApiKeyProvider()
    • setFallbackAuthenticationApiKeyProvider

      public void setFallbackAuthenticationApiKeyProvider(FallbackAuthenticationApiKeyProvider fallbackAuthenticationApiKeyProvider)
    • getDefaultAgentAdvisors

      public Map<String,org.springframework.ai.chat.client.advisor.api.Advisor> getDefaultAgentAdvisors()
    • addDefaultAgentAdvisor

      public void addDefaultAgentAdvisor(org.springframework.ai.chat.client.advisor.api.Advisor advisor)
    • addDefaultAgentAdvisor

      public void addDefaultAgentAdvisor(String name, org.springframework.ai.chat.client.advisor.api.Advisor advisor)
    • setDefaultAgentAdvisors

      public void setDefaultAgentAdvisors(Map<String,org.springframework.ai.chat.client.advisor.api.Advisor> defaultAgentAdvisors)
    • getDefaultToolCallbacks

      public Map<String,org.springframework.ai.tool.ToolCallback> getDefaultToolCallbacks()
    • addDefaultToolCallback

      public void addDefaultToolCallback(org.springframework.ai.tool.ToolCallback toolCallback)
    • addDefaultToolCallback

      public void addDefaultToolCallback(String name, org.springframework.ai.tool.ToolCallback toolCallback)
    • setDefaultToolCallbacks

      public void setDefaultToolCallbacks(Map<String,org.springframework.ai.tool.ToolCallback> defaultToolCallbacks)
    • setAgentModelProcessors

      public AgentEngineConfiguration setAgentModelProcessors(Collection<AgentModelProcessor> agentModelProcessors)
    • getToolCallingManager

      public org.springframework.ai.model.tool.ToolCallingManager getToolCallingManager()
    • setToolCallingManager

      public AgentEngineConfiguration setToolCallingManager(org.springframework.ai.model.tool.ToolCallingManager toolCallingManager)
    • getAgentToolCallbackCreators

      public Map<String,AgentToolCallbackCreator> getAgentToolCallbackCreators()
    • registerAgentToolCallbackCreator

      public void registerAgentToolCallbackCreator(AgentToolCallbackCreator agentToolCallbackCreator)
    • setAgentToolCallbackCreators

      public void setAgentToolCallbackCreators(Map<String,AgentToolCallbackCreator> agentToolCallbackCreators)
    • getRetryTemplate

      public org.springframework.retry.support.RetryTemplate getRetryTemplate()
    • setRetryTemplate

      public AgentEngineConfiguration setRetryTemplate(org.springframework.retry.support.RetryTemplate retryTemplate)
    • getResponseErrorHandler

      public ResponseErrorHandler getResponseErrorHandler()
    • setResponseErrorHandler

      public AgentEngineConfiguration setResponseErrorHandler(ResponseErrorHandler responseErrorHandler)
    • getRestClientBuilder

      public RestClient.Builder getRestClientBuilder()
    • setRestClientBuilder

      public AgentEngineConfiguration setRestClientBuilder(RestClient.Builder restClientBuilder)
    • getWebClientBuilder

      public WebClient.Builder getWebClientBuilder()
    • setWebClientBuilder

      public AgentEngineConfiguration setWebClientBuilder(WebClient.Builder webClientBuilder)
    • getChatClients

      public Map<String,org.springframework.ai.chat.client.ChatClient> getChatClients()
    • addChatClient

      public void addChatClient(String name, org.springframework.ai.chat.client.ChatClient chatClient)
    • setChatClients

      public void setChatClients(Map<String,org.springframework.ai.chat.client.ChatClient> chatClients)
    • getChatModels

      public Map<String,org.springframework.ai.chat.model.ChatModel> getChatModels()
    • addChatModel

      public void addChatModel(org.springframework.ai.chat.model.ChatModel chatModel)
    • addChatModel

      public void addChatModel(String name, org.springframework.ai.chat.model.ChatModel chatModel)
    • setChatModels

      public void setChatModels(Map<String,org.springframework.ai.chat.model.ChatModel> chatModels)
    • getOpenAiConfiguration

      public OpenAiConfiguration getOpenAiConfiguration()
    • setOpenAiConfiguration

      public void setOpenAiConfiguration(OpenAiConfiguration openAiConfiguration)
    • getAnthropicChatConfiguration

      public AnthropicChatConfiguration getAnthropicChatConfiguration()
    • setAnthropicChatConfiguration

      public void setAnthropicChatConfiguration(AnthropicChatConfiguration anthropicChatConfiguration)
    • start

      public void start()
      Specified by:
      start in interface Lifecycle
    • stop

      public void stop()
      Specified by:
      stop in interface Lifecycle
    • isRunning

      public boolean isRunning()
      Specified by:
      isRunning in interface Lifecycle
    • getPhase

      public int getPhase()
      Specified by:
      getPhase in interface Phased
      Specified by:
      getPhase in interface SmartLifecycle
      Specified by:
      getPhase in interface org.flowable.common.spring.SpringEngineConfiguration
    • getAgentRepositoryService

      public AgentRepositoryService getAgentRepositoryService()
      Specified by:
      getAgentRepositoryService in interface AgentEngineConfigurationApi
    • setAgentRepositoryService

      public void setAgentRepositoryService(AgentRepositoryService agentRepositoryService)
    • getAgentRuntimeService

      public AgentRuntimeService getAgentRuntimeService()
      Specified by:
      getAgentRuntimeService in interface AgentEngineConfigurationApi
    • setAgentRuntimeService

      public void setAgentRuntimeService(AgentRuntimeService agentRuntimeService)
    • getAgentHistoryService

      public AgentHistoryService getAgentHistoryService()
      Specified by:
      getAgentHistoryService in interface AgentEngineConfigurationApi
    • setAgentHistoryService

      public void setAgentHistoryService(AgentHistoryService agentHistoryService)
    • getAgentManagementService

      public AgentManagementService getAgentManagementService()
      Specified by:
      getAgentManagementService in interface AgentEngineConfigurationApi
    • setAgentManagementService

      public void setAgentManagementService(AgentManagementService agentManagementService)
    • getJobServiceConfiguration

      public org.flowable.job.service.JobServiceConfiguration getJobServiceConfiguration()
    • setJobServiceConfiguration

      public void setJobServiceConfiguration(org.flowable.job.service.JobServiceConfiguration jobServiceConfiguration)
    • getEventSubscriptionServiceConfiguration

      public org.flowable.eventsubscription.service.EventSubscriptionServiceConfiguration getEventSubscriptionServiceConfiguration()
    • setEventSubscriptionServiceConfiguration

      public void setEventSubscriptionServiceConfiguration(org.flowable.eventsubscription.service.EventSubscriptionServiceConfiguration eventSubscriptionServiceConfiguration)
    • getIdentityLinkServiceConfiguration

      public org.flowable.identitylink.service.IdentityLinkServiceConfiguration getIdentityLinkServiceConfiguration()
    • setIdentityLinkServiceConfiguration

      public void setIdentityLinkServiceConfiguration(org.flowable.identitylink.service.IdentityLinkServiceConfiguration identityLinkServiceConfiguration)
    • getLicenseCheckService

      public com.flowable.license.LicenseCheckService getLicenseCheckService()
    • setLicenseCheckService

      public void setLicenseCheckService(com.flowable.license.LicenseCheckService licenseCheckService)
    • getHttpClientConfig

      public org.flowable.http.common.impl.HttpClientConfig getHttpClientConfig()
    • setHttpClientConfig

      public void setHttpClientConfig(org.flowable.http.common.impl.HttpClientConfig httpClientConfig)
    • getAsyncExecutorThreadPoolQueue

      public BlockingQueue<Runnable> getAsyncExecutorThreadPoolQueue()
    • getAsyncExecutor

      public org.flowable.job.service.impl.asyncexecutor.AsyncExecutor getAsyncExecutor()
    • setAsyncExecutor

      public AgentEngineConfiguration setAsyncExecutor(org.flowable.job.service.impl.asyncexecutor.AsyncExecutor asyncExecutor)
    • getJobManager

      public org.flowable.job.service.impl.asyncexecutor.JobManager getJobManager()
    • setJobManager

      public AgentEngineConfiguration setJobManager(org.flowable.job.service.impl.asyncexecutor.JobManager jobManager)
    • getCustomJobHandlers

      public List<org.flowable.job.service.JobHandler> getCustomJobHandlers()
    • setCustomJobHandlers

      public AgentEngineConfiguration setCustomJobHandlers(List<org.flowable.job.service.JobHandler> customJobHandlers)
    • getJobHandlers

      public Map<String,org.flowable.job.service.JobHandler> getJobHandlers()
    • setJobHandlers

      public AgentEngineConfiguration setJobHandlers(Map<String,org.flowable.job.service.JobHandler> jobHandlers)
    • getInternalJobManager

      public org.flowable.job.service.InternalJobManager getInternalJobManager()
    • setInternalJobManager

      public AgentEngineConfiguration setInternalJobManager(org.flowable.job.service.InternalJobManager internalJobManager)
    • getCustomAsyncRunnableExecutionExceptionHandlers

      public List<org.flowable.job.service.impl.asyncexecutor.AsyncRunnableExecutionExceptionHandler> getCustomAsyncRunnableExecutionExceptionHandlers()
    • setCustomAsyncRunnableExecutionExceptionHandlers

      public AgentEngineConfiguration setCustomAsyncRunnableExecutionExceptionHandlers(List<org.flowable.job.service.impl.asyncexecutor.AsyncRunnableExecutionExceptionHandler> customAsyncRunnableExecutionExceptionHandlers)
    • getFailedJobCommandFactory

      public org.flowable.job.service.impl.asyncexecutor.FailedJobCommandFactory getFailedJobCommandFactory()
    • setFailedJobCommandFactory

      public AgentEngineConfiguration setFailedJobCommandFactory(org.flowable.job.service.impl.asyncexecutor.FailedJobCommandFactory failedJobCommandFactory)
    • getBusinessCalendarManager

      public org.flowable.common.engine.impl.calendar.BusinessCalendarManager getBusinessCalendarManager()
    • setBusinessCalendarManager

      public AgentEngineConfiguration setBusinessCalendarManager(org.flowable.common.engine.impl.calendar.BusinessCalendarManager businessCalendarManager)
    • getInternalJobParentStateResolver

      public org.flowable.job.service.InternalJobParentStateResolver getInternalJobParentStateResolver()
    • setInternalJobParentStateResolver

      public AgentEngineConfiguration setInternalJobParentStateResolver(org.flowable.job.service.InternalJobParentStateResolver internalJobParentStateResolver)
    • getJobExecutionScope

      public String getJobExecutionScope()
    • setJobExecutionScope

      public AgentEngineConfiguration setJobExecutionScope(String jobExecutionScope)
    • isAsyncExecutorActivate

      public boolean isAsyncExecutorActivate()
    • setAsyncExecutorActivate

      public AgentEngineConfiguration setAsyncExecutorActivate(boolean asyncExecutorActivate)
    • getAsyncExecutorNumberOfRetries

      public int getAsyncExecutorNumberOfRetries()
    • setAsyncExecutorNumberOfRetries

      public AgentEngineConfiguration setAsyncExecutorNumberOfRetries(int asyncExecutorNumberOfRetries)
    • getLockTimeAsyncJobWaitTime

      public int getLockTimeAsyncJobWaitTime()
    • setLockTimeAsyncJobWaitTime

      public AgentEngineConfiguration setLockTimeAsyncJobWaitTime(int lockTimeAsyncJobWaitTime)
    • getDefaultFailedJobWaitTime

      public int getDefaultFailedJobWaitTime()
    • setDefaultFailedJobWaitTime

      public AgentEngineConfiguration setDefaultFailedJobWaitTime(int defaultFailedJobWaitTime)
    • getAsyncFailedJobWaitTime

      public int getAsyncFailedJobWaitTime()
    • setAsyncFailedJobWaitTime

      public AgentEngineConfiguration setAsyncFailedJobWaitTime(int asyncFailedJobWaitTime)
    • getAsyncExecutorCorePoolSize

      public int getAsyncExecutorCorePoolSize()
    • setAsyncExecutorCorePoolSize

      public AgentEngineConfiguration setAsyncExecutorCorePoolSize(int asyncExecutorCorePoolSize)
    • getAsyncExecutorMaxPoolSize

      public int getAsyncExecutorMaxPoolSize()
    • setAsyncExecutorMaxPoolSize

      public AgentEngineConfiguration setAsyncExecutorMaxPoolSize(int asyncExecutorMaxPoolSize)
    • getAsyncExecutorThreadKeepAliveTime

      public long getAsyncExecutorThreadKeepAliveTime()
    • setAsyncExecutorThreadKeepAliveTime

      public AgentEngineConfiguration setAsyncExecutorThreadKeepAliveTime(long asyncExecutorThreadKeepAliveTime)
    • getAsyncExecutorThreadPoolQueueSize

      public int getAsyncExecutorThreadPoolQueueSize()
    • setAsyncExecutorThreadPoolQueueSize

      public AgentEngineConfiguration setAsyncExecutorThreadPoolQueueSize(int asyncExecutorThreadPoolQueueSize)
    • isShutdownAsyncTaskExecutor

      public boolean isShutdownAsyncTaskExecutor()
    • setShutdownAsyncTaskExecutor

      public AgentEngineConfiguration setShutdownAsyncTaskExecutor(boolean shutdownAsyncTaskExecutor)
    • getAsyncExecutorConfiguration

      public org.flowable.job.service.impl.asyncexecutor.AsyncJobExecutorConfiguration getAsyncExecutorConfiguration()
    • setAsyncExecutorConfiguration

      public AgentEngineConfiguration setAsyncExecutorConfiguration(org.flowable.job.service.impl.asyncexecutor.AsyncJobExecutorConfiguration asyncExecutorConfiguration)
    • setAsyncExecutorThreadPoolQueue

      public AgentEngineConfiguration setAsyncExecutorThreadPoolQueue(BlockingQueue<Runnable> asyncExecutorThreadPoolQueue)
    • getAsyncExecutorSecondsToWaitOnShutdown

      public long getAsyncExecutorSecondsToWaitOnShutdown()
    • setAsyncExecutorSecondsToWaitOnShutdown

      public AgentEngineConfiguration setAsyncExecutorSecondsToWaitOnShutdown(long asyncExecutorSecondsToWaitOnShutdown)
    • getAsyncTaskExecutor

      public org.flowable.common.engine.api.async.AsyncTaskExecutor getAsyncTaskExecutor()
    • setAsyncTaskExecutor

      public AgentEngineConfiguration setAsyncTaskExecutor(org.flowable.common.engine.api.async.AsyncTaskExecutor asyncTaskExecutor)
    • isAsyncExecutorAllowCoreThreadTimeout

      public boolean isAsyncExecutorAllowCoreThreadTimeout()
    • setAsyncExecutorAllowCoreThreadTimeout

      public AgentEngineConfiguration setAsyncExecutorAllowCoreThreadTimeout(boolean asyncExecutorAllowCoreThreadTimeout)
    • autoDeployResources

      protected void autoDeployResources(AgentEngine agentEngine)
    • getAutoDeploymentStrategy

      public org.flowable.common.spring.AutoDeploymentStrategy<AgentEngine> getAutoDeploymentStrategy(String mode)
      Gets the AutoDeploymentStrategy for the provided mode. This method may be overridden to implement custom deployment strategies if required, but implementors should take care not to return null.
      Parameters:
      mode - the mode to get the strategy for
      Returns:
      the deployment strategy to use for the mode. Never null
    • getDeploymentStrategies

      public Collection<org.flowable.common.spring.AutoDeploymentStrategy<AgentEngine>> getDeploymentStrategies()
    • setDeploymentStrategies

      public void setDeploymentStrategies(Collection<org.flowable.common.spring.AutoDeploymentStrategy<AgentEngine>> deploymentStrategies)
    • getExpressionManager

      public org.flowable.common.engine.impl.el.ExpressionManager getExpressionManager()
      Specified by:
      getExpressionManager in interface org.flowable.common.engine.impl.HasExpressionManagerEngineConfiguration
    • setExpressionManager

      public AgentEngineConfiguration setExpressionManager(org.flowable.common.engine.impl.el.ExpressionManager expressionManager)
      Specified by:
      setExpressionManager in interface org.flowable.common.engine.impl.HasExpressionManagerEngineConfiguration
    • addExpressionManagerConfigurer

      public org.flowable.common.engine.impl.AbstractEngineConfiguration addExpressionManagerConfigurer(Consumer<org.flowable.common.engine.impl.el.ExpressionManager> configurer)
      Specified by:
      addExpressionManagerConfigurer in interface org.flowable.common.engine.impl.HasExpressionManagerEngineConfiguration
    • getPreDefaultELResolvers

      public Collection<org.flowable.common.engine.impl.javax.el.ELResolver> getPreDefaultELResolvers()
    • setPreDefaultELResolvers

      public AgentEngineConfiguration setPreDefaultELResolvers(Collection<org.flowable.common.engine.impl.javax.el.ELResolver> preDefaultELResolvers)
    • addPreDefaultELResolver

      public AgentEngineConfiguration addPreDefaultELResolver(org.flowable.common.engine.impl.javax.el.ELResolver elResolver)
    • getPreBeanELResolvers

      public Collection<org.flowable.common.engine.impl.javax.el.ELResolver> getPreBeanELResolvers()
    • setPreBeanELResolvers

      public AgentEngineConfiguration setPreBeanELResolvers(Collection<org.flowable.common.engine.impl.javax.el.ELResolver> preBeanELResolvers)
    • addPreBeanELResolver

      public AgentEngineConfiguration addPreBeanELResolver(org.flowable.common.engine.impl.javax.el.ELResolver elResolver)
    • getPostDefaultELResolvers

      public Collection<org.flowable.common.engine.impl.javax.el.ELResolver> getPostDefaultELResolvers()
    • setPostDefaultELResolvers

      public AgentEngineConfiguration setPostDefaultELResolvers(Collection<org.flowable.common.engine.impl.javax.el.ELResolver> postDefaultELResolvers)
    • addPostDefaultELResolver

      public AgentEngineConfiguration addPostDefaultELResolver(org.flowable.common.engine.impl.javax.el.ELResolver elResolver)
    • getHistoryManager

      public AgentHistoryManager getHistoryManager()
    • setHistoryManager

      public void setHistoryManager(AgentHistoryManager historyManager)
    • getHistoryConfigurationSettings

      public AgentHistoryConfigurationSettings getHistoryConfigurationSettings()
    • setHistoryConfigurationSettings

      public void setHistoryConfigurationSettings(AgentHistoryConfigurationSettings historyConfigurationSettings)
    • getDefaultAgentOperationBuilder

      public DefaultAgentOperationBuilder getDefaultAgentOperationBuilder()
    • setDefaultAgentOperationBuilder

      public void setDefaultAgentOperationBuilder(DefaultAgentOperationBuilder defaultAgentOperationBuilder)
    • getDefaultAgentExchangeMessageBuilder

      public DefaultAgentExchangeMessageBuilder getDefaultAgentExchangeMessageBuilder()
    • setDefaultAgentExchangeMessageBuilder

      public void setDefaultAgentExchangeMessageBuilder(DefaultAgentExchangeMessageBuilder defaultAgentExchangeMessageBuilder)
    • getElasticsearchClient

      public ElasticsearchClient getElasticsearchClient()
    • setElasticsearchClient

      public void setElasticsearchClient(ElasticsearchClient elasticsearchClient)
    • getElasticsearchIndexNamePrefixProvider

      public Supplier<String> getElasticsearchIndexNamePrefixProvider()
    • setElasticsearchIndexNamePrefixProvider

      public void setElasticsearchIndexNamePrefixProvider(Supplier<String> elasticsearchIndexNamePrefixProvider)
    • getObservationRegistry

      public io.micrometer.observation.ObservationRegistry getObservationRegistry()
    • setObservationRegistry

      public AgentEngineConfiguration setObservationRegistry(io.micrometer.observation.ObservationRegistry observationRegistry)
    • getRateLimiter

      public AgentRateLimiter getRateLimiter()
    • setRateLimiter

      public void setRateLimiter(AgentRateLimiter agentRateLimiter)
    • getRateLimiterTokenCountEstimator

      public org.springframework.ai.tokenizer.TokenCountEstimator getRateLimiterTokenCountEstimator()
    • setRateLimiterTokenCountEstimator

      public void setRateLimiterTokenCountEstimator(org.springframework.ai.tokenizer.TokenCountEstimator rateLimiterTokenCountEstimator)