问题标签 [glassfish-embedded]

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 投票
0 回答
145 浏览

java - 嵌入式 ejb-Test-Get 数据库

我有一个嵌入式 ejb 容器进行测试。在客户端(测试)我想使用查找机制来获取数据源。问题是查找方法总是返回错误:

javax.naming.NamingException:在 SerialContext [myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory,java.naming.factory. state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [根异常是 javax.naming.NamingException:调用异常:得到com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:491) 处的 null ComponentInvocation ]

持久性.xml:

glassfish-resources.xml:

MyTest.java:

我尝试了不同的查找属性,但没有一个起作用。有人有什么想法吗?

0 投票
1 回答
499 浏览

jakarta-ee - 从 EJB3 测试 Restful 客户端

我不明白为什么当我在 EJB 中创建 JAX-RS 客户端时,无法获得 JAX-RS 的实现。我相信假设像 Glassfish 3.1 这样的应用程序服务器应该提供像 Jersey 这样的 JAX-RS 实现,我不应该像依赖项一样添加它,但它找不到它。

错误是 a java.lang.ClassNotFoundException: org.glassfish.jersey.client.JerseyClientBuilder,我认为不需要将 Jersey 添加到类路径中,因为 Glassfish 必须提供它。

产生错误的代码是

这段代码在 EJB 方法中,我的测试用例是:

pom.xml 文件中的依赖项如下所示:

打包的是WAR文件,我觉得应该没问题。

0 投票
2 回答
1116 浏览

maven - Glassfish 嵌入式无法部署 EJB 模块

我通过 Stackoverflow 搜索了我的问题的答案,发现了一些非常相似的问题,但没有答案。

我正在尝试做的事情:创建一个简单的junit测试,其中启动了一个Glassfish 4.1嵌入式容器,并测试了一个EJB的简单操作。

示例 EJB:

很简单。这是我的单元测试:

我的 pom.xml 依赖项:

我还尝试添加以下依赖项:

结果:嵌入式 GF 4.1 容器无法加载那个简单的 EJB(它位于 target/classes 文件夹中,经过 maven 编译后)。

根据不同的代码更改(例如是否使用属性传递给容器),我收到以下错误:

GF 4.1 嵌入式 UnsatisfiedDependencyException

GF 4.1 Embedded 无法部署

GF 4.1 Embedded 无法部署 EJB 类

我粘贴的代码给出了链接的最后一条错误消息。

我不明白。我到处寻找信息,说这应该有效。

此外,如果我尝试使用 OpenEJB 容器(遗憾的是它只是 jee6),它可以正常工作。

谢谢您的帮助!

0 投票
0 回答
729 浏览

jakarta-ee - Arquillian 和 glassfish 嵌入式配置问题,部署失败

我被分配到几个月前开发的应用程序,但从未在生产中部署。这是一场与嵌入式 EJB 的战争。目标服务器在 JavaEE 7 (Weblogic 12.2.1) 中,但由于该服务器在我们的基础设施上不可用,因此已在 Glassfish-embedded-3.1 上使用 Arquillian 完成了集成测试。

是的,我知道,这不太合乎逻辑,因为 Glassfish-3.1 符合 JavaEE 6。此外,该项目是用一些 Java 8 特性构建的。:)

但没问题,集成测试在此配置下运行良好。这是这个版本的 pom:

有些点对我来说听起来很奇怪:

  • 编译器源和目标:1.8
  • javaee-api:7.0(使用 1.8 安全吗??)
  • arquillian-glassfish-embedded-3.1(对于 javaee 7 ??)
  • glassfish-embedded-all : 4.1 (不应该链接到 arquillian-glassfish-embedded 版本吗?)

这听起来很奇怪,但是 Arquillian 测试在这种配置下运行良好,这些点不是这个问题的主要目标。

然后,几周前,在冻结了几个月后,这个项目需要部署到生产环境中。而且这个项目从未在目标版本的 weblogic 上测试或部署在另一个环境中。

事实上,weblogic 12.2.1 在我们的基础架构上仍然不可用,所以我不得不降级项目以在 weblogic 12.1.3 上运行。(编译器源和目标:1.8 / javaee-api:7 / 删除菱形、流、多次捕获、重构 EJB 计时器、使用 @EJB 进行 EJB 注入,因为 @Inject 的奇怪行为、重构 LocaleDate、try 中的 loadResource,...)

