class SSEWebFluxAppConfig implements ApplicationContextAware {

    private static final Logger logger = LoggerFactory.getLogger(SSEWebFluxAppConfig.class);


    private ApplicationContext applicationContext;


    public SSEWebFluxAppConfig() {
        super();
    }


    @Override
    public void setApplicationContext(final ApplicationContext applicationContext) {
        this.applicationContext = applicationContext;
    }


    @Bean
    public DataSource dataSource() {<FILL_FUNCTION_BODY>}

}

        try {

            final Resource dbResource = this.applicationContext.getResource("classpath:data/chinook.sqlite");
            logger.debug("Database path: " + dbResource.getURL().getPath());

            final DataSourceBuilder dataSourceBuilder = DataSourceBuilder.create();
            dataSourceBuilder.driverClassName("org.sqlite.JDBC");
            dataSourceBuilder.url("jdbc:sqlite:" + dbResource.getURL().getPath());
            return dataSourceBuilder.build();

        } catch (final IOException e) {
            throw new ApplicationContextException("Error initializing database", e);
        }
    
<no_super_class>