问题标签 [java-ee-8]

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 回答
109 浏览

jakarta-ee - CDI 扩展动态更新属性

我阅读了一些关于 CDI 自定义扩展的文档,并阅读了一些示例代码,例如以下链接上的属性加载器:Link-A - Link-B

我写了一个像这样的代码的简单 cdi 扩展。

这是我的 InjectionPointTarget 实现:

这是我的 SystemPropertiesLoader :

和注释:

这是我的用例:

现在我的问题是更新 /proc/meminfo 后 memUsed 属性没有改变。
怎么了 ?
可以为此创建动态 CDI 扩展吗?
注 1:我复制并粘贴整个代码。
注 2:/proc/meminfo 是 Linux&Unix 操作系统支持的 proc 文件系统中使用的内存信息。

0 投票
2 回答
2333 浏览

configuration - WildFly 表达式变量

WildFly Web 配置表达式(例如重写过滤器)是否支持完整的变量列表?像 %U, %h, %p...

0 投票
0 回答
58 浏览

spring-boot - 我正在尝试将 IBMMQ 与我的 Spring Boot 应用程序连接,但连接应该通过 spid(pki)。有人知道该怎么做吗?

我正在尝试编写一个将连接到现有 ibmMQ 的 Spring Boot 程序。但痛苦的是它应该通过 spid(pki) 证书来完成。我不知道该怎么做。请帮我..

0 投票
1 回答
111 浏览

jpa - JPA - JTA - 两个大问题(在 .persist() 和 .remove() 上) - MySQLIntegrityConstraintViolationException

首先,如果我找不到任何关于我想描述的内容真正解决了我的问题,我想道歉。这并不意味着我在网站上进行了充分的搜索。虽然我已经花费了太多时间(天)。我也是新来的(从某种意义上说,我从未写过/回复过 SO 用户)。对于我可能出现的英语错误,我深表歉意。

我不得不说我是 Java EE 的新手。我正在使用 MySQL 开发 WildFly 14。我现在专注于 JPA 问题。我有一个唯一性约束。我正在做测试,在执行唯一性违规测试时,从数据源级别我得到一个 MySQLIntegrityConstraintViolationException,没关系。我有一个问题,persist() 方法不允许我捕获异常(我什至将 Throwable 放在子句中,但什么都没有......)。我强烈、严格地需要抓住这一点,以便在我的工作代码中管理一个关键过程(即间接包含对 .remove() 的调用)。

顺便说一句,尝试编写该异常时,系统不会向我显示建议的类/注释/等的窗口,建议我只创建类“MySQLIntegrityConstraintViolationException”。使用 MySQL 在 WildFly 上工作是否足以获得建议?

没有找到解决方案,我决定改变:我决定使用.createNativeQuery(),而不是使用persist(),在其中我将描述数据库中插入的字符串作为参数。它似乎工作。确实它有效(信号唯一性违规(ok!),不执行 TRY 块代码(ok!)并进入 CATCH 块(ok!))。但是,同样,异常/错误并不清楚。此外,当我在代码中输入负责管理捕获然后执行内部内容的代码时(并且我有一个 .remove(),内部),它会引发异常:

“执行此操作需要事务(使用事务或扩展持久性上下文)”-> 这指的是我的 entityManager.remove() 执行..

现在我无法理解.. JPA/JTA 不应该自动管理交易吗?

此外,稍后尝试放置 entityManager.getTransaction().begin() (和 commit()),这给了我一个问题,即尝试手动管理事务,而我却不能......似乎是一个无休止的循环......

[编辑]:我在 CMT 环境中工作,所以我只能使用 EntityManager 和 EntityManagerFactory。我尝试过 entityManager.getTransaction().begin() 和 entityManager.getTransaction().commit() ,但没有成功。

[编辑']:.getTransaction(EntityTransaction 对象)不能在 CMT 上下文中使用,因此它不起作用。

[edit'']:我已经通过适合 CMT 上下文的事务管理解决了事务问题:JTA + CMT 要求我们使用 TRY-CATCH-FINALLY 块来管理事务,在其 TRY 主体中需要它将我们想要在数据库上执行的操作以及需要将 EntityManager 对象关闭 (em.close()) 放在其最终主体中。虽然,如上所述,我使用了 em.createNativeQuery(),但在失败时会引发可捕获(在我的应用程序中可捕获)异常;我真的需要在我的工作代码中进行回滚(.createNativeQuery() 的使用是临时的)并使用 .persist() 方法,所以我需要知道该怎么做才能捕捉到 MySQLIntegrityConstraintViolationException .

非常感谢!

0 投票
0 回答
231 浏览

java - JPA JTA - 在同一个实体对象(同一个实体 ID 属性)上使用 EntityManager.persist() 和 EntityManager.remove()

我有两种方法,一种使用 .persist() 传递 EntityClass1 ID 存储实体对象(EntityClass1 实体 bean),另一种负责删除具有相同 ID 的实体对象。

我有一个配置,我在第三种方法(在另一个类中)中调用了这两种方法:

1) 上面执行 .persist() 的方法和