我太着急了,没有去维护 IT 的配置。(虽然,单元测试没问题。)该项目已成功部署并在生产中运行良好。

现在,我有一点时间再花在这个项目上,我试着把它弄清楚,但这是一场噩梦,我不明白发生的一切。

我的方法:

  1. 按原样运行。

UT失败:

好的,这是因为对javaee-api 6.0.

  1. 将依赖项javaee-api替换org.jboss.spec:jboss-javaee-6.0:1.0.0.Final为版本 3.0.3.Final 及更高版本

IT失败:

好的,这jboss-javaee-6.0取决于javax.validation:validation-api:jar:1.0.0.GAParameterNameProvider在验证 API 1.1 中

嗯。我不明白为什么需要 ParameterNameProvider?通过什么方式?通过 JUnit4 ?为什么要针对 Validation 1.1 进行验证?

  1. 将依赖项添加到 validation-api 1.1 : javax.validation:validation-api:1.1.0.Final

失败:

我理解它失败了,因为它SynchronizationTypeJava Persistence 2.1JavaEE 6 中不存在。但同样,我的项目中有什么暗示这种需求???在我的依赖树中,我有jboss-javaee-6.0依赖于hibernate-jpa-2.0-api- 如果我相信它的名字 - 是符合 jpa 2.0 的。

噢,我明白。这是因为我对glassfish-embedded-all:4.1不匹配的依赖项有依赖。

  1. 将此依赖项的版本替换为org.glassfish.main.extras:glassfish-embedded-all:3.1.2.2

仍然失败......就在 IT 的开始,在服务器启动之前,我有这个错误:

服务器启动,JDBC 资源正常,部署启动但失败:

而现在……我不知道怎么继续下去。

现在我的 pom 是:

有人可以帮助我吗?

0 投票
1 回答
1774 浏览

maven - Payara-Micro 嵌入 Java EE

我有一个 Java EE 应用程序(带有 maven),它当前被打包到一个 .war 文件中。我现在要做的是使用 Payara Micro Embedded 服务器执行这个项目。这样做是这样的:

应将完整的应用程序打包成 .jar 文件并启动应用程序服务器并自动部署应用程序。我如何实现这一目标?

0 投票
2 回答
5732 浏览

java - 为什么 Lazy Fetching 不起作用 JPA

我很难理解延迟获取,因为当我在一本书中读到它时我不工作,他们说在延迟获取中,jpa 只会在通过 geters 访问实体时加载实体,所以我创建了一个 Arquillian 项目来测试这个概念但它不起作用。这是我的两个实体

地址

我有一个使用这种方法的无状态会话 bean

因为我在访问地址之前分离了实体,所以地址列表应该是空的,当我分离它时,它不再由实体管理器管理,所以我不应该为这个人获取地址问题是我可以获取那个人的地址人,即使我有地址字段的惰性获取并在访问地址字段之前分离实体!!!!请一些人解释一下。

另一个测试

0 投票
0 回答
325 浏览

java - 嵌入 glassfish 的集成测试 - 异常:预期的堆栈图框架

我有一个写作任务unit tests,逐渐变成了写作integration tests。我对embedded glassfish server. 我会尽力解释我的问题,请多多包涵。

这是我的相关pom.xml部分:

这是我相关的 TestClass(EmbeddedContainerFirstTest) 代码:

想象一个ear文件,其中有jars超过 5 家公司。我们将该文件部署到WildFly 10.0. 我在 stackoverflow 上找到了这篇Java EE applications关于为. 当我在一个简单的模块上尝试它时它可以工作,但是当我在一个具有其他公司依赖项的模块上尝试它时它会失败。它失败了:

下面是project view,在editor panel of Idea line 95是抛出异常的地方。它也是我的Singleton beanTurkuazMessage班级来自另一家公司jar,我无权访问source code该公司jar

在此处输入图像描述

这个失败是由于一些jarsdifferent java versions. 在my server run configuration我解决了它添加-noverifyVM options. 如果我从中删除-noverifymy server run conf. vm options我会得到same exception上述内容。所以,我也需要run embedded glassfish with -noverify。为此,我将我的模块添加custom domain.xml到. 之间的唯一区别是。这是我的:test sourcesIdeamy domain.xml and default domain.xmljvm optionsdomain.xml

