问题标签 [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 投票
0 回答
87 浏览

json - 从 JSON 响应中删除 EclipseLink 特定字段

我从 WildFly 切换到 OpenLiberty,在 OpenLiberty 中,Eclipselink 是默认的 JPA 提供程序。我使用默认的 JSON-B 将实体转换为 JSON 对象:

和回应:

但是,我根本不允许null显示值,但这不是我想要的,因为我还有其他值可以为 null 并且必须显示。

如何_persistence_fetchGroup从 Java EE 8 中的 JSON 构建器处理中删除此属性?

0 投票
1 回答
1683 浏览

java - 在 Intelij 项目中连接到服务器 GlassFish 时出错的原因是什么?

0 投票
0 回答
78 浏览

jsf - ui:param 值在包含的网站中失去其价值(由 ui:include 包含)

我有一个 JSF XHTML 站点,其中包括另一个 JSF XHTML 站点(example.xhtml),通过ui:include

example.xhtml网站内部,我使用如下参数:

这乍一看完美无瑕。但是,当我在此站点和其他站点之间来回导航时,该站点有时会中断-到目前为止找不到模式。sortBy因为in的属性值example.xhtml实际上是作为字符串传递给我的 bean #{sortByParam}- 而不是参数的值(MyValue在这个例子中)。

在某个时间点,它会停止评估传递的参数并将属性直接传递给我的 Java 代码。

我该如何阻止它?这是一个错误吗?

我使用 Primefaces 7.0.3、Mojarra:2.3.2、Java EE 8、Glassfish 5.0

0 投票
1 回答
510 浏览

spring-boot - 我该如何解决这个问题?

启动错误

应用程序上下文。要显示条件报告,请在启用“调试”的情况下重新运行您的应用程序。2019-10-17 15:44:43.968 错误 10460 --- [main] osboot.SpringApplication:应用程序运行失败

我的 pom.xml:

这是我的结果

启动 ApplicationContext 时出错。要显示条件报告,请在启用“调试”的情况下重新运行您的应用程序。2019-10-18 11:05:18.627 错误 11856 --- [main] osboot.SpringApplication:应用程序运行失败 org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为 'org.springframework.boot.autoconfigure.orm 的 bean 时出错.jpa.HibernateJpaConfiguration':通过构造函数参数0表示的不满足的依赖关系;嵌套异常是 org.springframework.beans.factory.BeanCreationException:在类路径资源 [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class] 中定义名称为“dataSource”的 bean 创建时出错:通过工厂方法进行 Bean 实例化失败; 嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [com.zaxxer.hikari.HikariDataSource]:工厂方法 'dataSource' 抛出异常;嵌套异常是 java.lang.IllegalStateException:无法加载驱动程序类:com.mysql.jdbc.driver at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:769) ~[spring-beans-5.1. 10.RELEASE.jar:5.1.10.RELEASE]

我改变了,但我有这个错误

com.mysql.cj.jdbc.exceptions.CommunicationsException:通信链路故障

