Если кейс подробнее опишешь, тебе обязательно помогут
Пишем либу, которую будем юзать во всех спарк аппликухах.
Идея была такая, есть класс, в нем метод, который принимает спарксешн билдер и какую то функцию от спарксешн, в которой вся логика выполняется.
Зачем нужен спарклисенер: при старте апп выковыриваем с ивентов: апп айди, старт тайм, аттемпт айди, много ещё чего.
Все это сторится в базу. Коннекшен к базе зависит от энва, и передается снаружи. Поэтому у лисенера конструктор с параметрами.
Кроме того, хотелось после рана основной логики в базе ещё и обновлять статус, поэтому как минимум айди записи в базу нужно экспоузить за рамки лисенера(планировалось, что у лисенера будет var - Стейт публичный.