Queries not getting executed while using async in java driver

Hi all,

I'm trying to execute a list of queries in single transaction using async in java driver. Able to run the program but cyphers are not executing and i could not see the queries in query.log as well.

But when i use join() the queries are getting executing.

What my understanding is queries executing in async will be fired at the same time and seen in the query log at the same time. Is my understanding correct?

Below is the code snippet of the same.

public void runInAsync(List<Cypher> cyphers) throws Exception {
		Neo4jManager.getInstance();
		var session = Neo4jManager.getDriver().asyncSession((builder().withDatabase(ConfigProperties.getLst_neo4j_db()).withFetchSize(1000).withDefaultAccessMode(AccessMode.WRITE).build()));
		
		List<DBResult> resultSet = new ArrayList<>();
		
		Map<String,Object> params = new HashMap<>();
		params.put("data", 1);
		
		CompletionStage<ResultCursor> transaction = session.executeWriteAsync(tx ->{
			for(Cypher cypher : cyphers) {
				tx.runAsync(cypher.getQuery(), cypher.getParams());
			}
			return CompletableFuture.completedFuture(null);
		});
		
		//transaction.toCompletableFuture().join();
		
		transaction.whenComplete((result,error) -> {
			result.listAsync();
		});
	}

Is this above code snippet correct ? Correct me if I'm wrong.

Thanks in Advance.