Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FISH-10574 Main Sync 18/02/2025 #7195

Open
wants to merge 59 commits into
base: Payara7
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
8de2701
Merge pull request #7060 from breakponchito/FISH-9690-filtering-incor…
breakponchito Dec 16, 2024
7f8256f
Merge pull request #7123 from payara/dependabot/maven/main/org.primef…
Pandrex247 Dec 18, 2024
da1340b
Merge pull request #7114 from payara/dependabot/maven/main/org.apache…
Pandrex247 Dec 18, 2024
cb519de
Merge pull request #7121 from payara/dependabot/maven/main/org.apache…
Pandrex247 Dec 18, 2024
678bec6
Merge pull request #7120 from payara/dependabot/maven/main/io.project…
Pandrex247 Dec 18, 2024
1949e89
Merge pull request #7115 from payara/dependabot/maven/main/org.omnifa…
Pandrex247 Dec 18, 2024
8679dbd
Merge pull request #7133 from Viii3/FISH-10318-System-Property
Viii3 Dec 18, 2024
654283c
Merge pull request #7140 from luiseufrasio/FISH-61-cannot-change-buff…
luiseufrasio Dec 19, 2024
5fea60f
Merge pull request #7145 from breakponchito/FISH-10228-fix-to-inject-…
breakponchito Jan 6, 2025
83c1231
Merge pull request #7147 from breakponchito/FISH-10295-fix-tck-issue-…
breakponchito Jan 9, 2025
65359d6
Merge pull request #7138 from payara/dependabot/maven/main/org.jboss.…
Pandrex247 Jan 10, 2025
603b360
Merge pull request #7137 from payara/dependabot/maven/main/org.junit-…
Pandrex247 Jan 10, 2025
0b5e71b
Merge pull request #7136 from payara/dependabot/maven/main/org.junit.…
Pandrex247 Jan 10, 2025
e1b89aa
Merge pull request #7135 from payara/dependabot/maven/main/shrinkwrap…
Pandrex247 Jan 10, 2025
3e70cbf
Merge pull request #7142 from payara/dependabot/maven/main/jline.vers…
Pandrex247 Jan 10, 2025
f6a0ec4
Merge pull request #7151 from payara/dependabot/maven/main/org.primef…
Pandrex247 Jan 13, 2025
6b1fc98
Merge pull request #7150 from payara/dependabot/maven/main/com.github…
Pandrex247 Jan 13, 2025
a5ea5ba
Merge pull request #7149 from payara/dependabot/maven/main/org.assert…
Pandrex247 Jan 13, 2025
bddc638
Merge pull request #7139 from Viii3/FISH-10319-JVM-Option
Pandrex247 Jan 14, 2025
5e88c23
Merge pull request #7159 from Pandrex247/FISH-10435-Multiple-TCKs-Fai…
Pandrex247 Jan 16, 2025
7f24053
Merge pull request #7157 from payara/dependabot/maven/main/io.project…
Pandrex247 Jan 16, 2025
1d02025
Merge pull request #7153 from payara/dependabot/maven/main/commons-co…
Pandrex247 Jan 16, 2025
eb41c4f
Merge pull request #7154 from payara/dependabot/maven/main/net.java.d…
Pandrex247 Jan 16, 2025
a171b67
Merge pull request #7155 from payara/dependabot/maven/main/org.jboss.…
Pandrex247 Jan 16, 2025
5af30a8
Merge pull request #7158 from luiseufrasio/FISH-10015-design-graceful…
luiseufrasio Jan 24, 2025
ea24a99
Merge pull request #7164 from payara/dependabot/maven/main/org.assert…
Pandrex247 Jan 27, 2025
3f7a780
Merge pull request #7169 from payara/dependabot/maven/main/org.omnifa…
Pandrex247 Jan 28, 2025
b6384b0
Merge pull request #7168 from payara/dependabot/maven/main/org.jetbra…
Pandrex247 Jan 28, 2025
677a6dc
Merge pull request #7163 from Pandrex247/FISH-8646-Cannot-deploy-Spri…
Pandrex247 Jan 31, 2025
483cb37
Merge pull request #7173 from luiseufrasio/FISH-10015-design-graceful…
luiseufrasio Jan 31, 2025
7415aba
Merge pull request #7176 from payara/dependabot/maven/main/org.primef…
Pandrex247 Jan 31, 2025
1843a38
Merge pull request #7174 from payara/dependabot/maven/main/commons-co…
Pandrex247 Jan 31, 2025
c259d79
Merge pull request #7178 from breakponchito/FISH-10458-fixing-code-sm…
breakponchito Feb 4, 2025
f0118eb
Merge pull request #7177 from payara/dependabot/maven/main/jline.vers…
Pandrex247 Feb 7, 2025
b62c7a3
Merge pull request #7180 from payara/dependabot/maven/main/org.apache…
Pandrex247 Feb 7, 2025
279e74a
Merge pull request #7179 from payara/dependabot/maven/main/com.micros…
Pandrex247 Feb 7, 2025
b8a31d0
Merge pull request #7032 from flowlogix/cdi-ear-exception
Pandrex247 Feb 10, 2025
366b8d8
Merge pull request #7189 from payara/dependabot/maven/main/io.project…
Pandrex247 Feb 14, 2025
1ded896
Merge pull request #7190 from payara/dependabot/maven/main/net.minide…
Pandrex247 Feb 14, 2025
4fcec4c
Merge pull request #7097 from flowlogix/warlib
luiseufrasio Feb 17, 2025
fd14af7
Merge pull request #7089 from Pandrex247/FISH-10211-MVC-and-Krazo
Pandrex247 Dec 5, 2024
fd15cc3
Merge pull request #7191 from payara/dependabot/maven/main/org.yaml-s…
Pandrex247 Feb 19, 2025
993b0a6
Merge pull request #7199 from Viii3/FISH-8545-SameSite-Cookie
Viii3 Feb 21, 2025
23df355
Merge pull request #7206 from payara/dependabot/maven/main/org.testco…
Pandrex247 Feb 21, 2025
ca60c7a
Merge pull request #7200 from Pandrex247/FISH-10565-Upgrade-accessors…
Pandrex247 Feb 21, 2025
5a34ff5
Merge pull request #7192 from payara/dependabot/maven/main/org.primef…
Pandrex247 Feb 21, 2025
a4a68be
Merge pull request #7205 from payara/dependabot/maven/main/org.testco…
Pandrex247 Feb 21, 2025
87bd64a
Merge pull request #7202 from payara/dependabot/maven/main/org.apache…
Pandrex247 Feb 21, 2025
a28292d
Merge pull request #7209 from payara/dependabot/maven/main/org.awaiti…
Pandrex247 Feb 24, 2025
24a9d9c
Merge pull request #7210 from payara/dependabot/maven/main/org.junit.…
Pandrex247 Feb 24, 2025
f12c604
Merge pull request #7208 from payara/dependabot/maven/main/org.apache…
Pandrex247 Feb 24, 2025
c567b25
Merge pull request #7207 from payara/dependabot/maven/main/org.junit-…
Pandrex247 Feb 24, 2025
73b65b4
Merge pull request #7193 from NotedSalmon/FISH-10527-add-nofollow-to-…
NotedSalmon Feb 26, 2025
8467a13
Merge pull request #7218 from payara/dependabot/maven/main/org.slf4j-…
Pandrex247 Feb 28, 2025
af69e69
Merge pull request #7219 from payara/dependabot/maven/main/org.codeha…
Pandrex247 Feb 28, 2025
25fc3b7
Merge pull request #7220 from payara/dependabot/maven/main/org.slf4j-…
Pandrex247 Feb 28, 2025
bc5ff31
Merge pull request #7221 from payara/dependabot/maven/main/org.slf4j-…
Pandrex247 Feb 28, 2025
351b345
Merge pull request #7224 from payara/dependabot/maven/main/org.apache…
Pandrex247 Feb 28, 2025
c5b8ba1
Merge pull request #7225 from payara/dependabot/maven/main/org.apache…
Pandrex247 Feb 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions api/payara-bom/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,12 @@
<artifactId>jakarta.data-api</artifactId>
<version>${jakarta.data-api.version}</version>
</dependency>
<!-- Jakarta MVC, which isn't a part of the Jakarta Platform BOM -->
<dependency>
<groupId>jakarta.mvc</groupId>
<artifactId>jakarta.mvc-api</artifactId>
<version>${jakarta.mvc.version}</version>
</dependency>

