问题标签 [glassfish-3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3359 浏览

jakarta-ee - EE 6(GlassFish):多少个容器?多少个单例?

好的,这里仍然试图理解基本的 EE 6 概念。我希望这里有人可以帮助我。

我正在使用单个域运行 GlassFish v3 服务器 Kukla。我部署了 MyEEApp.ear,其中包含 MyEEWebApp.war、MyEJBs.jar 和 MyUtilityLibrary.jar。我的 EJB jar 包含一个名为 MySingleton 的 @Singleton bean。

然后我设置了另一个服务器,称为 Fran,并部署了相同的 EAR。我对名为 Ollie 的第三台服务器执行相同的操作。

三个完全相同的 EAR 文件部署到三个完全相同(名称和 IP 地址除外)的服务器上。

所以这是我的问题:

  1. 在给定的服务器上,比如 Kukla,我有多少个“容器”?EAR 是否只有一个容器?还是 WAR 和 EJB jar 也有自己的容器?
  2. 第一个答案的实际影响是什么?
  3. 就此而言,容器到底是什么?
  4. 我的 WAR 中的类可以使用 @EJB 注入来访问 EJB jar 中的 bean,因为它们都是同一个 EAR 的一部分吗?
  5. 就此而言,普通的旧 Java 类可以使用@EJB 注入,还是仅适用于其他 EJB?
  6. 我将创建多少个单例 bean 实例?每台服务器一个?还是只有一个?如果每台服务器一个,有没有办法保证整个集群中的“真正”单例?
  7. 在 GlassFish 中,我应该在哪里以及如何配置 JNDI 来查找资源?比如说,我是否可以将 EJB jar 从一台机器移动到另一台机器并让 Web 应用程序自动找到它?
  8. 是否可以为 EJB bean 配置负载平衡?如果是这样,怎么做?
  9. 那么三个 WAR 实例呢?有没有办法配置负载平衡,以便请求转到使用最少的机器上的实例?

我知道,很多问题。对于那个很抱歉!

您的帮助将不胜感激!杰夫

0 投票
1 回答
818 浏览

java - 如何管理 Glassfish JavaEE 客户端应用程序的依赖项?

JBoss 具有jbossall-client.jar可在客户端应用程序中用于 JNDI 查找等的功能……它在JBoss maven 存储库中可用。

在依赖管理环境中使用 Glassfish 3 时应该怎么做?

FAQ在步骤3中说应该直接参考gf-client.jarglassfish的安装目录。唯一具有对 glassfish 安装目录中其他 JAR的gf-client.jar相对引用。因此gf-client.jar,除非您愿意将所有引用的 JARS 也放入存储库中,否则将其放入私有存储库是没有选择的。但这并不好,因为你必须手动将其放置到正确的相对位置。

有一个package-appclient脚本会生成一个appclient.jar,它不能直接在类路径中使用,因为它主要只是一个包含客户端所有需要的 JAR 的 ZIP 文件。当然,您可以放入appclient.jar存储库,然后在构建脚本中进行所有提取和类路径构建,但我真的应该这样做吗?

有没有其他方法可以做到这一点,或者更好地使用它appclient.jar

我监督过“ glassfishall-client.jar”吗?

0 投票
2 回答
543 浏览

java - 使用基于表单的容器管理安全重试登录

我有一个 Web 应用程序,部署在 GlassFish 3.0.1 上,它使用容器管理的安全性。这是一个简单的、基于标准表单的实现,使用 j_security_check 针对 JDBCRealm。与保护应用程序有关的一切都很好(我不敢相信我过去已经推出了自己的安全系统)。

我似乎无法弄清楚如何处理用户输入错误密码的情况。我的“loginFailed.xhtml”页面显示正确,但我想将用户引导回登录页面(通过链接或自动)再试一次。

当我尝试这样做时,返回 login.xhtml 页面的链接工作正常,但安全系统似乎忘记了在用户通过身份验证后尝试将其发送到何处。当用户正确验证时,会引发异常,因为系统尝试加载不存在的页面(登录页面 URL 的某些损坏版本)。

我想我可以将用户引导回主页并让他们从那里再试一次,但是我很长时间没有看到一个应用程序有这么多杂乱无章的东西。感谢所有的想法和帮助...

0 投票
1 回答
2782 浏览

java - Glassfish 3:为什么我必须将所有库部署到域/lib/ 中才能使其工作?

我刚接到另一个小组的一个项目。EJB 会话 bean/Web 服务。它在 JavaCAPS 6 上部署没有任何问题。

但是,在 Oralce Glassfish V3(3.0.1 Build 22)上,当我部署 jar 文件(Applicaton / EJB 模块)时,它一直抱怨某些外部库(包含在 jar 中)找不到。

注释处理出错:java.lang.NoClassDefFoundError: org/apache/commons/vfs/FileSystemException|#]

Apache VFS jar 在 jar 中,但找不到。

但是,如果我将 jar 及其依赖项移动到 $Glassfish home/domains/domain1/lib

一切都很好。

我们在这里做错了什么?

谢谢

0 投票
2 回答
3323 浏览

java - 如何从 RESTFul Web 服务访问本地文件

我尝试从 RESTFul 服务访问本地文件。有没有办法获得正在运行的服务的真实路径?(就像我们可以在 servlet 中做的那样)

服务器:glassfish 3.0.1 IDE:Eclipse Helios

谢谢

0 投票
0 回答
307 浏览

java - 从 Resin 迁移到 Glassfish v3.0.1 后,应用程序会定期挂起并在浏览器中显示空白页面

在将 Web 应用程序从 Resin 迁移到 GlassFish v3.0.1 期间,我遇到了问题。在回归测试期间(使用 Selenium)它已经开始挂起。浏览器显示没有源的空白页面 - 没有元,没有头部没有正文(Firefox 和 IE)。

我认为这是硒的问题。但是问题是手动重现的,并且在 IE8、FireFox 4、Chrome 6 中也是如此。使用了不同的客户端机器,包括 Windows 和 UBuntu 10.01(因此排除了防病毒影响);

在意外中,我通过 JMX 使用 jvisualvm 制作了一些快照(线程甚至堆)。分析线程显示服务器上有一个线程,服务器浏览器请求并具有状态“等待”。监视等待 HEAP 转储中不存在的对象实例 #123456(使用 NetBeans 中的 OQL 进行查询)。

还调查了 DB-pool(启用精细日志记录,然后通过 JMX 监视器 JDBC-POOL-MON)。Oracle 11g 企业版像 DB 一样使用。使用驱动程序 11.2.0.1ga。JDK 1.6.0_21 x64 服务器模式。JDBC 池的最大允许大小为:50 conn。JDBC 的最大监控大小为 10(启动连接数),使用连接的峰值仅为 7。连接泄漏也被激活。超过 2 小时的回归测试没有检测到任何。

HTTP 线程池允许 200 个线程,峰值为 181 个活动线程,通常为 114 个恶魔线程。

Grizly 的使用类似于带有静态文本缓存和 gzip 压缩的 WEB 服务。NIO 处于活动状态,我已经为 tcp 尝试了 java 和本机缓冲区。

我的一些朋友告诉我不要直接使用 Grizly,而是预先安装 Apache Web Server 并使用 mod_proxy。尚未尝试,但我只想使用没有 Apache Web Server 的 GlassFish v3。我希望它能显示出更好的投掷。

无论如何,我不知道这种奇怪行为的原因是什么。任何想法都会有很大帮助!

ps:在Resin 下应用在同一个JDK 和同一个DB 上运行良好,并且使用了驱动和相同的回归测试。即使在生产中,我们也没有这种问题。

谢谢,马克斯。

0 投票
1 回答
1525 浏览

java - 在 Glassfish 3.0.1 中部署的 Web 应用程序中处理 slf4j 日志记录的好方法是什么?

我有一个非常普通的 Web 应用程序,它使用 slf4j 进行日志记录,这很好,而且我已经使用了几个 slf4j 后端,没有任何问题。

在 Tomcat 下,我只是告诉 logback 指向文件系统中的一个位置并在那里登录,但现在我想在一个 Glassfish 3.0.1 实例中部署这个应用程序的几个独立实例,每个实例都在自己的域中,我现在发现我希望我的 slf4j 日志记录能够与 Glassfish 配合使用。

让 Glassfish 照顾我的伐木是一个好方法(我敢说“最好”)。我应该使用 logback 将日志展平到 System.out 并让 Glassfish 处理控制台输出,还是有更好的标准方法来访问 Glassfish 内部的记录器?


编辑:调查表明,GlassFish 3.0.1 既不提供 SLF4J API,也不提供对具有默认配置的 JSP 页面可见的类中的绑定。

通过提供 slf4j-api-X.jar 和 slf4j-jdk14-X.jar,slf4j-logging 事件被转发到由 Glassfish 正确捕获的 java.util.logging(参见http://docs.sun.com/app/ docs/doc/820-7692/abluj?l=en&a=查看详情)。

0 投票
1 回答
715 浏览

ssl - 将 LDAP 与 Glassfish 和 FTP 集成

我目前面临着将 glassfish 环境和 FTP 服务器与 LDAP 集成的任务。这是一所大学的工作,我们需要能够让一些学生(他们都有通过 LDAP 的登录数据,尽管只允许通过 SSL 访问)在 glassfish 服务器上运行他们自己的应用程序,上传它们然后限制他们在给定日期的访问。

我设置了 Suse Enterprise 10 SP3-Server,对其进行了配置,安装了 Java6 存储库和 Glassfish 3.0.1。有人知道是否有办法将 Glassfish 与 LDAP 连接并让指定用户上传特定程序吗?如果无法上传,我想简单地设置一个 FTP 服务器并通过 LDAP 连接它,有人能指出我如何做到这一点的链接吗?

我显然搜索过,但获取 Suse Enterprise 10 的信息实际上非常困难,浪费了大约一个小时,因为我想要 Java 6-repos 而不是通过源代码编译它。

提前感谢您的帮助

0 投票
2 回答
3810 浏览

jakarta-ee - Add Java EE Security Roles dynamically without using deployment descriptor

I'm developing a Java EE 6 application using Glassfish 3.1, B06. To secure my app, i'm using a JDBCRealm and programmatic security. This works fine to check username and password. But when it comes to declaring security roles, i have a problem:

To use Security Roles in Java EE 6, i have to declare those roles both in the EJB deployment descriptor and in the Glassfish-specific deployment descriptor to link those roles (as explained in the Java EE 6-tutorial) Only than i can use the method isCallerInRole(String roleRef) inside an EJB to check permissions.

This is not desirable for my application, as i want that its possible to add Security roles both dynamically and programmatically, without having to write XML files (and for example make it possible to define role names in a database).

I just debugged through the GF3-source code and saw the implementation of isCallerInRole in com.sun.ejb.containers.EjbContextImpl. There the container gets the roles out of the EJB descriptor:

I looked around and found out that if i could somehow get the EJB descriptor inside my application, i could add a role like this:

Anyone did something like this, or got some thoughts about it? Is it possible to use the Ejb deployment descriptor inside my application? Or are there better approaches?

P.S. or should i use MBeans to add Roles? Found a quite related post here.

0 投票
1 回答
4327 浏览

maven-2 - GlassFish v3 cargo-maven2-plugin

我看到支持 GlassFish v3,但在线示例很少。我继续从货物返回相同的错误:找不到 GlassFish 管理员 CLI JAR:admin-cli.jar

这是我的pom

更正了 Pom: