问题标签 [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.
maven - 在 Netbeans / Maven / Cargo 插件中配置 GlassFish 4 域目录
我正在尝试使用 Netbeans部署Java 7/8 EE 教程中的第一个示例(hello1)*,但我遇到了问题。该项目编译没有问题,但在部署时出现错误:
与教程相反,我在 /opt/glassfish-v4 而不是 /home/DeltaLima/glassfish4 中安装了 GlassFish 服务器。在 Netbeans 中我是这样配置的,所以我可以毫无问题地启动、停止和检查服务器的状态。服务器配置中的域文件夹设置正确。
尽管如此,与 Netbeans 捆绑的 Maven 安装似乎仍希望服务器安装在用户的主目录中。
我是 Java EE、Netbeans 和 Maven 的新手,所以我没有配置 Netbeans / Maven 的经验,而且错误消息中提供的教程或链接都没有太大帮助。
您如何在 Netbeans 中设置项目以使其部署在正确的目录中?
Netbeans 版本 7.3.1
Glassfish 版本 4.0
操作系统:Ubuntu
*答案已更新以考虑 Java 8 EE
java - 如何异步处理 SSE 事件?
最理想的是,我希望能够做这样的事情
显然不必完全像那样,只是认为这将有助于解释我想要做什么。
我已经看到泽西岛对此有某种支持。我想找到一个替代方案,但如果没有其他可用的,我会使用它。
jpa - 在 GlassFish 5 中,EJB 未注入到实体侦听器中
我目前正在开发一个使用 Java EE 8 和 GlassFish 5 的网络应用程序。
该应用程序的其中一个实体已归档存储上次创建和修改该实体的时间以及由谁创建和修改。该实体使用实体侦听器进行注释,该实体侦听器应在实体被持久化或合并时更新这些字段。
毕竟,我的代码与http://hantsy.blogspot.de/2013/12/jpa-21-cdi-support.html中的代码非常相似
当我使用 GlassFish 5 运行应用程序并且实体将被持久化或合并时,会按预期调用“prePersist()”,但不会注入 EJB(userService 为空)。
我已经使用由 hantsy ( https://github.com/hantsy/ee7-sandbox/tree/master/jpa/converter )提供的转换器示例重现了这种行为,其中将记录器注入到实体侦听器中。但是,当我在 GlassFish 4.1.1 中使用 hantsy 的示例时,它按预期运行(记录器被注入,没有错误)。当我将示例与 GlassFish 5 一起使用时,它失败了(NPE,因为没有注入记录器)。
我是否缺少为 JPA 2.2 启用 CDI 的注释或配置?或者这是 GlassFish 5 或 Eclipse Link 2.7.0 中的错误?
编辑(2017-12-16):我已将 GlassFish 4.1.1 中的 Eclipse Link 更新为 2.7.0.v20170811。现在,GF 4.1.1 的行为相同。因此,该行为必须与当前的 EL 版本相关。
java - 如何在 Java EE 中初始化惰性 ServletRegistration
我有一个ServletContextListener
并且我正在容器JSF 2.3
上运行一个应用程序。Tomcat 9
一切都很好,但是我需要访问FacesContext
创建上下文的时间。
由于我没有使用部署描述符,所以我没有注册FacesServlet
配置,看起来它是由容器自动注册的,原因如下:
以下调用将返回NULL
,如 Java Doc 中所述,它NULL
在已经创建同名的 Servlet 时返回。
sce.getServletContext().addServlet("FacesServlet", FacesServlet.class)
以下调用确实返回一个值:
ServletRegistration facesServlet = sce.getServletContext().getServletRegistration("FacesServlet");
但是由于我没有做任何配置,所以我没有设置loadOnStatup
参数,所以它被自动设置为-1
.
现在是一个负数,这意味着这个 Servlet 是惰性的,所以通过调用FacesContext.getCurrentInstance()
我正在接收NULL
,因为似乎 Servlet 还没有初始化。
现在,当然,我可以通过部署描述符手动注册 Servlet,但我想避免这种情况(只是因为我想尽可能多地从自动配置中受益)。
我没有找到以loadOnStatup
编程方式更改值的方法,有没有办法初始化这个 Servlet?
java - Wildfly10 hsqldb模块未安装,数据源配置ko
嗨,我尝试在这里找到一个 JEE8 安全 Web 应用程序示例:https ://github.com/swhp/javaee-soteria
我会将它安装在 Wildfly10 (jboss 7+) 中,带有 Cargo Maven 2 插件和 HSQL 数据库(而不是 Postgres)。与货物一起运行的应用程序:运行
所以我修改了一个 pom.xml,为 hsqldb 添加了插件和依赖项,如下所示:
我将配置文件(standalone.xml)和 hsqldb 驱动程序(jar)+ 相关 module.xml 复制到我的 jboss 目录中,并将插件配置为复制到 Wildfly 安装目录(在目标中):
myprojectdir\src\main\jboss\configuration\standalone.xml myprojectdir\src\main\jboss\modules\org\hsqldb\main\module.xml myprojectdir\src\main\jboss\modules\org\hsqldb\main\hsqldb- 2.4.0.jar
satandalone.xml:
模块.xml:
当我运行命令“cargo:run”时,上面的 module.xml 和 hsqldb jar 被复制到
但是,我得到了这个例外,我的错误是什么?谢谢!
这是我在 resources\META-INF 中的持久性文件描述符:
java - 防止 Wicket 8 AjaxEventBehavior onChange 在子页面上不提交表单
我正在使用 Wicket 8,但我遇到了一个大问题:
我有一个抽象的 BasePage,(HomePage 扩展 BasePage)和(LoginPage 扩展 BasePage)
我正在使用 BasePage 向所有有 DropDownChoice 更改语言的页面添加导航栏。
以下是我的代码的相关部分:
当 localeDDC 正在渲染时,它正在设置当前语言的 ModelObject 并显示它。当我更改语言时 - 它会重新渲染整个页面(使用选定的语言)
我也有主页
这里没有什么有趣的,它现在只是一个空白页面。带有 ajax 的 DropDownChoice 运行良好!
这是我的登录页面的完整代码:
在此页面上,我还有带有语言 DropDown 的顶部导航栏(与 HomePage 中相同)但是带有 ajax 的 DropDownChoice 无法正常工作,因为当我更改语言时,它正在提交loginForm 并尝试在 onSumbit() 中进行身份验证这种形式,它在 AjaxEventBehavior 之前为 localesDropDownChoice 调用,所以什么都没有发生并且发生错误,因为它正在发送空字段(用户名和密码)并尝试登录。
如何防止 DropDownChoise 上的 AjaxEvent 不在扩展页面上提交 loginForm?
jax-rs - 是否可以从 JAX-RS 2.1 资源返回 Stream ?
谷歌搜索令人惊讶地没有显示结果!所以,拜托,我想知道是否有可能......: 1. 至于任何 JAX-RS 实现(例如通过规范) - 在规范本身中没有找到那个。2. 至于一些特定的(比如提供者特定的功能,我目前在 RestEasy 顺便说一句) 3. 如果是,我应该关闭流,比如说,它来自休眠可滚动结果,例如 Session#stream()?或者 JAX-RS 是否自动关闭,或者至少因为我记得所有集合等都表示为 JAX-RS 中的列表?
我相信我在 SlideShare 的 2.1 演示文稿中的某个地方看到了它。
java - TOMCAT 中的 JAVA SOAP 服务依赖关系
我有一个JAX-WS
服务也有一些依赖项,我需要将它们捆绑在一起作为其中的一部分,WAR file
以便在部署到服务器时,依赖项不会安装在正常$TOMCAT/lib
目录中,这可能会影响生产服务器上运行的其他服务。我该怎么做?
ssl - 使用 javamail 发送邮件会引发 NoSuchMethodError: sun.security.ssl.SessionId.checkLength
我的 Java ee 8 webapp 使用 javamail 1.6.1 通过 gmail 发送电子邮件。我在 Glassfish 5、Mac os High Sierra 上运行它,Glassfish 5 设置为在 jdk1.8.0_20 上运行,我从 Netbeans 8.2 启动它。
这是它正在完成的片段:
该Transport.send
行在上面的标题中抛出异常。更确切地说:
我在这里发现了这个类似的问题,但他们所说的只是确保 Glassfish 在 JDK 1.8 上运行,而我的是。
我注意到javax.mail.Transport
在 javaee-api 和 javamail 这两个依赖项中都存在同一个类,所以我从我的 pom.xml 中的依赖项中删除了 javamail,我仍然可以构建应用程序,但是在尝试发送电子邮件时遇到了同样的错误。
这就是我的 pom.xml 的样子:
jsf - 现在需要 faces-config.xml 和 web.xml 吗?
我一直在学习 JavaEE8 并通过一些项目进行实践,了解 Servlet 4.0 和 JSF 2.3 等新技术。我在许多论坛和页面上阅读过,在一些我看到他们这么说web.xml
并且faces-config.xml
没有必要,因为现在使用注释,但在其他一些他们继续使用它们。
在哪些情况下应该继续使用 Web Deployment Descriptor->web.xml
和应用程序配置资源文件-> faces-config.xml
?