Package dev.dbos.transact.spring
Class DBOSAutoConfiguration
java.lang.Object
dev.dbos.transact.spring.DBOSAutoConfiguration
@AutoConfiguration
@ConditionalOnClass(dev.dbos.transact.DBOS.class)
@EnableConfigurationProperties(DBOSProperties.class)
@EnableAspectJAutoProxy
public class DBOSAutoConfiguration
extends Object
Spring Boot auto-configuration for DBOS Transact. Creates a
DBOSConfig and DBOS
bean from dbos.* application properties and manages the DBOS lifecycle alongside the
Spring application context.
The DBOS instance is started (via DBOS.launch()) after all other beans have
been initialized, so workflows and queues may be registered in @PostConstruct methods
before launch occurs.
To customize the auto-configured DBOSConfig without replacing it, declare one or more
DBOSConfigCustomizer beans. To replace it entirely, declare your own @Bean
DBOSConfig.
If a DataSource bean is present in the context and no dbos.datasource.*
properties are set, that datasource will be used automatically.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classManages theDBOSlifecycle within the Spring application context. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondev.dbos.transact.DBOSdbos(dev.dbos.transact.config.DBOSConfig config, org.springframework.beans.factory.ObjectProvider<DataSource> dataSourceProvider) dbosAspect(dev.dbos.transact.DBOS dbos, org.springframework.context.ApplicationContext applicationContext) dev.dbos.transact.config.DBOSConfigdbosConfig(DBOSProperties props, String springAppName, org.springframework.beans.factory.ObjectProvider<DBOSConfigCustomizer> customizers) dbosLifecycle(dev.dbos.transact.DBOS dbos) dbosWorkflowRegistrar(dev.dbos.transact.DBOS dbos, org.springframework.context.ApplicationContext applicationContext)
-
Constructor Details
-
DBOSAutoConfiguration
public DBOSAutoConfiguration()
-
-
Method Details
-
dbosConfig
@Bean @ConditionalOnMissingBean public dev.dbos.transact.config.DBOSConfig dbosConfig(DBOSProperties props, @Value("${spring.application.name:#{null}}") String springAppName, org.springframework.beans.factory.ObjectProvider<DBOSConfigCustomizer> customizers) -
dbos
@Bean @ConditionalOnMissingBean public dev.dbos.transact.DBOS dbos(dev.dbos.transact.config.DBOSConfig config, org.springframework.beans.factory.ObjectProvider<DataSource> dataSourceProvider) -
dbosLifecycle
@Bean @ConditionalOnMissingBean public DBOSAutoConfiguration.DBOSLifecycle dbosLifecycle(dev.dbos.transact.DBOS dbos) -
dbosAspect
@Bean @ConditionalOnMissingBean public DBOSAspect dbosAspect(dev.dbos.transact.DBOS dbos, org.springframework.context.ApplicationContext applicationContext) -
dbosWorkflowRegistrar
@Bean @ConditionalOnMissingBean public DBOSWorkflowRegistrar dbosWorkflowRegistrar(dev.dbos.transact.DBOS dbos, org.springframework.context.ApplicationContext applicationContext)
-