问题标签 [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 回答
2310 浏览

orm - JPA 启动缓慢

我为整个数据库(约 200 个表)创建了 JPA 2.0 实体类,现在每次我重建我的应用程序并第一次启动它时,我都会收到以下消息:

Glassfish 中这些(信息)消息的输出非常慢,现在启动应用程序需要将近一分钟(!)。

我认为消息是问题所在,因为有时 Glassfish 控制台会在 Netbeans 窗口中冻结(不输出任何消息),然后整个过程大约需要 5 秒。

我找不到禁用这些消息的方法,有没有办法加快速度?

0 投票
0 回答
1015 浏览

jakarta-ee - GlassFish v3 中的应用程序客户端流量开销

我有一个带有应用程序客户端模块的 EAR 应用程序。

当此 EAR 文件部署在 GlassFish v2上并且应用程序客户端模块存在于缓存中时,应用程序客户端启动期间客户端计算机和服务器之间的流量约为 0.7KB。

但是,当我在 GlassFish v3上部署此应用程序并第二次或第三次启动 Application Client 模块(以便它已经存在于缓存中)时,在 Application Client 启动期间客户端计算机和服务器之间的流量为 10MB。

有什么问题?

更新 1

即使我使用仅输出“Hello World”的 Application Client 组件创建了一个简单的 EAR 项目并将其部署在 GlassFish v3 上,每次从缓存中启动 Application Client 时它仍然是 5-6MB。

更新 2

试图深入挖掘问题。当我从 GlassFish v3 中的缓存启动应用程序时,我在应用程序客户端中的每个
的 GlassFish v3 日志中收到以下异常:

例如:

我有一个假设,流量开销可能是相关的。互联网上有一些关于这个问题的信息。但显然没有官方解释或解决方法。
这是一个与此问题相关的有趣线程,它可能会对此有所了解。
以下是 Tim(更多 tjquinn)对这种情况的评论:

“已建立的连接中止”消息是我们见过的消息,但正如您所说,似乎不会影响启动。我认为 - 但尚未验证 - Java Web Start 开始下载 JAR,然后发现缓存的副本是最新的,因此中止传输。这不应该发生,但我还没有确切地发现是什么导致它知道它是 Java Web Start 问题还是 Grizzly 问题(基本上是 GlassFish 中的传输层)或 GlassFish 问题本身。

UPD 3关于类似问题 的“Old Nabble”有一个有趣的讨论。启动应用程序客户端后,我们还出现了 Web 服务失败的症状。

Grizzly 论坛的UPD 4 Oleksiy Stashok(UPD 3 中提到的线程)建议在 Java Web Start 论坛上发布问题。这里是 Java Web Start 论坛上的主题链接

0 投票
1 回答
827 浏览

jpa - JPA PersistenceUnitPostProcessor 未在 GlassFish 上执行

我使用的 Spring 配置包含我的 entityManagerFactory bean 中的 persistenceUnitPostProcessor 的定义。

当我运行 JUnit 测试(即在容器外)时,后处理器被调用,但当它作为已部署 Web 应用程序的一部分(在 Glassfish v3 中运行)参与时,后处理器没有被执行。其他一切正常,spring 上下文加载正确,所有定义的 bean 加载,只是后处理器永远不会被触发。

实体扫描器的目的是定位@Entity 注释类。该项目分为两个模块,一个包含域模型,另一个包含 DAO 和持久性代码。

扫描仪代码大致基于此处的博客文章:搜索类路径的自动扫描-jpa-实体。正如我所说,这一切在容器之外都可以正常工作。

显示后处理器 bean(为简洁起见)的相关 spring 配置元素如下:

实体管理器工厂定义如下:

我是 Spring 和 JPA 的相对新手,所以如果我犯了一个明显的错误,请放轻松!

谢谢史蒂夫

0 投票
4 回答
18147 浏览

glassfish - 在 GlassFish 上自动启动 JavaDB (Derby)

我计划将 GlassFish v3 开源版部署到生产环境。它带有 JavaDB (Apache Derby),这正是我所需要的。唯一的问题是 GlassFish 启动时默认不启动 JavaDB。我将不得不去命令行并输入:

有没有办法让数据库在服务器(GlassFish)启动时自动启动?我讨厌每次在开发应用程序时手动执行此操作,而且我当然不想在生产中执行此操作。

提前致谢

0 投票
4 回答
12346 浏览

jakarta-ee - glassfish v3 类路径设置

我正在 glassfish v3 上开发 j2ee 应用程序,它将远程调用部署在 jboss 5 应用程序服务器上的 EJB。为此,我的应用程序必须在类路径中有 jboss 客户端 jar。我设法通过将客户端 jar 文件与我的应用程序打包来做到这一点,但这会增加大约 10mb 的大小,因此上传应用程序成为一个问题。

我怎样才能把这些罐子放在别处,以便 gf 把它们捡起来,这样我就不需要把它们放在我的应用程序中了?

0 投票
2 回答
353 浏览

proxy - 使用 pac 文件配置 Glassfish v3?

我在 Glassfish v3 上部署了 Web 服务客户端。它需要访问需要代理访问的服务器。我有一个 pac 文件(代理自动配置),但我不知道/如何使用它来配置我的 Glassfish 实例,以便我的客户端可以访问该服务。如果不可行,是否有另一种方法来设置对代理服务器的访问?

谢谢!

0 投票
1 回答
740 浏览

ejb-3.0 - glassfish v3 远程 jboss EJB 客户端

关于从 Glassfish v3 调用部署在 Jboss 5 上的 EJB 3 无状态,我有一些有趣的问题。

我设法在 glassfish 2.1 和 jboss 5 上成功地做到了这一点,方法是用我的应用程序打包 Jboss 客户端 jar,但是现在当我在 gf3 上做同样的事情时,我得到了许多 jboss 类的 ClassNotFoundException(除 ${jboss home/client} ) 我只是继续添加那些罐子,但似乎还没有结束..

为什么 gf 3 需要比 gf2 更多的 jboss 类,我使用相同的代码!?

另外,我如何配置 gf3 以查找该 jar 文件,然后将它们放在域 lib 目录中?

Tnx 寻求帮助 :)

