问题标签 [java-ee-7]
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.
jakarta-ee - 在 GlassFish 4 服务器上运行 Java 类(不是 servlet)
我有以下两个问题:
如何
GlassFish 4
通过 Eclipse Juno 或其他方式在服务器上启动 java 类(不是 servlet 或 JavaBean)?在启动时运行它的正确方法是什么?
我有使用JDNI
功能并需要在服务器上运行的 Java 类。怎么做?
我发现了一些关于在服务器启动时运行它的信息,这些信息归结为以下选项:
- 使用
@Startup
and@Singleton
注释(据我所知,它专门用于 EJB) - 实现
LifecycleListener
接口 - 实现
Startup
接口
Oracle GlassFish Server 应用程序开发指南明确指出:
生命周期侦听器模块已弃用。包括对它们的支持是为了向后兼容。建议改用 org.glassfish.api.Startup 接口。
当我添加org.glassfish.api.*
导入并让我的类实现Startup
接口Eclipse
时,警告我它已被弃用。所以我不确定那里还剩下什么,因为我的班级不是 EJB。无论如何,我继续进行Startup interface
并满足它的要求,添加了以下方法:
在 Eclipse 中,我停止并启动了服务器,但该类似乎没有运行。我的班级有 System.out.println() 调用,但我在服务器和控制台选项卡和服务器日志中都没有看到它的消息。
所以这是我卡住了。
将不胜感激您的建议。
澄清:
我的问题中与启动相关的部分是指服务器(即GlassFish
)启动(而不是 Web 应用程序启动)。我需要GlassFish
在服务器启动时强制实例化这个类,并让它在服务器生命周期内运行。
它基本上是一个消息侦听器,需要监控队列并响应来自各种发送者的请求。
java - 更改 Eclipse 的编码字符
如何更改 Eclipse 上的编码?
我做了所有这些配置:
和
但是,我仍然在我从数据库中提取的网页上得到这个,知道那里的编码是完美的(JSP 页面):
http://img15.hostingpics.net/pics/136324Capturer4.jpg
我在我的 JSP 页面顶部写了这个:
这进入我页面的头部标签
dependency-injection - CDI 1.1中注解的bean发现模式的含义
我正在将应用程序迁移到 Java EE 7 并希望迁移到 CDI 1.1。但我不明白 的意思bean-discovery-mode="annotated"
。CDI 1.1 规范不是很有帮助。
至少我还没有找到任何有用的段落。我错过了吗?
这个例子完美地运行bean-discovery-mode="all"
并注入了一个实例LoggingClass
:
但是,如果我更改bean-discovery-mode="all"
为bean-discovery-mode="annotated"
容器,则无法将实例注入该字段lc
。
我必须如何注释LoggingClass
才能bean-discovery-mode="annotated"
正确使用?
web-services - Java EE 7 GlassFish 4.0 Restful Webservices 使用和 Netbean 并在 Glassfish 4.0 上部署
我已按照本教程使用 Netbean 7.3.1 创建简单的 Java EE 7 Web 服务。我有使用 Netbeans 运行的 Glassfish 4.0。我成功地运行了项目,没有任何问题。
下一步是在 GlassFish 4.0 网络服务器的独立版本上部署 Webservice 项目。所以我可以在没有 Netbeans 的情况下运行它。
在 上使用 Glassfish Web 界面http://localhost:4848
并进行导航
我使用(“要上传到服务器的打包文件”)浏览并从我的项目的子目录 /dist/ 中选择 CustomerDB.war 文件
我通过在 Netbean 中运行项目创建了 war 文件。
但部署失败并出现以下错误。
当我检查服务器日志 C:\glassfish4\glassfish\domains\domain1\logs\server.log
它说
更新:
好的,因为我忘记添加连接,所以我找到了上述问题的解决方案。我刚刚添加了连接池和连接资源。
通过导航添加 JDBC 连接池Common Tasks -> Resources -> JDBC -> JDBC Connection Pools
。
通过导航添加了连接资源Common Tasks -> Resources -> JDBC -> JDBC Resources
但我仍然收到错误。这次不同了。
知道我缺少什么吗?
web-services - Java EE 7 Restful Webservice POST 方法需要 ID 类型 Autoincrement
我正在使用本教程使用 Netbean 7.3.1 创建简单的 Java EE 7 Web 服务。
它运行成功,我正在使用 GET、PUT、POST、DELETE 进行测试。除了 POST,这三个都工作正常。
我正在发布这个带有 ID 的 json 数据,效果很好。
但是因为我的 ID 是自动递增的,所以当我在没有 id 的情况下发布以下 json 时,它会失败并出现以下错误
错误是
谁能解释为什么我需要在发送 POST 时发送数据库中自动递增类型的 ID?有什么解决办法吗?
实体类中的代码是
AddressFacadeREST.java 类看起来像这样。
jakarta-ee - 如何确定 JBoss AS 7.1 的 Java EE 版本
我正在使用 JBoss AS 7.1,我需要确定提供的 Java EE 版本。我很确定它是 Java EE 6。但是如何确定版本号以及如何切换到自 2013 年 5 月以来发布的 Java EE 7?
java - Websocket 客户端无法部署到 Glassfish
亲爱的 Stack Overflow 极客们,
我正在尝试使用 Java EE 7 创建一个非常基本的 Java 客户端-服务器应用程序,其目的是使用 JSR 356 实现通过 websocket 发送消息。
我已经按照我在那里找到的各种博客成功地编程和部署了服务器,并且我能够将 Javascript 客户端与我的 java 服务器进行通信。
现在我要做的是创建一个需要与服务器通信并检索相同信息的独立 Java 应用程序。我读到 JSR 356 实现可以在 Java 客户端中使用,而这正是我所做的。我还使用 Tyrus 创建客户端并使用闩锁机制等保持其运行。等等。漂亮。客户端最终被编程,服务器启动并运行但是当我尝试运行客户端时出现此错误:
我在 NetBeans 7.3 中使用 Java EE 7 API + Tyrus 并在 Glassfish 4 中进行部署(据我所知,它支持 JSR 356 实现)现在,到底为什么找不到 CloseReason 类!:( 如果是这样的话,它不应该编译,不是吗?
奇怪的是,它没有抱怨与 websocket 实现(JSR 356)相关的其他类,另一方面,我部署了服务器(web-app)并且 websocket 机制工作得很好。(我想我没有在那里实施 CloseReason .. 但为什么它只抱怨这个!:@)
提供的任何帮助将不胜感激!!
干杯,
另一个寻求帮助的 Stack Overflow Geek。:)
java - 无法使用 updatetool 安装 javaee7 教程的教程内容
我下载了最新的 javaee7 教程并尝试使用命令下载教程文件updatetool
。我做了以下步骤:
- 下载
glassfish4
zip 文件并解压缩 - 我将
$AS_JAVA
变量设置为$JAVA_HOME
。JAVA_HOME
正确地指向早期配置中的有效 oracle-7-jdk。 然后我将父目录
glassfish
和glassfish
目录添加到PATH
. 当我这样做时which updatetool
,我得到以下信息/home/frrole/glassfish4/bin/updatetool
:所以我想一切都很好。我还可以使用 `asadmin start-domain 成功启动 glassfish 服务器现在当我输入时
updatetool
,我收到以下错误:
frrole@Frrole-NER1:/usr/lib/jvm/java-7-oracle$ 更新工具
未安装此命令所需的软件 (updatetool)。
如果您选择安装更新工具,您的系统将自动配置为定期检查软件更新。如果您想将该工具配置为不检查更新,您可以通过该工具的首选项工具覆盖默认行为。
当此工具与软件包存储库交互时,一些系统信息(例如系统的 IP 地址和操作系统类型和版本)会发送到存储库服务器。欲了解更多信息,请参阅:
http://wikis.oracle.com/display/updatecenter/UsageMetricsUC2
安装完成后,您可以重新运行此命令。
您想现在安装更新工具吗(y/n):y
代理:使用系统代理设置。安装镜像:/home/frrole/glassfish4 安装 pkg 包。下载2个包。下载 pkg(511 个文件,6,237,937 字节)。
Java 运行时环境检测到一个致命错误:
SIGSEGV (0xb) 在 pc=0x00007ffb5b574920,pid=22316,tid=140717514012416
JRE 版本:7.0_21-b11 Java VM:Java HotSpot(TM) 64 位服务器 VM(23.21-b01 混合模式 linux-amd64 压缩 oops)有问题的框架:C [libdbus-1.so.3+0x26920]GConf 错误:无法联系配置服务器:D-BUS 错误:消息具有与当前未完成的现有方法调用相同的回复序列 [线程 140717512959744 也有错误] dbus_watch_handle+0x1b20
无法写入核心转储。核心转储已被禁用。要启用核心转储,请在再次启动 Java 之前尝试“ulimit -c unlimited”
包含更多信息的错误报告文件保存为:/home/frrole/glassfish4/hs_err_pid22316.log
如果您想提交错误报告,请访问: http ://bugreport.sun.com/bugreport/crash.jsp 崩溃发生在 Java 虚拟机之外的本地代码中。请参阅有问题的框架以了解报告错误的位置。中止(核心转储)
我不知道发生了什么。任何帮助深表感谢。
更新:
现在,我收到以下错误:
glassfish - Glassfish 摘要身份验证
我想使用 JAX-RS(Jersey + Jackson,Jackson 用于生产 JSON)构建 RESTful Web 服务。
我使用 Glassfish 4.0 作为服务器,使用 netbeans 作为 IDE。
网络服务工作正常,但目前我没有任何身份验证。
所以现在我正在考虑对密码进行哈希处理的摘要身份验证,这样您就不需要以纯文本形式传输密码。另外我想使用https,以便对数据进行加密。
我理解了这个理论。但我不知道如何在带有 Glassfish 的 Netbeans 中做到这一点。
我在 glassfish 的管理控制台中看到了一些教程。但是没有办法只在netbeans中做到这一点吗?我不能在部署应用程序时创建的 netbeans 中定义一个领域吗?
在创建领域和东西之后。我想我需要在我的所有资源(WebServices)中注入某种经过身份验证的“用户”对象。但我以前从未这样做过。我正在寻找一个很好的教程,它描述了我如何设置摘要身份验证,并且通过 netbeans 的注入可以用 netbeans 做到这一点,以便我能很好地理解它。