Menu

#62 wrapper don't Work with Java 21

Any
open
nobody
None
5
2024-08-30
2024-08-23
No

Hello Team,

i am on the way to migrate our Software from Java 8 to Java 21. We are using yajsw and it works well the last years. Well done!

Now with Java 21 i don't get it to run.
The Message in wrapper log is always like this:
INFO|wrapper|24-08-23 10:27:03|set state STARTING->RUNNING
[null - INFO] 24-08-23 10:27:03 gobler terminated ERROR 8308
Exception in org.rzo.yajsw.log.MyLogger: java.io.IOException: Stream Closed

I have only change the java from 8 to 21. The hole other Enviroment is the same.
I am using YAJSW 13.10, have tested also 13.11 and 13.12.

When i tryed different Java Versions, i see that Java 11 is also working fine but Java 17 not.

Any Ideas where is the Problem?

Greetings from Germany
Markus

4 Attachments

Discussion

  • rzo

    rzo - 2024-08-23

    hello,

    pls check if your app is java 21 compatible by running it with java 21 without the wrapper.

    before running as service try running it as console, by calling bat/runConsole.bat

    the logging suggests that there is an issue launching the java sub process.
    to see some more logging as to why your app does not launch pls set in the conf file the following:

    wrapper.console.pipestreams = true

    then run as console and check the console output.

    -- Ron

     
  • Markus Müller

    Markus Müller - 2024-08-29

    Hello Ron,

    running our app as console works properly. As you can see the wrapper.console.pipestreams = true was already set.

    Now i found out that when i set wrapper.console.pipestreams = false then i can start / stop the app and it seems to work. Only one Exception Message in then wrapper.log occurs. Have you an idea why?

    Markus

     
  • rzo

    rzo - 2024-08-30

    Now i found out that when i set wrapper.console.pipestreams = false then i can start / stop the app

    pipestreams is only intended for testing and should not be used in production.
    however the app should run as service and console with or without it.
    if it does not run as a service with pipestreams set, then this may indicate that there is an issue with user rights.

    Only one Exception Message in then wrapper.log occurs. Have you an idea why?

    this may be the same issue as above. the wrapped app is opening an input stream to read from a file: tmp/in_xxx. for some reason reading from the inputstream throws the exception Invalid Handle. I have not seen this before. I assume that this is a rights issue. this should not be an issue if you are not using this feature (eg passing commands from the yajsw console and using System.in.read to read them)
    Writing to the file tmp/out_xxx seems to work fine.
    you may try and check your windows security settings or if you are not getting this exception with runconsole, try setting the same user for the service.

    -- Ron

     

    Last edit: rzo 2024-08-30

Log in to post a comment.