最后一个成功发送到服务器的数据包是 0 毫秒前。驱动程序没有收到来自服务器的任何数据包。在 com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) ~[mysql-connector-java-8.0.17.jar:8.0.17] 在 com.mysql.cj.jdbc.exceptions。 SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) ~[mysql-connector-java-8.0.17.jar:8.0.17] at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:827) ~[mysql -connector-java-8.0.17.jar:8.0.17] 在 com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:447) ~[mysql-connector-java-8.0.17.jar:8.0.17 ] 在 com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:237) ~[mysql-connector-java-8.0.17.jar:8.0.17] 在 com.mysql.cj.jdbc.NonRegisteringDriver.connect (NonRegisteringDriver.java:

0 投票
0 回答
115 浏览

java - JPA EclipseLink 有时会重复实体

我对 JPA 有一些严重的问题。我们正在使用 Vaadin 和 JPA (EclipseLink 2.5.0)

在我的应用程序中,我有一个基于树的数据结构。我从休息接口获取新数据,将它们放入队列中,用另一个线程将它们从队列中取出,并使用新值更新树中已经存在的节点,新的节点将被添加到树中。然后我保存父树(称为系统)并使用级联将所有子节点保存到数据库中。工作正常。有时。

这是正在保存并添加到树的线程的一些代码片段:

UpdateDatastructure 方法每 10 秒调用一次。

我的树的结构如下所示:

系统 - 节点 - 数据

System 节点上方是另一个节点,但目前这无关紧要。

系统确实有 0..* 节点 节点确实有 0..* 节点 节点确实有 0..* 数据 数据是叶子

数据结构(树)始终在内存中,因为多个用户可以登录到应用程序并需要树中的数据。

我想这意味着我需要让整棵树管理好?

那么这样使用 entityManager 有错吗?

主要问题:为什么重复 JPA / EclipseLink 有时是“节点”有时是“数据”有时是“系统”,但 ID 不同。

以下是数据库表的一些屏幕截图:

系统表

节点表

数据表

编辑节点哈希和等于:

0 投票
1 回答
1653 浏览

swagger - Swagger 识别 REST API 中的稀有端点

前几天我在 JavaEE 7 中启动了一个 REST API,我用三个方法实现了一个类,并在项目中成功实现了 Swagger 和 Swagger-UI,它显示了我在生成的 JSON 中成功实现的三个端点。

但是,我迁移到 JavaEE 8,在此更改之后,Swagger 检测到几个未知端点,例如“默认”端点(此捕获仅显示了所有端点的一部分):

一些端点

调查了一下,我发现这些端点可能属于 Eclipselink 实现中的 JPA REST API,如此处所述https://oracle-base.com/articles/misc/oracle-rest-data-services-ords-open-api- swagger-support和这里https://www.eclipse.org/eclipselink/documentation/2.4/solutions/restful_jpa004.htm#CHDFCFFA 尽管它们出现在生成的 JSON 中,但它们都包含可变路径,所以我无法访问它们遵循 Swagger 给出的路径,甚至使用上述示例的网络发明了一些参数,例如“版本”。

我使用的 Swagger 版本是 v3,也就是 OpenAPI 版本。我在端点类中指定 OpenAPI 属性@OpenAPIDefinition,它还包含一个@Tag注释来对它们进行分组,三个方法包含@Operation带有它们自己的标签@ApiResponse。我不再编写 Swagger/OpenAPI 注释/文件/类。

问题是,我怎样才能让 Swagger 忽略这些端点?谢谢

0 投票
2 回答
91 浏览

authentication - 从 REST / EJB 服务记录用户信息和更新操作

我需要从我的剩余资源中记录所有更新操作并存储到数据库日志表中。

这个想法是存储如下信息:

  • 登录用户
  • 关于更新/保存实体的操作描述
  • 更新的字段和参考键

我的应用程序与 Java EE8 兼容,它使用 REST / EJB 和 CDI 的东西。

起初我想在 EJB 端处理所有这些东西,但是暴露的服务不需要在方法签名上登录用户,所以添加它会导致强制..

有什么方法可以发送用户信息,通常由 webrequest 检索(我们使用会话令牌模型身份验证)并通过 EJB 注入?

0 投票
3 回答
474 浏览

spring - 无法为 Spring Boot Rest Api 启动 Apache Tomcat v9.0 服务器

我是 Spring Boot 的新手。我正在 java 1.8 编译器上使用 spring boot 2.2、hibernate 5 和 MySQL 构建一个 rest API。当我在我的 apache tomcat v8.0 服务器上运行我的 spring boot rest API 应用程序时,服务器启动并且应用程序运行并显示我的索引页面。在构建(全新安装)我的应用程序并尝试在服务器上运行它后,服务器拒绝启动并出现错误“本地主机上的服务器 Tomcat v8.0 服务器启动失败。”。请问,这可能是什么原因?

这是完整的错误:

这是我的 pox.xml:

这是我的 Application.properties

我已经在堆栈上尝试了很多解决方案,但错误仍然存​​在。

0 投票
2 回答
90 浏览

java - 使用注释修改 REST 参数 - Java EE8

我的目的是在 REST 方法中使用自定义注释,以某种所需的形式自动转换参数。就像是:

我知道有一个HttpServletRequestWrapper类可以用来拦截和修改输入 URI:

但是我不知道如何检索方法参数的注释(在上面的示例中,它是StringNormalizer类)。

有什么提示吗?

0 投票
2 回答
173 浏览

jax-rs - 从 JsonbSerializer 访问 JAX-RS 资源注释

我有一个使用自定义 GSON JSON 适配器在 Payara 4 上运行的应用程序。我想迁移到 Payara 5 (5.191) 并开始使用 JSON-B。在我们当前的应用程序中,我们可以使用资源上的注释来控制 JSON 输出。

例如使用@Summarize

这将导致在我们的 : 中使用不同的 GSON 配置@Provider

我想在新的 JSON-B 设置中做类似的事情。我用 注释了我们的实体@JsonbTypeSerializer(MySerializer.class),所以我希望能够从序列化程序中检测它应该做什么:要么创建一个完整的序列化 JSON 对象,要么创建一个摘要。

我希望做的是在 中设置一个属性JsonbConfig,如下所示:

@Context并使用(只是猜测这可能在这里工作)在序列化程序中读取它,如下所示:

..但事实并非如此。有什么方法可以从一个访问 JAX-RS 资源注释JsonbSerializer