0 投票
2 回答
2209 浏览

jakarta-ee - 如何在类路径中创建引用其他 jar 的空 jar 文件

你好,

我的 j2ee 应用程序依赖于大量 jar,因此我想创建一个带有 manifest 属性的单个 jar 文件,该文件在类路径中引用这些 jar 文件。然后我将把这个文件放在 glassfish lib 目录中,以便提到的 jars 成为应用程序的类路径。

唯一的问题是我不知道如何创建这个单一的 jar 文件。

建议?

问候

0 投票
3 回答
5452 浏览

netbeans - 如何使用 netbeans 测试 EJB?

我一直在努力尝试在 netbeans 中测试一个超级简单的 EJB 项目。我已经尝试了我的 java 书中的几个示例,还有一个我在网上找到的更简单的示例(http://javadude.wordpress.com/2010/02/22/tutorial-most-simple-test-application-for-embedded-glassfish -netbeans-哈德森/)。这是一个超级基本的 EJB,只添加了两个数字.. 就是这样!!它运行良好,但无论我如何尝试测试它,都没有任何效果。更令人费解的是,我在测试它的两台不同的笔记本电脑上遇到了两个不同的错误。显然我做错了什么......任何建议都会非常感激。

我得到的一个错误是:

测试用例:testAddNumbers(bean.MyBeanTest):导致错误没有可用的 EJBContainer 提供程序:没有找到提供程序名称。

javax.ejb.EJBException:没有可用的 EJBContainer 提供程序:没有找到提供程序名称。

另一个是:


严重:部署应用程序时出现异常 java.lang.IllegalArgumentException:无效的 ejb jar [WebTestEmb.jar]:它包含零 ejb。注意: 1. 一个有效的 ejb jar 至少需要一个会话、实体(1.x/2.x 样式)或消息驱动 bean。2. EJB3+实体bean(@Entity)是POJO,请将它们打包为库jar。3. 如果 jar 文件包含使用 EJB 组件级注解(@Stateless、@Stateful、@MessageDriven、@Singleton)注解的有效 EJB,请检查 server.log 以查看注解是否被正确处理。


显然,我的项目中确实有一个 ejb。它完全按照我上面发布的网址中的说明构建。

谢谢!

0 投票
2 回答
2942 浏览

performance - JavaEE 6 应用程序 (Glassfish v3) 中的性能 - 日志记录、DI、数据库操作、EJB、托管 Bean

我使用的重要技术有:Glassfish v3、JSF 2.0、JPA 2.0、EclipseLink 2.0.2、log4j 1.2.16、commons-logging 1.1.1。

我的问题是应用程序的某些部分非常慢。我使用netbeans 6.8 Profiling功能对此进行了分析。

I. 日志- 我使用 log4j 和 apache commons 日志在日志文件和控制台中生成日志。日志也出现在 glassfish 的服务器日志中。我使用记录器如下:

问题是有时这样短的语句需要很长时间(大约 800 毫秒)。当我切换到 java.util.logging 时,它还不错,但也很慢(200 ms 波段)。有什么问题?我需要一些日志记录...更新- 从 Netbeans 6.8 切换到 Netbeans 6.9.1 后,日志记录缓慢的问题得到了解决。- 当日志打印到它的控制台时,Netbeans 6.8 可能非常慢?!所以它与 Log4J 或公共日志记录无关。

二、DB 操作:我第一次调用以下 EJB 的 find 方法需要 2,4 秒!其他呼叫仅持续几毫秒。那么为什么第一次手术要花这么长时间呢?这是(仅因为)连接建立还是与 XFacade 的依赖注入有关,以及这些注入何时执行?:

三、依赖注入,JNDI 查找:DI 之类的(@EJB ...)和 InitialContext 查找与性能有关吗?注入本地、远程和无接口 EJB 之间是否存在差异(性能视图)?

四。Managed Beans - 我使用了许多 Session Scoped Beans,因为 ViewScope 似乎有很多错误,并且 Request Scoped 并不总是实用的。有替代方案吗?- 因为这些 Bean 并不慢,但在整个会话期间服务器端内存压力很大。当用户注销时,它需要一些时间!

V. EJB——我不只使用 MDB 会话 Bean 和单例 Bean。他们经常使用@EJB注解注入其他 Bean。一个 Singleton Bean 使用@Schedule Annotations 来启动重复操作。我发现一个有趣的事情是,从 EJB 3.1 开始,您可以使用@Asynchronous Annotation 使 Session Bean Method 异步。在实施有关性能的 EJB 时,我通常应该考虑什么?

也许有人可以给我一些一般和/或具体的技巧来提高 javaee 应用程序的性能,特别是关于上述问题。谢谢!