问题标签 [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.
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:
我尝试了不同的查找属性,但没有一个起作用。有人有什么想法吗?
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文件,我觉得应该没问题。
maven - Glassfish 嵌入式无法部署 EJB 模块
我通过 Stackoverflow 搜索了我的问题的答案,发现了一些非常相似的问题,但没有答案。
我正在尝试做的事情:创建一个简单的junit测试,其中启动了一个Glassfish 4.1嵌入式容器,并测试了一个EJB的简单操作。
示例 EJB:
很简单。这是我的单元测试:
我的 pom.xml 依赖项:
我还尝试添加以下依赖项:
结果:嵌入式 GF 4.1 容器无法加载那个简单的 EJB(它位于 target/classes 文件夹中,经过 maven 编译后)。
根据不同的代码更改(例如是否使用属性传递给容器),我收到以下错误:
GF 4.1 嵌入式 UnsatisfiedDependencyException
我粘贴的代码给出了链接的最后一条错误消息。
我不明白。我到处寻找信息,说这应该有效。
此外,如果我尝试使用 OpenEJB 容器(遗憾的是它只是 jee6),它可以正常工作。
谢谢您的帮助!
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 的配置。(虽然,单元测试没问题。)该项目已成功部署并在生产中运行良好。
现在,我有一点时间再花在这个项目上,我试着把它弄清楚,但这是一场噩梦,我不明白发生的一切。
我的方法:
- 按原样运行。
UT失败:
好的,这是因为对javaee-api 6.0
.
- 将依赖项
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.GA
但ParameterNameProvider
在验证 API 1.1 中
嗯。我不明白为什么需要 ParameterNameProvider?通过什么方式?通过 JUnit4 ?为什么要针对 Validation 1.1 进行验证?
- 将依赖项添加到 validation-api 1.1 :
javax.validation:validation-api:1.1.0.Final
。
失败:
我理解它失败了,因为它SynchronizationType
在Java Persistence 2.1
JavaEE 6 中不存在。但同样,我的项目中有什么暗示这种需求???在我的依赖树中,我有jboss-javaee-6.0
依赖于hibernate-jpa-2.0-api
- 如果我相信它的名字 - 是符合 jpa 2.0 的。
噢,我明白。这是因为我对glassfish-embedded-all:4.1
不匹配的依赖项有依赖。
- 将此依赖项的版本替换为
org.glassfish.main.extras:glassfish-embedded-all:3.1.2.2
仍然失败......就在 IT 的开始,在服务器启动之前,我有这个错误:
服务器启动,JDBC 资源正常,部署启动但失败:
而现在……我不知道怎么继续下去。
现在我的 pom 是:
有人可以帮助我吗?
maven - Payara-Micro 嵌入 Java EE
我有一个 Java EE 应用程序(带有 maven),它当前被打包到一个 .war 文件中。我现在要做的是使用 Payara Micro Embedded 服务器执行这个项目。这样做是这样的:
应将完整的应用程序打包成 .jar 文件并启动应用程序服务器并自动部署应用程序。我如何实现这一目标?
java - 为什么 Lazy Fetching 不起作用 JPA
我很难理解延迟获取,因为当我在一本书中读到它时我不工作,他们说在延迟获取中,jpa 只会在通过 geters 访问实体时加载实体,所以我创建了一个 Arquillian 项目来测试这个概念但它不起作用。这是我的两个实体
人
地址
我有一个使用这种方法的无状态会话 bean
因为我在访问地址之前分离了实体,所以地址列表应该是空的,当我分离它时,它不再由实体管理器管理,所以我不应该为这个人获取地址问题是我可以获取那个人的地址人,即使我有地址字段的惰性获取并在访问地址字段之前分离实体!!!!请一些人解释一下。
另一个测试
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 bean
。TurkuazMessage
班级来自另一家公司jar
,我无权访问source code
该公司jar
:
这个失败是由于一些jars
用different java versions
. 在my server run configuration
我解决了它添加-noverify
到VM options
. 如果我从中删除-noverify
,my server run conf. vm options
我会得到same exception
上述内容。所以,我也需要run embedded glassfish with -noverify
。为此,我将我的模块添加custom domain.xml
到. 之间的唯一区别是。这是我的:test sources
Idea
my domain.xml and default domain.xml
jvm options
domain.xml
使用上面domain.xml
并没有解决我的问题。我能做些什么来解决这个问题?如果您需要更多信息,我会尽快添加。我对任何想法持开放态度。提前致谢。
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 多个小时。
也很抱歉我的英语不好
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 已完成:否