<!-- Microprofile API release aggregate. Can also be used as a BOM -->
<dependency>
Expand Down Expand Up @@ -481,6 +487,17 @@
<version>${angus-activation.version}</version>
</dependency>

<dependency>
<groupId>org.eclipse.krazo</groupId>
<artifactId>krazo-core</artifactId>
<version>${krazo.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.krazo</groupId>
<artifactId>krazo-jersey</artifactId>
<version>${krazo.version}</version>
</dependency>

<!-- Other libraries -->
<dependency>
<groupId>org.yaml</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -374,9 +374,7 @@ public void reset(ContextHandle contextHandle) {
restorer.endContext();
}

if (handle.getContextClassLoader() != null) {
Utility.setContextClassLoader(handle.getContextClassLoader());
}
Utility.setContextClassLoader(handle.getContextClassLoader());
if (handle.getSecurityContext() != null) {
SecurityContext.setCurrent(handle.getSecurityContext());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,22 +37,27 @@
* only if the new code is made subject to such option by the copyright
* holder.
*/
// Portions Copyright [2024] [Payara Foundation and/or its affiliates]

package com.sun.appserv.connectors.internal.api;

import jakarta.inject.Provider;
import org.glassfish.deployment.common.DeploymentUtils;
import org.glassfish.internal.api.*;
import org.glassfish.internal.deployment.Deployment;
import org.jvnet.hk2.annotations.Service;

import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.UnaryOperator;
import java.util.logging.Logger;
import java.util.logging.Level;

import com.sun.logging.LogDomains;

import jakarta.inject.Inject;
import jakarta.inject.Provider;

/**
* We support two policies:
Expand All @@ -72,13 +77,13 @@ public class ConnectorClassLoaderServiceImpl implements ConnectorClassLoaderServ
* class loader for all applications. In other words, we make every
* standalone RARs available to all applications.
*/
private volatile DelegatingClassLoader globalConnectorCL;
private final AtomicReference<DelegatingClassLoader> globalConnectorCL = new AtomicReference<>();
private final AtomicReference<DelegatingClassLoader> globalConnectorWithWarLibCL = new AtomicReference<>();

@Inject
private AppSpecificConnectorClassLoaderUtil appsSpecificCCLUtil;

@Inject
private Provider<ClassLoaderHierarchy> classLoaderHierarchyProvider;
private Provider<ConnectorsClassLoaderUtil> connectorsClassLoaderUtil;

private Logger logger = LogDomains.getLogger(ConnectorClassLoaderServiceImpl.class, LogDomains.RSR_LOGGER);

Expand All @@ -92,34 +97,8 @@ public class ConnectorClassLoaderServiceImpl implements ConnectorClassLoaderServ
public DelegatingClassLoader getConnectorClassLoader(String appName) {
DelegatingClassLoader loader = null;

// We do not have dependency on common-class-loader explicitly
// and also cannot initialize globalConnectorCL during postConstruct via ClassLoaderHierarchy
// which will result in circular dependency injection between kernel and connector module
// Hence initializing globalConnectorCL lazily
if (globalConnectorCL == null) {
synchronized (ConnectorClassLoaderServiceImpl.class) {
if (globalConnectorCL == null) {
//[parent is assumed to be common-class-loader in ConnectorClassLoaderUtil.createRARClassLoader() also]
final ClassLoader parent = getCommonClassLoader();
globalConnectorCL = AccessController.doPrivileged(new PrivilegedAction<DelegatingClassLoader>() {
public DelegatingClassLoader run() {
DelegatingClassLoader dcl = new DelegatingClassLoader(parent);
for (DelegatingClassLoader.ClassFinder cf : appsSpecificCCLUtil.getSystemRARClassLoaders()) {
dcl.addDelegate(cf);
}
return dcl;
}
});

for (DelegatingClassLoader.ClassFinder cf : appsSpecificCCLUtil.getSystemRARClassLoaders()) {
globalConnectorCL.addDelegate(cf);
}
}
}
}
if (hasGlobalAccessForRARs(appName)) {
assert (globalConnectorCL != null);
loader = globalConnectorCL;
loader = getGlobalConnectorClassLoader();
} else {
appsSpecificCCLUtil.detectReferredRARs(appName);
loader = createConnectorClassLoaderForApplication(appName);
Expand All @@ -133,14 +112,42 @@ private boolean hasGlobalAccessForRARs(String appName) {
(ConnectorConstants.RAR_VISIBILITY_GLOBAL_ACCESS);
}

private ClassLoader getCommonClassLoader(){
return classLoaderHierarchyProvider.get().getCommonClassLoader();
private DelegatingClassLoader getGlobalConnectorClassLoader() {
// We do not have dependency on common-class-loader explicitly
// and also cannot initialize globalConnectorCL during postConstruct via ClassLoaderHierarchy
// which will result in circular dependency injection between kernel and connector module
// Hence initializing globalConnectorCL lazily
UnaryOperator<DelegatingClassLoader> updateOperator = currentValue -> {
if (currentValue == null) {
//[parent is assumed to be common-class-loader in ConnectorClassLoaderUtil.createRARClassLoader() also]
var newValue = AccessController.doPrivileged(new PrivilegedAction<DelegatingClassLoader>() {
public DelegatingClassLoader run() {
DelegatingClassLoader dcl = new DelegatingClassLoader(connectorsClassLoaderUtil.get().getCommonClassLoader());
for (DelegatingClassLoader.ClassFinder cf : appsSpecificCCLUtil.getSystemRARClassLoaders()) {
dcl.addDelegate(cf);
}
return dcl;
}
});

for (DelegatingClassLoader.ClassFinder cf : appsSpecificCCLUtil.getSystemRARClassLoaders()) {
newValue.addDelegate(cf);
}
return newValue;
}
return currentValue;
};
if (DeploymentUtils.useWarLibraries(DeploymentUtils.getCurrentDeploymentContext())) {
return globalConnectorWithWarLibCL.updateAndGet(updateOperator);
} else {
return globalConnectorCL.updateAndGet(updateOperator);
}
}

private DelegatingClassLoader createConnectorClassLoaderForApplication(String appName){

DelegatingClassLoader appSpecificConnectorClassLoader =
new DelegatingClassLoader(getCommonClassLoader());
new DelegatingClassLoader(connectorsClassLoaderUtil.get().getCommonClassLoader());

//add system ra classloaders
for(DelegatingClassLoader.ClassFinder cf : appsSpecificCCLUtil.getSystemRARClassLoaders()){
Expand Down Expand Up @@ -178,7 +185,7 @@ private void addRarClassLoader(String appName, DelegatingClassLoader appSpecific
}

private DelegatingClassLoader.ClassFinder getClassFinder(String raName) {
List<DelegatingClassLoader.ClassFinder> delegates = globalConnectorCL.getDelegates();
List<DelegatingClassLoader.ClassFinder> delegates = getGlobalConnectorClassLoader().getDelegates();
DelegatingClassLoader.ClassFinder classFinder = null;
for(DelegatingClassLoader.ClassFinder cf : delegates){
if(raName.equals(((ConnectorClassFinder)cf).getResourceAdapterName())){
Expand All @@ -188,5 +195,4 @@ private DelegatingClassLoader.ClassFinder getClassFinder(String raName) {
}
return classFinder;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -37,25 +37,33 @@
* only if the new code is made subject to such option by the copyright
* holder.
*/
// Portions Copyright [2024] [Payara Foundation and/or its affiliates]

package com.sun.appserv.connectors.internal.api;

import com.sun.enterprise.loader.CurrentBeforeParentClassLoader;
import org.glassfish.deployment.common.DeploymentUtils;
import org.glassfish.deployment.common.InstalledLibrariesResolver;
import org.glassfish.internal.api.ClassLoaderHierarchy;
import org.glassfish.internal.api.DelegatingClassLoader;
import org.glassfish.api.admin.*;
import org.glassfish.api.event.Events;
import org.glassfish.api.event.EventListener;
import org.glassfish.api.event.EventTypes;
import org.glassfish.internal.api.Globals;
import org.glassfish.internal.deployment.Deployment;
import org.jvnet.hk2.annotations.Service;

import jakarta.inject.Singleton;

import java.io.*;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
import java.security.AccessController;
import java.security.PrivilegedExceptionAction;
import java.security.PrivilegedActionException;
import java.util.concurrent.atomic.AtomicReference;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.Collection;
Expand All @@ -81,7 +89,8 @@ public class ConnectorsClassLoaderUtil {
@Inject
private ClassLoaderHierarchy clh;

//private static List<ConnectorClassFinder> systemRARClassLoaders;
// warLibClassLoader is used to load libraries from the war file
private final AtomicReference<CurrentBeforeParentClassLoader> warLibClassLoader = new AtomicReference<>();

private Logger _logger = LogDomains.getLogger(ConnectorRuntime.class, LogDomains.RSR_LOGGER);

Expand Down Expand Up @@ -209,7 +218,7 @@ public Collection<ConnectorClassFinder> getSystemRARClassLoaders() throws Connec
libraries = ConnectorsUtil.getInstalledLibrariesFromManifest(location, env);
}

ConnectorClassFinder ccf = createRARClassLoader(location, null, rarName, libraries);
ConnectorClassFinder ccf = createRARClassLoader(location, getCommonClassLoader(), rarName, libraries);
classLoaders.add(ccf);
}
// systemRARClassLoaders = classLoaders;
Expand All @@ -218,6 +227,29 @@ public Collection<ConnectorClassFinder> getSystemRARClassLoaders() throws Connec
return classLoaders;
}

public ClassLoader getCommonClassLoader() {
if (DeploymentUtils.useWarLibraries(DeploymentUtils.getCurrentDeploymentContext())) {
return warLibClassLoader.updateAndGet(currentValue -> {
if (currentValue == null) {
var newValue = new CurrentBeforeParentClassLoader(InstalledLibrariesResolver.getWarLibraries()
.stream().map(uri -> {
try {
return uri.toUri().toURL();
} catch (MalformedURLException e) {
throw new RuntimeException(e);
}
})
.toArray(URL[]::new), clh.getCommonClassLoader());
newValue.enableCurrentBeforeParentUnconditional();
return newValue;
}
return currentValue;
});
} else {
return clh.getCommonClassLoader();
}
}


public ConnectorClassFinder getSystemRARClassLoader(String rarName) throws ConnectorRuntimeException {
if (ConnectorsUtil.belongsToSystemRA(rarName)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
* only if the new code is made subject to such option by the copyright
* holder.
*
* Portions Copyright [2017-2021] Payara Foundation and/or affiliates
* Portions Copyright [2017-2025] Payara Foundation and/or affiliates
*/

package com.sun.enterprise.deployment.annotation.handlers;
Expand All @@ -46,6 +46,8 @@
import com.sun.enterprise.deployment.util.DOLUtils;
import com.sun.enterprise.deployment.annotation.context.ResourceContainerContext;
import com.sun.enterprise.deployment.annotation.context.ResourceContainerContextImpl;
import java.util.Arrays;
import java.util.Optional;
import org.glassfish.apf.AnnotationHandlerFor;
import org.glassfish.apf.AnnotationInfo;
import org.glassfish.apf.AnnotationProcessorException;
Expand Down Expand Up @@ -241,6 +243,14 @@ protected HandlerProcessingResult processResource(AnnotationInfo ainfo,
// set it using the resource type of field/method
desc.setInjectResourceType(resourceType.getName());
}

//if value is empty we need to verify any other available descriptor that use same field with not empty value
if (target != null && target.getFieldName() != null && !ok(desc.getValue())) {
String valueFound = searchValueIfAvailable(target.getFieldName(), descriptors);
if (!valueFound.isEmpty()) {
desc.setValue(valueFound);
}
}

// merge description
if (!ok(desc.getDescription()) && ok(resourceAn.description()))
Expand Down Expand Up @@ -291,6 +301,23 @@ protected HandlerProcessingResult processResource(AnnotationInfo ainfo,
return getDefaultProcessedResult();
}

/**
* Method to verify any other Environment Properties that contain same field name and return value if not empty
*
* @param fieldName field to search
* @param descriptors available descriptors for EJB
* @return String value
*/
private String searchValueIfAvailable(String fieldName, EnvironmentProperty[] descriptors) {
return Arrays.stream(descriptors)
.filter(d -> d.getDisplayName().equalsIgnoreCase(fieldName) ||
fieldName.toLowerCase().contains(d.getDisplayName().toLowerCase()))
.filter(EnvironmentProperty::hasAValue)
.findFirst()
.map(EnvironmentProperty::getValue)
.orElse("");
}

private EnvironmentProperty[] getDescriptors(Class resourceType,
String logicalName, ResourceContainerContext[] rcContexts, Resource resourceAn) {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
* only if the new code is made subject to such option by the copyright
* holder.
*/
// Portions Copyright [2024] [Payara Foundation and/or its affiliates]

package org.glassfish.javaee.full.deployment;

Expand Down Expand Up @@ -101,7 +102,7 @@
@Service
@PerLookup
public class EarDeployer implements Deployer {

public static final String PER_BDA_METADATA_KEY = "[PerBDA]";
// private static final Class GLASSFISH_APPCLIENT_GROUP_FACADE_CLASS =
// org.glassfish.appclient.client.AppClientGroupFacade.class;
// Currently using a string instead of a Class constant to avoid a circular
Expand Down Expand Up @@ -457,15 +458,21 @@ public <U extends OpsParams> U getCommandParameters(Class<U> commandParametersTy
@Override
public void addTransientAppMetaData(String metaDataKey,
Object metaData) {
context.addTransientAppMetaData(metaDataKey,
metaData);
if (metaDataKey.startsWith(PER_BDA_METADATA_KEY)) {
super.addTransientAppMetaData(metaDataKey, metaData);
} else {
context.addTransientAppMetaData(metaDataKey, metaData);
}
}

@Override
public <T> T getTransientAppMetaData(String metaDataKey,
Class<T> metadataType) {
return context.getTransientAppMetaData(metaDataKey,
metadataType);
if (metaDataKey.startsWith(PER_BDA_METADATA_KEY)) {
return super.getTransientAppMetaData(metaDataKey, metadataType);
} else {
return context.getTransientAppMetaData(metaDataKey, metadataType);
}
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
#
# Copyright (c) 2023 Payara Foundation and/or its affiliates. All rights reserved.
# Copyright (c) 2023-2025 Payara Foundation and/or its affiliates. All rights reserved.
#
# The contents of this file are subject to the terms of either the GNU
# General Public License Version 2 only ("GPL") or the Common Development
Expand Down Expand Up @@ -52,6 +52,9 @@ ENV PAYARA_DIR=${HOME_DIR} \
MEM_MAX_RAM_PERCENTAGE="70.0" \
MEM_XSS="512k"

# Add Tini
RUN apk add --no-cache tini

RUN true \
&& mkdir -p "${HOME_DIR}" \
&& addgroup --gid 1000 payara \
Expand All @@ -69,5 +72,5 @@ WORKDIR ${HOME_DIR}
COPY --chown=payara:payara maven/bin/* ${SCRIPT_DIR}/
COPY --chown=payara:payara maven/artifacts/payara-micro.jar .

ENTRYPOINT ["/bin/sh", "entrypoint.sh"]
CMD ["--deploymentDir","/opt/payara/deployments"]
ENTRYPOINT ["tini", "--", "/opt/payara/entrypoint.sh"]
CMD ["--deploymentDir", "/opt/payara/deployments"]
Loading