Spring Boot benutze SystemTray Icons

Ich richte eine Spring Boot-Anwendung ein und möchte, dass der Host Zugriff auf ein Taskleistensymbol mit Zugriff auf einige Bean-Informationen hat.

Ich habe derzeit versucht, eine Bean für mein SystemTrayIcon mit den @Autowired-Details zu erstellen. Wenn ich jedoch versuche, das SystemTrayIcon hinzuzufügen, erhalte ich die folgende Ausnahme:

Caused by: java.awt.HeadlessException
    at java.awt.TrayIcon.<init>(Unknown Source)
    at java.awt.TrayIcon.<init>(Unknown Source)
    at java.awt.TrayIcon.<init>(Unknown Source)
    at hermes.subsrciber.systemTray.HermesTrayIcon.<init>(HermesTrayIcon.java:36)
    at hermes.subscriber.boot.AppStarter.trayIcon(AppStarter.java:83)
    at hermes.subscriber.boot.AppStarter$EnhancerBySpringCGLIB$c4f80849.CGLIB$trayIcon$3(<generated>)
    at hermes.subscriber.boot.AppStarter$EnhancerBySpringCGLIB$c4f80849$FastClassBySpringCGLIB$d62ab0bd.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:312)
    at hermes.subscriber.boot.AppStarter$EnhancerBySpringCGLIB$c4f80849.trayIcon(<generated>)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:166)
    ... 17 more

Kann eine SpringBoot-Anwendung in irgendeiner Weise auf Taskleistensymbole zugreifen?

Ich glaube, ich KANN es einfach in der Main-Methode (zusammen mit der SpringApplication.run) definieren, aber ich könnte meine Eigenschaften nicht automatisch verdrahten.

Ist dieses Setup möglich?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage