systemctl可以设置延后启动吗?

最近添加了两个自己开发的jar到systemctl,设置了开机自启动,B依赖于A,A启动需要一段时间,一般20S内可以启动完成,而B需要去连接A,但是开机的时候启动速度太快了,导致虽然两个服务都启动成功了,但是B并没有完全成功。

/usr/lib/systemd/system/a.service 
[Unit]
Documentation=a-service
Before=b.service
 
[Service]
Type=forking
Restart=no
KillMode=process
ExecStart=/etc/rc.d/init.d/a start
ExecStop=/etc/rc.d/init.d/a stop
 
[Install]
WantedBy=multi-user.target

B

[Unit]
Documentation=b-service
Requires=a.service
After=a.service

 
[Service]
Type=forking
Restart=always
KillMode=process
ExecStart=/etc/rc.d/init.d/b start
ExecStop=/etc/rc.d/init.d/b stop
 
[Install]
WantedBy=multi-user.target

现在a是可以启动成功,b显示启动成功,但是实际没有成功。
目前想到的办法是另写一个脚本

vim /usr/lib/systemd/system/java.service 
[Unit]
Description=java

[Service]
Type=forking
ExecStart=/usr/bin/bash -c "/test/app/start-java.sh"

[Install]
WantedBy=multi-user.target

脚本

cat /test/app/start-java.sh
#!/bin/bash
sh /test/app/a/start-a.sh
sleep 20s
sh /test/app/b/start-b.sh


你的想法可以