参考资料

  1. PostgreSQL 是一个开源的关系型数据库管理系统
  2. Couchbase 是一个高性能、分布式 NoSQL 数据库,支持键值存储、文档存储和全文搜索功能。
  3. IBM Semeru Runtimes 是基于 OpenJDK 的开源 Java 运行时环境(JRE)和开发工具包(JDK)。
  4. Teleport 是一款开源的访问基础设施工具
  5. 如何使用Docker进行持续集成?
  6. Adminer(原phpMinAdmin)是一个轻量级、功能完整的数据库管理工具
  7. Docker/DockerHub 国内镜像源/加速列表
  8. Redis(Remote Dictionary Server)是一个开源的、基于内存的键值存储系统

GlassFish简介

GlassFish是一个开源的Java EE应用服务器,由Eclipse基金会维护。最初由Sun Microsystems开发,后捐赠给Eclipse基金会。支持Java EE/Jakarta EE规范,适用于企业级应用部署。

特点

  1. 开源免费:遵循CDDL和GPL开源协议。

  2. 模块化架构:基于OSGi框架,支持动态扩展。

  3. 高性能:支持Grizzly NIO框架,优化高并发场景。

  4. 管理便捷:提供Web控制台和命令行工具(asadmin)。

  5. 标准兼容:完整实现Jakarta EE(原Java EE)规范。

最新更新

  • 版本:GlassFish 7.0.0

  • 更新时间:2022年11月

  • 更新内容

    • 支持Jakarta EE 10核心规范

    • 升级嵌入式Grizzly版本

    • 修复安全漏洞(CVE-2022-xxxx)

下载地址

文档地址

Docker安装示例

# 拉取官方镜像
docker pull glassfish:7.0.0

# 运行容器(暴露8080和4848端口)
docker run -d -p 8080:8080 -p 4848:4848 --name glassfish glassfish:7.0.0

YAML配置示例(如docker-compose.yml)

version: '3'
services:
  glassfish:
    image: glassfish:7.0.0
    ports:
      - "8080:8080"
      - "4848:4848"
    volumes:
      - ./deploy:/glassfish/domains/domain1/autodeploy

常见错误及解决

  1. 端口冲突

    • 错误:Address already in use

    • 解决:修改domain.xml中的HTTP/Admin端口。

  2. 内存不足

    • 错误:java.lang.OutOfMemoryError

    • 解决:调整JVM参数:asadmin create-jvm-options "-Xmx2048m"

  3. 部署失败

    • 错误:Deployment failed

    • 解决:检查应用兼容性(如Jakarta EE版本),查看server.log

  4. 管理控制台无法访问

    • 确保已启动domain-admin-service:  

      asadmin enable-secure-admin
  5. JDBC连接池问题

    • 错误:Ping failed

    • 解决:验证数据库URL/凭证,或重启连接池:  

      asadmin restart-connector-connection-pool [pool-name]

声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。