如何在 Ballerina 中以编程方式设置 JVM 参数

问题描述 投票:0回答:1

我正在尝试在 Ballerina 服务器中以编程方式设置 JVM 参数。我能够在终端中设置环境变量,但无法以编程方式这样做。

我正在尝试使用 Ballerina 示例服务器设置

jdk.tls.namedGroups
环境变量,但命名组在 TLS 握手中没有更改。

import ballerina/http;
import ballerina/os;


os:Error? err = os:setEnv("_JAVA_OPTIONS", "-Djdk.tls.namedGroups=secp256r1,secp384r1,secp521r1");


listener http:Listener securedEP = new (9090,
    secureSocket = {
        key: {
            certFile: "./serverpubliccert.crt",
            keyFile: "./serverpvtkey.key"
        },
        protocol: {
            name: "TLS",
            versions: ["TLSv1.3"]
        }
    }
);

service / on securedEP {
    resource function get greeting(string name) returns string|error {
        // Send a response back to the caller.
        if name is "" {
            return error("name should not be empty!");
        }
        return "Hello, " + name;
    }
}

当我尝试在终端中设置环境变量时,它起作用了。

export _JAVA_OPTIONS="-Djdk.tls.namedGroups=secp256r1,secp384r1,secp521r1" 
wso2 ballerina
1个回答
0
投票

AFAIK,_JAVA_OPTIONS env 变量由 JVM 本身选取。因此它需要在 JVM 启动之前就存在。当你在芭蕾舞程序中设置它时,jvm已经启动了,我猜Java的行为也是一样的。

使用终端为您的用例设置 _JAVA_OPTIONS 环境变量是否有任何问题?

© www.soinside.com 2019 - 2024. All rights reserved.