К сожалению, вы не можете расширять методы так, как хотите. При условии, что методы не являются частными или окончательными, вы можете переопределить их в подклассах и вызвать метод суперкласса, используя super
:
public void someMethod() {
//you can add code here
super.someMethod();
//or here
}
В этом случае вы можете добавить код до или после вызова super.someMethod()
. Однако вы не можете добавить код между ними.
Таким образом, при таком подходе вы можете достичь следующего:
remove existing jibs //jobs instead of jibs? In that case this position might not make much sense
initialize schedulerFactory and Scheduler
registerJobDetails
или это
initialize schedulerFactory and Scheduler
registerJobDetails
remove existing jibs
Если метод, в который вы хотите добавить код между вызовами, вызывает некоторые другие внутренние методы, вы можете попытаться переопределить один из них (они могут даже быть разработаны для этого). В качестве альтернативы вы можете использовать AOP и создать точечный разрез для метода, который вызывается внутри.
В случае, если нет внутренних вызываемых методов для переопределения, единственное другое решение - это скопировать содержимое SchedulerFactoryBean.afterPropertiesSet()
и добавить ваш код между ними.
Однако это не рекомендуется, поэтому я бы предпочел либо добавить код до или после вызова super
(если возможно), либо переопределить метод, вызываемый внутри.