Giter Club home page Giter Club logo

jsystemd's People

Contributors

christianlorenz-tomtom avatar gomin1d avatar jpmsilva avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

jsystemd's Issues

Need Servlet Api Dependency

If use Spring Reactive (Netty, not Tomcat), it wall throw a java.lang.ClassNotFoundException: jakarta.servlet.ServletContextListener
below

2023-10-12 13:04:35.360 ERROR [main] org.springframework.boot.SpringApplication.reportFailure(824) - Application run failed
java.lang.IllegalStateException: Error processing condition on org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration.endpointOperationParameterMapper
at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:60) ~[spring-boot-autoconfigure-3.1.3.jar!/:3.1.3]
at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:108) ~[spring-context-6.0.11.jar!/:6.0.11]
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForBeanMethod(ConfigurationClassBeanDefinitionReader.java:183) ~[spring-context-6.0.11.jar!/:6.0.11]
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:144) ~[spring-context-6.0.11.jar!/:6.0.11]
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:120) ~[spring-context-6.0.11.jar!/:6.0.11]
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:427) ~[spring-context-6.0.11.jar!/:6.0.11]
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:287) ~[spring-context-6.0.11.jar!/:6.0.11]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:344) ~[spring-context-6.0.11.jar!/:6.0.11]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:115) ~[spring-context-6.0.11.jar!/:6.0.11]
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:771) ~[spring-context-6.0.11.jar!/:6.0.11]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:589) ~[spring-context-6.0.11.jar!/:6.0.11]
at org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.refresh(ReactiveWebServerApplicationContext.java:66) ~[spring-boot-3.1.3.jar!/:3.1.3]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:734) [spring-boot-3.1.3.jar!/:3.1.3]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:436) [spring-boot-3.1.3.jar!/:3.1.3]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:312) [spring-boot-3.1.3.jar!/:3.1.3]
at org.inori.wrapper.questdbserver.QuestdbServerApplication.main(QuestdbServerApplication.java:42) [classes!/:1.3]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) [questdb-server.jar:1.3]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:95) [questdb-server.jar:1.3]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) [questdb-server.jar:1.3]
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65) [questdb-server.jar:1.3]
Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.github.jpmsilva.jsystemd.SystemdAutoConfiguration] from ClassLoader [org.springframework.boot.loader.LaunchedURLClassLoader@15aeb7ab]
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:483) ~[spring-core-6.0.11.jar!/:6.0.11]
at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:360) ~[spring-core-6.0.11.jar!/:6.0.11]
at org.springframework.util.ReflectionUtils.getUniqueDeclaredMethods(ReflectionUtils.java:417) ~[spring-core-6.0.11.jar!/:6.0.11]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.lambda$getTypeForFactoryMethod$1(AbstractAutowireCapableBeanFactory.java:748) ~[spring-beans-6.0.11.jar!/:6.0.11]
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) ~[?:?]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryMethod(AbstractAutowireCapableBeanFactory.java:747) ~[spring-beans-6.0.11.jar!/:6.0.11]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:680) ~[spring-beans-6.0.11.jar!/:6.0.11]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:651) ~[spring-beans-6.0.11.jar!/:6.0.11]
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1632) ~[spring-beans-6.0.11.jar!/:6.0.11]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:560) ~[spring-beans-6.0.11.jar!/:6.0.11]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:532) ~[spring-beans-6.0.11.jar!/:6.0.11]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.collectBeanNamesForType(OnBeanCondition.java:246) ~[spring-boot-autoconfigure-3.1.3.jar!/:3.1.3]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getBeanNamesForType(OnBeanCondition.java:239) ~[spring-boot-autoconfigure-3.1.3.jar!/:3.1.3]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getBeanNamesForType(OnBeanCondition.java:229) ~[spring-boot-autoconfigure-3.1.3.jar!/:3.1.3]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getMatchingBeans(OnBeanCondition.java:182) ~[spring-boot-autoconfigure-3.1.3.jar!/:3.1.3]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getMatchOutcome(OnBeanCondition.java:157) ~[spring-boot-autoconfigure-3.1.3.jar!/:3.1.3]
at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:47) ~[spring-boot-autoconfigure-3.1.3.jar!/:3.1.3]
... 23 more
Caused by: java.lang.NoClassDefFoundError: jakarta/servlet/ServletContextListener
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
at java.lang.ClassLoader.defineClass(ClassLoader.java:1012) ~[?:?]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?]
at java.net.URLClassLoader.defineClass(URLClassLoader.java:524) ~[?:?]
at java.net.URLClassLoader$1.run(URLClassLoader.java:427) ~[?:?]
at java.net.URLClassLoader$1.run(URLClassLoader.java:421) ~[?:?]
at java.security.AccessController.doPrivileged(AccessController.java:712) ~[?:?]
at java.net.URLClassLoader.findClass(URLClassLoader.java:420) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:587) ~[?:?]
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:149) ~[questdb-server.jar:1.3]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
at java.lang.Class.privateGetDeclaredMethods(Class.java:3402) ~[?:?]
at java.lang.Class.getDeclaredMethods(Class.java:2504) ~[?:?]
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:465) ~[spring-core-6.0.11.jar!/:6.0.11]
at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:360) ~[spring-core-6.0.11.jar!/:6.0.11]
at org.springframework.util.ReflectionUtils.getUniqueDeclaredMethods(ReflectionUtils.java:417) ~[spring-core-6.0.11.jar!/:6.0.11]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.lambda$getTypeForFactoryMethod$1(AbstractAutowireCapableBeanFactory.java:748) ~[spring-beans-6.0.11.jar!/:6.0.11]
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) ~[?:?]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryMethod(AbstractAutowireCapableBeanFactory.java:747) ~[spring-beans-6.0.11.jar!/:6.0.11]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:680) ~[spring-beans-6.0.11.jar!/:6.0.11]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:651) ~[spring-beans-6.0.11.jar!/:6.0.11]
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1632) ~[spring-beans-6.0.11.jar!/:6.0.11]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:560) ~[spring-beans-6.0.11.jar!/:6.0.11]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:532) ~[spring-beans-6.0.11.jar!/:6.0.11]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.collectBeanNamesForType(OnBeanCondition.java:246) ~[spring-boot-autoconfigure-3.1.3.jar!/:3.1.3]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getBeanNamesForType(OnBeanCondition.java:239) ~[spring-boot-autoconfigure-3.1.3.jar!/:3.1.3]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getBeanNamesForType(OnBeanCondition.java:229) ~[spring-boot-autoconfigure-3.1.3.jar!/:3.1.3]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getMatchingBeans(OnBeanCondition.java:182) ~[spring-boot-autoconfigure-3.1.3.jar!/:3.1.3]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getMatchOutcome(OnBeanCondition.java:157) ~[spring-boot-autoconfigure-3.1.3.jar!/:3.1.3]
at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:47) ~[spring-boot-autoconfigure-3.1.3.jar!/:3.1.3]
... 23 more
Caused by: java.lang.ClassNotFoundException: jakarta.servlet.ServletContextListener
at java.net.URLClassLoader.findClass(URLClassLoader.java:445) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:587) ~[?:?]
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:149) ~[questdb-server.jar:1.3]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
at java.lang.ClassLoader.defineClass(ClassLoader.java:1012) ~[?:?]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?]
at java.net.URLClassLoader.defineClass(URLClassLoader.java:524) ~[?:?]
at java.net.URLClassLoader$1.run(URLClassLoader.java:427) ~[?:?]
at java.net.URLClassLoader$1.run(URLClassLoader.java:421) ~[?:?]
at java.security.AccessController.doPrivileged(AccessController.java:712) ~[?:?]
at java.net.URLClassLoader.findClass(URLClassLoader.java:420) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:587) ~[?:?]
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:149) ~[questdb-server.jar:1.3]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
at java.lang.Class.privateGetDeclaredMethods(Class.java:3402) ~[?:?]
at java.lang.Class.getDeclaredMethods(Class.java:2504) ~[?:?]
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:465) ~[spring-core-6.0.11.jar!/:6.0.11]
at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:360) ~[spring-core-6.0.11.jar!/:6.0.11]
at org.springframework.util.ReflectionUtils.getUniqueDeclaredMethods(ReflectionUtils.java:417) ~[spring-core-6.0.11.jar!/:6.0.11]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.lambda$getTypeForFactoryMethod$1(AbstractAutowireCapableBeanFactory.java:748) ~[spring-beans-6.0.11.jar!/:6.0.11]
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) ~[?:?]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryMethod(AbstractAutowireCapableBeanFactory.java:747) ~[spring-beans-6.0.11.jar!/:6.0.11]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:680) ~[spring-beans-6.0.11.jar!/:6.0.11]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:651) ~[spring-beans-6.0.11.jar!/:6.0.11]
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1632) ~[spring-beans-6.0.11.jar!/:6.0.11]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:560) ~[spring-beans-6.0.11.jar!/:6.0.11]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:532) ~[spring-beans-6.0.11.jar!/:6.0.11]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.collectBeanNamesForType(OnBeanCondition.java:246) ~[spring-boot-autoconfigure-3.1.3.jar!/:3.1.3]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getBeanNamesForType(OnBeanCondition.java:239) ~[spring-boot-autoconfigure-3.1.3.jar!/:3.1.3]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getBeanNamesForType(OnBeanCondition.java:229) ~[spring-boot-autoconfigure-3.1.3.jar!/:3.1.3]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getMatchingBeans(OnBeanCondition.java:182) ~[spring-boot-autoconfigure-3.1.3.jar!/:3.1.3]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getMatchOutcome(OnBeanCondition.java:157) ~[spring-boot-autoconfigure-3.1.3.jar!/:3.1.3]
at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:47) ~[spring-boot-autoconfigure-3.1.3.jar!/:3.1.3]
... 23 more