2) 执行 .remove() 的方法(因此,作用于相同的实体对象 - 相同的 ID),在执行一些代码之后,如果出现任何问题。

第一个操作是正确的(我要坚持)。何时执行从数据库中删除相同实体对象的方法,当我通过 EntityManager.find() 检索要删除的对象时,后一种方法返回 NULL。这怎么可能??我确定我已经存储了该对象。

我确信已经使用了管理事务所需的(在 CMT 上下文中):在这两种方法中,我从(@PersistenceUnit 注释的)EntityManagerFactory 创建了一个 EntityManager 对象,使用 CMT 上下文的 TRY-CATCH 管理事务机制-FINALLY 块在其最终主体中关闭 EntityManager 对象(在其 TRY 主体中,我分别针对上述两种方法执行 .persist() 和 .remove())。

因此,在我的删除方法中,我无法检索要删除的对象,即使刚刚通过我的插入方法保留了该对象。可能是什么问题?

无论如何,是否有任何原因导致该对象被移除?

我是 JavaEE-JPA-JTA 的新手。非常感谢。

[编辑]:我已经解决了其中一些问题。之前返回 null 的 em.find(),现在返回我想要的对象。我刚刚修改了我的代码以使用单个实体管理器(@Jaspreet 评论让我注意到了这一点)并且我不得不修改 CMT 事务管理(不必使用那个 TRY-CATCH-FINALLY 块)。您可以使用 EntityManager remove() 方法查看 JPA 的奇怪行为。不过,在这个新的讨论中,我发布了新问题。

0 投票
1 回答
127 浏览

cdi - CDI 注入始终为空

您好我正在尝试在我的代码中注入一个对象。但由于某种原因,它将保持为空。

我尝试了以下事情;添加一个 PostConstruct(它不被称为......)删除 CDI 的其他部分以使第一个注入工作。还检查了是否在 Payara 中启用了 CDI。

我将 beans.xml 添加到 meta-inf & web-inf

我调用 bean 的代码的缩写版本。

我尝试调用的类的缩写代码。

界面

0 投票
0 回答
32 浏览

java-ee-8 - Java EE 的 Developer Studio 项目设置不允许带有 JBoss EAP 7.2 运行时的 EAR 版本 8

我正在尝试在 Developer Studio(版本:12.9.0.GA)中设置一个 Java EE“企业应用程序项目”,并将 JBoss EAP 7.2 作为目标运行时,但它不允许我选择 EAR 版本 8(下拉列表仅适用于 EAR 7.0 版)。

JBoss EAP 7.2 发行说明声称“ JBoss EAP 7.2 已通过认证可与 Red Hat Developer Studio 12 一起使用”(好的,因此它并没有说开发人员工作室已通过 EAP 7.2 的认证)

有没有办法解决这个问题,还是我必须等待开发人员工作室更新?

与此同时,我似乎将不得不继续在我的 EE8 项目运行时使用 WildFly。

0 投票
1 回答
645 浏览

java - 目标不可达,标识符解析为空 - 阅读所有其他问题

我知道 StackOverflow 上已经有很多关于这个的问题,但我已经挣扎了 5 个多小时,我只是不知道该怎么做。我希望当有人看到我的情况时,他们可以为我指明正确的方向。我想我已经尝试了每一个注释组合,但我无法让它工作。

我正在设置一个 Java EE 应用程序,简单的网络应用程序。目前在一个简单的页面中测试我的设置。相关文件如下。按下 xhtml 页面上的按钮时会发生错误。

javax.el.PropertyNotFoundException: /greeting.xhtml @12,69 action="#{testServlet.createNewUser}": Target Unreachable, identifier 'testServlet' resolved to null

问候语.xhtml

TestServlet.java

TestBean.java

IUserDao 声明

和实施:

不同模块的依赖关系在 pom 文件中处理。pom的示例部分:

其他:

  • beans.xml在 WEB-INF 中有一个空的(不确定是否需要它,开始时没有并阅读了几次
  • faces-config.xml根元素中没有子元素
  • web.xml带有 servlet 映射。

我不想用太多信息来混淆这个问题。如果您需要任何相关的东西,我会很乐意分享。

提前感谢您与我一起思考。

0 投票
1 回答
120 浏览

java - 仅创建 Java EE 中使用的对象

给定下面的 EJB,容器是否足够智能以仅创建使用的对象?

0 投票
1 回答
1284 浏览

wildfly - 带有限定符 @Default 的类型 SecurityContext 的不满足依赖关系

我正在尝试将 aSecurityContext注入会话 bean。该容器是在 OpenJDK 11 上运行的开箱即用的独立 Wildfly 15.0.1 应用程序服务器。

当我尝试部署该应用程序时,我得到以下信息:

对于上下文,我目前正在尝试模仿java-ee-kickoff-app 的某些部分,它完美地部署在 Wildfly 15.0.1 上。我检查了整个项目以查看声明安全上下文的位置,但无济于事,所以我有点迷失......

作为参考,这是我的代码:

/WEB-INF/bean.xml

/WEB-INF/jboss-web.xml

/WEB-INF/web.xml

最后是我的pom.xml