问题标签 [java-ee-6]
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.
maven-2 - Maven2多模块ejb 3.1项目-部署错误
问题是我在将我的项目部署到 Glassfish 时收到以下错误:
但是,让我们从 Maven2 中的项目结构开始...
我已经构建了以下场景:
MultiModuleJavaEEProject - 父模块
-> 模型 ---> 打包为 jar
-> ejb1 ----> 打包为 ebj
-> ejb2 ----> 打包为 ebj
-> web ----> 打包为 war
所以模型、ejb1、ejb2 和 web 是父 MultiModuleJavaEEProject 的子/模块。
_ejb1 取决于型号。
_ejb2 依赖于 ejb1。
_web 依赖于 ejb2。
pom的样子:
_父:
_模型:
_ejb1:
_ejb2:
_网络:
而模型只是一个简单的 Pojo:
并且 ejb1 只包含一个 STATELESS ejb。
以及 ejb2 只是一个无状态的 ejb:
而 web 模块只包含一个 Servlet:
Web 模块中的 web.xml 文件如下所示:
所以我没有设置其他文件。任何 ejb 文件中都没有 ejb-jar.xml,因为我使用的是 EJB 3.1。所以我认为 ejb-jar.xml 描述符是可选的。我这个对吗?
但问题是,已经提到的错误:
有人可以帮忙吗?
java - 如何在 Servlet 中使用 EJB 3.1 DI?(无法通过@EJB 从 Web 应用程序注入会话 bean)
我想将 Web 应用程序(gwt,jpa)合并到一个单独的 2 个应用程序(ejb/jpa 中的业务登录和 gwt 中的 Web 客户端)。目前我无法从 Web 应用程序(简单的 servlet)注入我的 bean
我正在使用 glassfish v3。模块limbo(ejb jar)依赖于模块lust(战争)。
如果我使用 lust 的编译器输出的 lust 一切正常(如果 web 应用程序中的 ejb 并且作为一个应用程序一起部署)。
我弄乱了一些容器配置吗?
这是我的步骤:
我有一些limbo.jar(ejb-jar)部署到ejb容器。我不使用任何 ejb-jar.xml,只使用注释。
比我尝试从 lust.war 中的 Web 应用程序使用 PersistentService 会话 bean(包含在limbo.jar 中)(limbo.jar 和 lust.war不在 ear 中)
网页.xm
当servelt正在加载i ge 404错误(请求的资源()不可用。)
和日志中的错误:
全球的
javax.enterprise.system.tools.deployment.org.glassfish.deployment.common
ejb jar 使用此信息日志部署:
如果从其他应用程序注入,我是否需要添加一些额外的配置?
一些想法?
在@Remote 的情况下
日志 :
信息部署日志
如果我使用远程业务逻辑调用,是否需要将我的 ejb jar 包含到 WEB=INF/lib 中?为什么 DI 在远程情况下不起作用?
如果我包含来自limbo模块的编译输出并提供:
为什么我无法为另一个 Web 应用程序查找 PersistentServiceRemote(PersistentServiceBean 的远程接口)?
通过 glassfish 的示例代码它应该可以工作 (.
有任何想法吗?
行。正如帕斯卡所说。我们需要在 webapp 中打包远程接口。我们可以在不同的应用程序中使用本地接口注入。如果您需要使用本地接口,您需要在您的应用程序中包含 ejb jar。当前设计 - 将远程接口打包到 webapp
java - 在 Weld (JSR-299 RI) 中使用 @Inject 进行依赖注入。如何找到对应的@Produces?
我已经使用 JSR-299 参考实现“焊接”,目的是在独立应用程序中使用它,并且我查看了文档,并惊叹于它的魔力。
我的问题是如何找到要被@Inject 的给定对象的生产者?
java编译器为类加载器很容易找到的注释生成提示,或者必须遍历完整的类路径以加载所有类以查看它们的作用,这对我来说听起来效率很低,或者它是一种完全不同的方法。
诀窍是什么?
java - 创建异常的成本与记录它的成本相比
只是想知道引发java异常(或调用Throwable的本机fillInStackTrace())的成本与使用log4j(在文件中,使用生产硬盘驱动器)记录它的成本相比......
问自己,当出现异常时,是否值得经常记录它们,即使它们并不重要......(我在高负载环境中工作)
谢谢
java - (Enterprise GlassFish v3 build 11) 通信链路问题(MySQL DB)
当应用程序尝试与 DB 建立连接时,我遇到了通信链接故障。
正是在这个字符串:
其中conn定义如下:
对于这个应用程序,我设置了一个带有默认参数的连接池,目前它(应用程序)同时使用 JPA 和直接 JDBC 查询。连接池的重新创建什么也没做,连接池 ping 给出了下一条消息:
并刷新连接池给出:
但是我可以从终端连接到数据库。此外,我有相同的应用程序在我的本地机器上运行,具有相同的连接池设置。
任何人都知道发生了什么或如何解决问题?
jakarta-ee - 如何在 Java EE 中建模?
假设,我决定为我的企业应用程序使用 Java EE 堆栈。
现在,对于域建模(或:用于设计 MVC 的 M),我可以安全地假设和使用哪些 API,以及我应该远离哪些……比如说,通过抽象层?
例如,
我应该继续调用 Hibernate/JPA API 来乱扔我的模型吗?或者,我应该构建一个抽象......一个我自己的持久层以避免对这两个特定的持久性 API 进行硬编码?为什么我要问这个:几年前,这个 Kodo API 被 Hibernate 取代了。如果设计了一个持久层并针对该层对模型的其余部分进行编码(而不是通过调用特定的供应商 API 来乱扔模型),它将允许一个人(相对)轻松地从 Kodo 切换到 Hibernate 再到 xyz。
是否建议在域模型中积极使用持久性供应商提供的 *QL?我不知道由于大量使用类似 HQL 的语言而引起的任何实际问题(如性能、可伸缩性、可移植性等)。为什么问这个问题:我想尽可能避免编写自定义代码,因为这可以通过比 SQL 更便携的查询语言来完成。
对不起,但我是这个领域的新手。我在哪里可以找到有关此主题的更多信息?
asynchronous - EJB3 实例之间的通信(Java EE bean 间通信)可能吗?
我正在设计由 EJB3 bean 组成的 Java EE 6 应用程序的一部分。部分需求是多个并行(比如几百个)长时间运行(几天)的数据库搜索。个人狩猎有不同的搜索参数(开始时间、结束时间、查询过滤器)。参数可能会随着时间而改变。
目前我正在考虑以下几点:
SearchController
(Stateless Session Bean) 制定一组搜索参数,SearchListener
通过 JMS将其发送到SearchListener
(Message Driven Bean) 接收搜索参数,SearchWorker
用参数实例化 aSearchWorker
(SLSB) 反复搜索数据库;当它找到某些东西时,通过 JMS 发送结果,然后继续搜索;当给定的“结束时间”到达时,它结束
我现在想知道的是:
- EJB3 实例运行了几天有什么问题吗?(除此之外我需要能够处理容器重启......)
- 我如何知道
SearchWorker
当前正在运行多少个 EJB 实例以及哪些 EJB 实例? - 是否可以单独与它们通信(类似于向 unix 进程发送 System V 信号),例如发送新参数、结束实例等。
ejb-3.0 - EJB3 + JEE6:什么是持久定时器?
我即将使用新的 EJB3 TimerService(作为 Java EE 6 的一部分),而且像往常一样,JavaDoc 的简洁性给我留下了深刻的印象:)
你知道物体persistent
属性的作用是什么吗?TimerConfig
JavaDoc TimerConfig说:持久性属性确定相应的计时器是否具有跨越创建它的 JVM 的生命周期。它是可选的,默认为 true。
servlets - Servlet 从远程 EJB3 会话 Bean 接收空对象
我确定这是一个初学者错误...
所以我有一个带有实体、外观(实现持久层)和无状态会话 Bean(EJB3)的 Java EE 6 应用程序,以及远程接口(通过外观提供对实体的访问)。
这工作正常。通过 SLSB,我可以检索和操作实体。
现在,我正在尝试从 Web 应用程序(部署在同一个 Glassfish 上,从作为单独 jar 导入的 Java EE 应用程序的实体+接口定义)中执行此操作。我有一个 Servlet,它接收注入的 SLSB 实例。我让它检索一个实体,然后发生以下情况(我可以在日志中看到它):
- 远程 SLSB 被实例化,其方法称为
- SLSB 实例化外观,调用 'get' 方法
- 外观从数据库中检索实体实例,返回它
- SLSB 将实体的实例返回给调用者
- (直到这里一切都很好)
- 调用 servlet 接收到 .. 实体的空实例!!
出了什么问题?这应该有效,对吧?
我的Servlet:
如果您想查看其他代码,请告诉我,我会更新帖子。
java - 如何使用 facelets 将动态支持 bean 传递到 JSF 2.0 页面?
我正在使用 JSF 2.0 创建一个 Web 应用程序(纯 jee6,没有弹簧/接缝等)。我想要一个单一的 xhtml 页面,但将正确的支持 bean/实体传递给它。例如,我希望能够编辑登录用户以外的用户,我有一个用户编辑页面,其中显示登录用户的信息(由我的会话跟踪),我想改为传入用户从列表中选择并编辑该用户的信息,而无需切换存储在会话中的用户或创建单独的 xhtml 页面(违反 DRY)。
我可以看到实现此目的的“最佳”方法是重用我用来显示登录用户的编辑页面的完全相同的 xhtml 页面,但只需以某种方式传入不同的实体。也许在重定向到页面之前调用支持 bean 中的设置器(如果这甚至可能的话)或其他不违反 DRY 的解决方案。也许我设计这一切都错了,有没有办法将实体传递给 JSF 页面?
谢谢。