我正在使用docker compose设置payara服务器,并且需要覆盖domain.xml文件。我目前正在通过
volumes:
- './domain.xml:/opt/payara41/glassfish/domains/domain1/config/domain.xml'
但是当我使用docker-compose up它编写它时,总是说它无法将domain.xml重命名为domain.xml.bak。有什么办法可以获取覆盖它的权限或确保重命名有效?
我正在将IntelliJ 2017.3与Payara 4.1.2.172一起使用。我以前只是从命令行启动服务器,并在端口9009上运行了远程调试,并且一切正常。

然后,我在IntelliJ中设置了带有附加模块的插入式服务器,以启用HotSwap。我在调试模式下运行此服务器,并且工作正常。
现在,如果我不使用插入的服务器,但是想像以前一样启动服务器,那么当我运行调试遥控器时,将得到以下信息:
错误
运行“ Debug Glassfish OSM调试”时出错:无法打开调试器端口(localhost:9009):java.net.ConnectException“连接被拒绝:连接”
我已经运行了netstat,端口9009上没有任何运行。
题
如何在服务器上运行远程调试?
更多信息
domail.xml具有:
<system-property name="JAVA_DEBUGGER_PORT" value="9009"></system-property>
Run Code Online (Sandbox Code Playgroud)
并在服务器配置的JVM设置中:
更多信息
我将上面的“启用”复选框设置为打开,但是现在尝试启动服务器时出现以下错误,即服务器现在无法启动。(netstat显示注意到在端口9009上运行)
错误:传输错误202:连接失败:连接被拒绝错误:JDWP传输dt_socket初始化失败,TRANSPORT_INIT(510)JDWP退出错误AGENT_ERROR_TRANSPORT_INIT(197):没有初始化传输[debugInit.c:750]
如果在damain.cml中将其设置为off,我仍然会收到错误消息,并且无法启动服务器。
<java-config classpath-suffix="" debug-options="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=${JAVA_DEBUGGER_PORT}" debug-enabled="true" system-classpath="">
Run Code Online (Sandbox Code Playgroud) 对于所有可以想象到的实现对,Java EE 和 Web 配置文件之间的差异有大量的解释(“Tomcat 和 GlassFish 之间有什么区别”、“GlassFish 和 JBoss 之间有什么区别”等),这些解释非常清楚我。对于glassfish-web.xml vs sun-web.xml vs web.xml以及The Difference Between web.xml, beans.xml, applicationContext.xml, etc有很好的问题,但是它们都链接到 GlassFish 3.x文档[1]。
我想有一些明确的说法
glassfish-application.xml和之间的优先级glassfish-web.xml,意味着一个会覆盖另一个(Web 覆盖应用程序可能是合乎逻辑的,因为类加载顺序颠倒了)还是从两者中选择选项?/在耳朵中为应用程序,/WEB-INF/在战争中(在耳朵内)为应用程序描述符web.xmlor beans.xml,如果是,那么优先级是什么?我认为 Payara 和 GlassFish 之间没有区别,因为前者被设计为直接替代品 - 事实上Google 几乎找不到文档,对于 Payara 和 GlassFish 4.x 来说是一样的。
[1] 这是GlassFish 的主要问题 - 大多数时候只有 3.x 文档可以通过手册、博客和 SO 问题中的链接获得,你必须尝试所有的事情,并假设它可能无法工作,因为有些东西发生了变化从 3.x 到 4.x,这导致 n 个问题的复杂度为 …
我有一个 Spring Boot 应用程序,使用 Azul 的 2.2.4 版和 Zulu Java 11.0.5。它正在访问部署在 Payara Web 服务器(版本 5.194)上的 REST Web 服务。
我正在使用以下 DTO:
public class IdDTO extends BasicResponseDTO {
private long id;
public IdDTO(long id) {
this.id = id;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
}
Run Code Online (Sandbox Code Playgroud)
和
public class BasicResponseDTO implements Serializable {
private String errorCode;
public BasicResponseDTO() {
this.setErrorCode(null);
}
public String getErrorCode() {
return errorCode;
}
public void setErrorCode(String errorCode) …Run Code Online (Sandbox Code Playgroud) 我有一个 Maven JSF/JPA Web 应用程序,它连接到使用 Netbeans 12 开发的 MySQL 5.x。该应用程序运行良好,直到我将 MySQL 版本从 5.x 更新到 8.x。自该更新以来,我无法配置数据库以连接到 JSF 应用程序。与 MySQL 8.x 的连接在 Netbeans 中正常工作,但在部署应用程序时不起作用。
当前配置包括 EclipseLink 2.7.7、MySQL 8.0.23 和 GlassFish 5(5.0.1) / Payara 5(5.2021.1)。无法成功连接到 MySQL。我也无法在 GlassFish 和 Payara 管理控制台的 JDBS 连接池内建立连接。有人可以指导我找到 MySQL 版本 8 链接到 Payara 或 GlassFish 的来源吗?
Payara管理控制台中显示的错误如下。
An error has occurred Ping Connection Pool failed for pooConnection.
Connection could not be allocated because: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The …Run Code Online (Sandbox Code Playgroud) 我正在运行Mac OS.我已经使用NetBeans设置了Payara服务器.当我试图运行服务器时,它永远不会显示指示其在线状态的绿色"点",而是永远显示"加载"点.
但是,我可以在http:// localhost:4848上访问它,但是当我尝试将应用程序部署到服务器时,我收到此错误:
GlassFish Server is running.
Starting GlassFish Server
Initial deploying slit-ee to /Users/christian/slit/slit-ee/dist/gfdeploy/slit-ee
Completed initial distribution of slit-ee
GlassFish Server, deploy, null, false
/Users/christian/slit/slit-ee/nbproject/build-impl.xml:307: The module has not been deployed.
See the server log for details.
BUILD FAILED (total time: 22 seconds)
Run Code Online (Sandbox Code Playgroud)
和完整的服务器日志
objc[1865]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/bin/java (0x105e334c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x105efb4e0). One of the two will be used. Which one is undefined.
Launching GlassFish on Felix platform
nov 28, 2016 2:14:21 …Run Code Online (Sandbox Code Playgroud) 我正在将Jackson 2与Payara 4一起使用,并且我想在Payara 5中使用Jackson 2。
使用JAX-RS,我还希望避免更改注释等。
在Payara 5中,默认的Jsonb提供程序是Yasson。有禁用它并使用Jackson的想法吗?欢迎所有评论/想法:-)
注意: Yasson非常有趣,但是处理抽象类或接口的序列化/反序列化要比放置Jackson注释复杂得多。我目前的理解是,它需要实现JsonbSerializer / Deserializer,但实际上只能在字段/方法上使用序列化器/反序列化器(对于类开放一个问题,这将非常有帮助)。无论如何,迁移到Yasson意味着将根据需要实现许多序列化器/反序列化器(对于实体以及当然是集合),但是我想这很困难。
我建立的一个非常简单的项目的Hello World在
Payara 5(5.181)
JSF 2.3
JDK 1.8
CDI 2.0
Maven
遇到了问题
由于以下问题,无法启动服务器:启动过程失败,退出代码为1
在控制台中,它抛出错误:
错误:找不到或加载主类server \ payara5 \ glassfish.lib.grizzly-npn-bootstrap.jar
我习惯于使用 WildFly 进行 Java/Jakarta EE 开发,最近我想将一个使用 JAAS 进行身份验证/授权的项目更新为 Jakarta EE 9.1 中的新 Jakarta Security API。
我无法让它工作,所以我决定创建尽可能简单的示例并在不同的应用程序服务器上进行实验。我从Soteria中获取了一个示例(据我所知,Jakarta Security 的参考实现),并创建了一个新的 Jakarta EE 项目来部署在我的应用程序服务器上。该代码可在此处获取。
reza该示例包含一个非常简单的带有密码的用户身份存储secret1:
@ApplicationScoped
public class TestIdentityStore implements IdentityStore {
public CredentialValidationResult validate(UsernamePasswordCredential usernamePasswordCredential) {
if (usernamePasswordCredential.compareTo("reza", "secret1")) {
return new CredentialValidationResult("reza", new HashSet<>(asList("foo", "bar")));
}
return INVALID_RESULT;
}
}
Run Code Online (Sandbox Code Playgroud)
Servlet 包含自定义表单身份验证机制定义,/login.jsf如果用户未通过身份验证,该机制会将用户重定向到该定义。经过身份验证后,它会显示用户名(主体名称)并测试用户角色。还有一个注销功能:
@CustomFormAuthenticationMechanismDefinition(
loginToContinue = @LoginToContinue(
loginPage="/login.jsf",
errorPage="" // DRAFT API - must be set to empty for now
)
)
@WebServlet("/servlet") …Run Code Online (Sandbox Code Playgroud) 我正在测试一些关于Paraya 5的JMS工作.具体来说是5.181.下面是我简单的无状态bean的代码. @JMSConnectionFactory失败!该JMSContext context变量始终null.然而@Resource(lookup = "jms/HelloWorldConnectionFactory")成功......任何想法为什么?我更喜欢使用JMSContext.
@Stateless
public class HelloWorldMessageSender {
@JMSConnectionFactory("jms/HelloWorldConnectionFactory")
protected JMSContext context;
@Resource(lookup = "jms/HelloWorldConnectionFactory")
protected ConnectionFactory connectionFactory;
@Resource(lookup = "jms/HelloWorldQueue")
protected Queue queue;
public String send() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS");
String txt = String.format("Hello world message %s", sdf.format(new Date()));
if (context != null) {
System.out.printf("Use JMSContext to produce%n");
context.createProducer().send(queue, txt);
}
if (connectionFactory != null) {
System.out.printf("Use ConnectionFactory to produce%n");
try (
Connection connection …Run Code Online (Sandbox Code Playgroud)