Therefore,the project need to add dependency below

<dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> </dependency>

but, this is not needed by spring reactive.

Spring Boot 3 support

Hello,

We are using jsystemd spring boot starter for several years and it worked like a charm.

We are planning to migrate several apps to Spring Boot 3, and current release doesn't work.
(Mostly because of removal of spring.factories file)
Is there a plan to release a Spring Boot 3 compatible version ?
Or does other users have a workaround to make it work ?

Thanks !
Best regards,

Nicolas

The documentation does not indicate this

This link has an example of a service:
https://jpmsilva.github.io/jsystemd-site/versions/1.0.1/howto.html

[Unit]
Description=MyService
Requires=network.target
After=network.target
After=syslog.target

[Service]
Type=notify
WorkingDirectory=/opt/myservice
ExecStart=/opt/jdk1.8.0/bin/java -XX:+ExitOnOutOfMemoryError -Xms256M -Xmx512M -XX:+UseG1GC -jar /opt/myservice/myservice.jar
SuccessExitStatus=143
KillMode=mixed
TimeoutStopSec=10
TimeoutStartSec=30

[Install]
WantedBy=multi-user.target

But the important parameter is not specified, without which nothing worked for me.
Namely this:

NotifyAccess=all

Please correct it in the documentation so that people like me do not waste time searching for the reason why it does not work.

