Class SpringTopicSubscriptionImpl
java.lang.Object
org.camunda.bpm.client.spring.impl.subscription.SpringTopicSubscriptionImpl
- All Implemented Interfaces:
SpringTopicSubscription
,TopicSubscription
,org.springframework.beans.factory.InitializingBean
- Direct Known Subclasses:
PropertiesAwareSpringTopicSubscription
public class SpringTopicSubscriptionImpl
extends Object
implements SpringTopicSubscription, org.springframework.beans.factory.InitializingBean
-
Field Summary
Modifier and TypeFieldDescriptionprotected org.springframework.context.ApplicationEventPublisher
protected ExternalTaskClient
protected ExternalTaskHandler
protected static final SubscriptionLoggerUtil
protected SubscriptionConfiguration
protected TopicSubscription
protected TopicSubscriptionBuilder
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
close()
Delegates toTopicSubscription.close()
.void
void
boolean
protected Predicate<org.springframework.context.ApplicationEvent>
boolean
boolean
boolean
isOpen()
boolean
void
open()
Releases the topic subscription for asynchronous execution whenSpringTopicSubscription.isAutoOpen()
isfalse
protected void
publishInitializedEvent
(String topicName) void
setExternalTaskHandler
(ExternalTaskHandler externalTaskHandler) void
setSubscriptionConfiguration
(SubscriptionConfiguration subscriptionConfiguration) void
start
(org.springframework.context.ApplicationEvent event) protected String[]
-
Field Details
-
LOG
-
subscriptionConfiguration
-
externalTaskHandler
-
topicSubscriptionBuilder
-
topicSubscription
-
client
-
applicationEventPublisher
@Autowired protected org.springframework.context.ApplicationEventPublisher applicationEventPublisher
-
-
Constructor Details
-
SpringTopicSubscriptionImpl
public SpringTopicSubscriptionImpl()
-
-
Method Details
-
isEventThatCanStartSubscription
-
start
@EventListener public void start(org.springframework.context.ApplicationEvent event) -
initialize
public void initialize() -
publishInitializedEvent
-
open
public void open()Description copied from interface:SpringTopicSubscription
Releases the topic subscription for asynchronous execution whenSpringTopicSubscription.isAutoOpen()
isfalse
- Specified by:
open
in interfaceSpringTopicSubscription
-
isOpen
public boolean isOpen()- Specified by:
isOpen
in interfaceSpringTopicSubscription
- Returns:
true
when the topic subscription is already released for executionfalse
when the topic subscription is not already released for execution; callSpringTopicSubscription.open()
to release the topic for execution
-
closeInternally
public void closeInternally() -
close
public void close()Description copied from interface:SpringTopicSubscription
Delegates toTopicSubscription.close()
.- Specified by:
close
in interfaceSpringTopicSubscription
- Specified by:
close
in interfaceTopicSubscription
- See Also:
-
isAutoOpen
public boolean isAutoOpen()- Specified by:
isAutoOpen
in interfaceSpringTopicSubscription
- Returns:
true
when the topic subscription is automatically released for executionfalse
when you need to callSpringTopicSubscription.open()
to release the topic for execution
-
setExternalTaskHandler
-
getSubscriptionConfiguration
-
setSubscriptionConfiguration
-
getTopicName
- Specified by:
getTopicName
in interfaceTopicSubscription
- Returns:
- the topic name of the subscription
-
getLockDuration
- Specified by:
getLockDuration
in interfaceTopicSubscription
- Returns:
- the duration of the lock applied to the topic
- if
null
, the client or the default lock duration is applied
-
getExternalTaskHandler
- Specified by:
getExternalTaskHandler
in interfaceTopicSubscription
- Returns:
- the external task handler of the topic
-
getVariableNames
- Specified by:
getVariableNames
in interfaceTopicSubscription
- Returns:
- a list of variable names which are supposed to be retrieved
-
isLocalVariables
public boolean isLocalVariables()- Specified by:
isLocalVariables
in interfaceTopicSubscription
- Returns:
- whether or not variables from greater scopes than the external task
are fetched.
false
means all variables visible in the scope of the external task will be fetched,true
means only local variables (to the scope of the external task) will be fetched.
-
getBusinessKey
- Specified by:
getBusinessKey
in interfaceTopicSubscription
- Returns:
- the business key associated with the external tasks which are supposed to be fetched and locked
-
getProcessDefinitionId
- Specified by:
getProcessDefinitionId
in interfaceTopicSubscription
- Returns:
- the process definition id associated with the external tasks which are supposed to be fetched and locked
-
getProcessDefinitionIdIn
- Specified by:
getProcessDefinitionIdIn
in interfaceTopicSubscription
- Returns:
- the process definition ids associated with the external tasks which are supposed to be fetched and locked
-
getProcessDefinitionKey
- Specified by:
getProcessDefinitionKey
in interfaceTopicSubscription
- Returns:
- the process definition key associated with the external tasks which are supposed to be fetched and locked
-
getProcessDefinitionKeyIn
- Specified by:
getProcessDefinitionKeyIn
in interfaceTopicSubscription
- Returns:
- the process definition keys associated with the external tasks which are supposed to be fetched and locked
-
getProcessDefinitionVersionTag
- Specified by:
getProcessDefinitionVersionTag
in interfaceTopicSubscription
- Returns:
- the process definition version tag associated with the external task which are supposed to be fetched and locked
-
getProcessVariables
- Specified by:
getProcessVariables
in interfaceTopicSubscription
- Returns:
- the process variables associated with the external task which are supposed to be fetched and locked
-
isWithoutTenantId
public boolean isWithoutTenantId()- Specified by:
isWithoutTenantId
in interfaceTopicSubscription
- Returns:
- the tenant id presence for the external tasks which are supposed to be fetched and locked
-
getTenantIdIn
- Specified by:
getTenantIdIn
in interfaceTopicSubscription
- Returns:
- the tenant ids associated with the external tasks which are supposed to be fetched and locked
-
isIncludeExtensionProperties
public boolean isIncludeExtensionProperties()- Specified by:
isIncludeExtensionProperties
in interfaceTopicSubscription
- Returns:
- whether or not custom extension properties defined in the external
task activity are included. The default is
false
, which means that no extension properties will be available within the external-task-client.true
means that all defined extension properties are fetched and provided.
-
toArray
-
afterPropertiesSet
- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
- Throws:
Exception
-