使用上面domain.xml并没有解决我的问题。我能做些什么来解决这个问题?如果您需要更多信息,我会尽快添加。我对任何想法持开放态度。提前致谢。

0 投票
1 回答
330 浏览

java - Websocket 应用程序不在 glassfish 嵌入式中运行,而是在独立版本中运行

晚上好,

我有一个简单的 websocket 应用程序。如果我使用 asadmin 命令或我的 IDE 将它部署到独立 glassfish 服务器,它运行良好。当我使用 glassfish - embedded时,一切似乎都很好(没有错误消息),但我在应该服务 websocket 的端点处得到 404。

这是代码,应该很简单

这是我的 pom.xml:

我也尝试过使用 webapp-runner 和 jetty 运行它,所以问题一定出在我的代码或 pom.xml 中。

我正在启动服务器mvn clean install embedded-glassfish:run

如果您想查看源代码或尝试使用 war 文件,请随时在此处下载(war)请,任何人都可以看到我做错了什么吗?

感谢您的帮助,我已经为此苦苦挣扎了 10 多个小时。

也很抱歉我的英语不好

0 投票
1 回答
277 浏览

glassfish - 持续错误:http 状态 503

这是场景:

在工作中,对于 glassfish 服务器,每当我在 Web 浏览器中测试特定的 wsdl(对应于特定的 glassfish 模块)时,我都会遇到持久性错误 http 状态 503。

对于同一服务器 glassfish,我有其他 wsdl 对应于其他 glassfish 模块。我已经测试了这些非常相同的 wsdl 并且它有效。

我已经尝试过:

  • 停用和激活 glassfish 模块;
  • 重新安装有问题的 glassfish 模块;
  • 重新安装相同 glassfish 模块的旧版本(返回 http 状态 503);
  • 服务器 glassfish 的 Ping 池
  • 仅重启 glassfish 服务器;
  • 重启物理机;

尽管采取了所有这些措施,但我在日志文件中仍有我不理解的奇怪错误消息。有人可以帮忙吗?

提前致谢。

日志文件

[#|2018-06-19T23:34:21.311+0200|SEVERE|sun-appserver2.1.1|javax.enterprise.system.container.web|_ThreadID=30;_ThreadName=Thread-200;_RequestID=c23284fb-2dea-4a9a -86fc-5d764902c84a;|WebModule[/echange_operateur]PWC1275:向 fr.bouyguestelecom.dolmen.access.ftth.exchange.servlet.TimerServletListener 类的侦听器实例发送上下文初始化事件的异常

javax.ejb.EJBException:无法完成容器管理的事务。;嵌套异常是: javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5022: Unexpected exception [com.sun.jts.CosTransactions.LogException: Log exception at point 14:

LOG-003:从日志中读取失败]。vmcid:0x0 次要代码:0 已完成:否

javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5022: Unexpected exception [com.sun.jts.CosTransactions.LogException: Log exception at point 14:

LOG-003:从日志中读取失败]。vmcid:0x0 次要代码:0 已完成:在 fr.bouyguestelecom.dolmen.access.ftth.exchange.servlet.TimerServletListener.contextInitialized(TimerServletListener.java:22)处没有

javax.ejb.EJBException:无法完成容器管理的事务。;嵌套异常是: javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5022: Unexpected exception [com.sun.jts.CosTransactions.LogException: Log exception at point 14:

LOG-003:从日志中读取失败]。vmcid:0x0 次要代码:0 已完成:否

0 投票
1 回答
89 浏览

java - NoSuchMethodException:jar 执行时的 getProperties

我有一个嵌入式 GlassFish 服务器,如果我从我的 IDE(IntelliJ IDEA Ultimate)直接运行主文件,它运行良好。当我尝试使用 maven 导出 jar 并从命令行运行 jar 时,出现以下错误:

奇怪的是,这个错误只发生在我使用 maven 导出 jar 时。这是我的pom:

还有我的 web.xml:

我尝试用谷歌搜索,我读到这通常是由不兼容的 Jersey 版本(1.x 与 2.x)引起的,但是,我找不到不兼容的地方。有什么帮助吗?

编辑:另外,这是我的导出 jar 列表(通过 maven 依赖插件):

在此处输入图像描述