:)

Integration of this library with Apache Cassandra

Hi @jpmsilva,

I am from Apache Cassandra project and we evaluate the integration of this library with Cassandra. It is great that this library is Apache 2.0 licensed and it is actively developed. I looked around and this is basically the only library which is Apache 2.0 and it is actively developed.

Casandra 5.1 (current trunk) is supporting Java 11 and Java 17. I see you depend on Java 17 for 3.x releases. I looked into 2.0.1 for that reason but JNA is of version 5.7.0. I think we are using 5.9.0 and we want to update to 5.13.0 sooner or later.

Do you think you could patch 2.0.1 for us and release it as 2.0.2 or similar which would still support Java 11 but it would have updated and aligned JNA with our project?

Regards

3.0.0 Error on connecting to systemd socket (on ubuntu 20.04.6)

Hello,

I am trying to use the version 3.0.0 of jsystemd-spring-boot-starter with springboot 3.0.6 on a ubuntu 20.04.6. But I get an error.

On startup I see the following error message :

[WARN ] 2023-07-13 10:39:34,140 [main] c.g.j.j.SystemdNotify - Could not connect to systemd socket
java.net.SocketException: Protocol wrong type for socket
    at sun.nio.ch.UnixDomainSockets.connect0(Native Method) ~[?:?]
    at sun.nio.ch.UnixDomainSockets.connect(UnixDomainSockets.java:148) ~[?:?]
    at sun.nio.ch.UnixDomainSockets.connect(UnixDomainSockets.java:144) ~[?:?]
    at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:851) ~[?:?]
    at com.github.jpmsilva.jsystemd.SystemdNotify.createSocketChannel(SystemdNotify.java:57) ~[classes/:?]
    at com.github.jpmsilva.jsystemd.SystemdNotify.<clinit>(SystemdNotify.java:45) ~[classes/:?]
    at com.github.jpmsilva.jsystemd.SystemdUtilities.isUnderSystemd(SystemdUtilities.java:76) ~[classes/:?]
    at com.github.jpmsilva.jsystemd.SystemdSpringApplicationRunListener.createSystemd(SystemdSpringApplicationRunListener.java:67) ~[jsystemd-spring-boot-starter-3.0.0.jar:?]
    at com.github.jpmsilva.jsystemd.SystemdSpringApplicationRunListener.<init>(SystemdSpringApplicationRunListener.java:46) ~[jsystemd-spring-boot-starter-3.0.0.jar:?]
    at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[?:?]
    at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
    at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?]
    at org.springframework.core.io.support.SpringFactoriesLoader$FactoryInstantiator.instantiate(SpringFactoriesLoader.java:382) ~[spring-core-6.0.8.jar:6.0.8]
    at org.springframework.core.io.support.SpringFactoriesLoader.instantiateFactJulory(SpringFactoriesLoader.java:228) ~[spring-core-6.0.8.jar:6.0.8]
    at org.springframework.core.io.support.SpringFactoriesLoader.load(SpringFactoriesLoader.java:206) ~[spring-core-6.0.8.jar:6.0.8]
    at org.springframework.core.io.support.SpringFactoriesLoader.load(SpringFactoriesLoader.java:160) ~[spring-core-6.0.8.jar:6.0.8]
    at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:461) ~[spring-boot-3.0.6.jar:3.0.6]
    at org.springframework.boot.SpringApplication.getRunListeners(SpringApplication.java:445) ~[spring-boot-3.0.6.jar:3.0.6]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:301) ~[spring-boot-3.0.6.jar:3.0.6]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1304) ~[spring-boot-3.0.6.jar:3.0.6]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1293) ~[spring-boot-3.0.6.jar:3.0.6]

