class ActiveMQProjectGenerationConfiguration {

	private static final String TESTCONTAINERS_CLASS_NAME = "org.testcontainers.activemq.ActiveMQContainer";

	@Bean
	@ConditionalOnPlatformVersion("[3.2.0-M1,3.3.0-M2)")
	@ConditionalOnRequestedDependency("testcontainers")
	ServiceConnectionsCustomizer activeMQServiceConnectionsCustomizer(DockerServiceResolver serviceResolver) {
		return (serviceConnections) -> serviceResolver.doWith("activeMQ", (service) -> serviceConnections
			.addServiceConnection(ServiceConnection.ofGenericContainer("activeMQ", service, "symptoma/activemq")));
	}

	@Bean
	@ConditionalOnPlatformVersion("3.3.0-M2")
	@ConditionalOnRequestedDependency("testcontainers")
	ServiceConnectionsCustomizer activeMQClassicServiceConnectionsCustomizer(DockerServiceResolver serviceResolver) {<FILL_FUNCTION_BODY>}

	@Bean
	@ConditionalOnPlatformVersion("[3.2.0-M1,3.3.0-M2)")
	@ConditionalOnRequestedDependency("docker-compose")
	ComposeFileCustomizer activeMQComposeFileCustomizer(DockerServiceResolver serviceResolver) {
		return (composeFile) -> serviceResolver.doWith("activeMQ",
				(service) -> composeFile.services().add("activemq", service));
	}

	@Bean
	@ConditionalOnPlatformVersion("3.3.0-M2")
	@ConditionalOnRequestedDependency("docker-compose")
	ComposeFileCustomizer activeMQClassicComposeFileCustomizer(DockerServiceResolver serviceResolver) {
		return (composeFile) -> serviceResolver.doWith("activeMQClassic",
				(service) -> composeFile.services().add("activemq", service));
	}

}

		return (serviceConnections) -> serviceResolver.doWith("activeMQClassic",
				(service) -> serviceConnections.addServiceConnection(
						ServiceConnection.ofContainer("activemq", service, TESTCONTAINERS_CLASS_NAME, false)));
	
<no_super_class>