The .service files goes as follow :

[Unit]
Description=my-springboot3-service Spring Boot Application

[Service]
#Type=simple
Type=notify
User=my-springboot3-service
Environment="LOADER_HOME=/opt/my-springboot3-service"
Environment="LOADER_SYSTEM=true"
WorkingDirectory=/srv/my-springboot3-service
ExecStart=/usr/bin/java [irrelevant JVM args removed fo brevity] org.springframework.boot.loader.PropertiesLauncher --debug
SuccessExitStatus=143
TimeoutStopSec=10
#Restart=on-failure
Restart=no
Restart=no
RestartSec=5
LimitNOFILE=65535
TimeoutStartSec=90

[Install]
WantedBy=multi-user.target

I use to have springboot > 2.4.x service working fine with jsystemd 2.0.1 on the same OS (Ubuntu 20.04.6) with the same .service file but that's the first time I try to work with springboot 3 and jsystemd 3.0.0.

I am not remotely familiar with systemd socket yet I'am currently trying to debug the thing.
I'll keep the issue updated with what I find but if in the mean time anyone has an idea he's most welcome :-D

The java version used is OpenJDK 64-Bit Server VM (build 17.0.7+7-Ubuntu-0ubuntu120.04, mixed mode, sharing)

P.S. don't mind the line numbers in the stack-trace, I added a few log-lines to help me in my debugging process.

Provide API for detecting if running under Systemd for non-spring apps

Providing a similar function to internal APIs SystemdUtilities.isUnderSystemd() or SystemdNotify.usable() would be helpful for non-Spring/non-Tomcat apps. I am actually running Jetty Embedded but am happy with a plain non-integrated implementation.

I noticed the Systemd.logStatus() method which is helpful, but I can't read the result programmatically.

Other than that, this is a great piece of work, thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.