问题标签 [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.

0 投票
0 回答
837 浏览

jakarta-ee - 在 GlassFish 4 服务器上运行 Java 类(不是 servlet)

我有以下两个问题:

  1. 如何GlassFish 4通过 Eclipse Juno 或其他方式在服务器上启动 java 类(不是 servlet 或 JavaBean)?

  2. 在启动时运行它的正确方法是什么?

我有使用JDNI功能并需要在服务器上运行的 Java 类。怎么做?

我发现了一些关于在服务器启动时运行它的信息,这些信息归结为以下选项:

  • 使用@Startupand@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在服务器启动时强制实例化这个类,并让它在服务器生命周期内运行。

它基本上是一个消息侦听器,需要监控队列并响应来自各种发送者的请求。

0 投票
3 回答
787 浏览

java - 更改 Eclipse 的编码字符

如何更改 Eclipse 上的编码?

我做了所有这些配置:

但是,我仍然在我从数据库中提取的网页上得到这个,知道那里的编码是完美的(JSP 页面):

http://img15.hostingpics.net/pics/136324Capturer4.jpg

我在我的 JSP 页面顶部写了这个:

这进入我页面的头部标签

0 投票
3 回答
33040 浏览

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"正确使用?

0 投票
1 回答
4177 浏览

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

但我仍然收到错误。这次不同了。

知道我缺少什么吗?

0 投票
1 回答
2831 浏览

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 类看起来像这样。

0 投票
2 回答
1934 浏览

hosting - 托管 Java EE 7 Restful Webservice MySQL 数据库

我在 GlassFish 4.0 网络服务器上使用 Java EE 7、Netbeans 7.3.1 和 MySQL 数据库开发了 Restful Web 服务。

现在我正在寻找在在线服务器上托管/部署它。我已经在 GlassFish 4.0 上搜索了带有 MySQL 数据库的 Java EE 7 托管服务提供商,但找不到任何内容。我在这里找到的是openshift,它目前仅支持 Java EE 6。

我有哪些选择?是否有任何托管服务提供商可以满足上述要求?

我不确定是否可以使用 Google 应用引擎或亚马逊来托管我的上述网络服务?

0 投票
1 回答
5637 浏览

jakarta-ee - 如何确定 JBoss AS 7.1 的 Java EE 版本

我正在使用 JBoss AS 7.1,我需要确定提供的 Java EE 版本。我很确定它是 Java EE 6。但是如何确定版本号以及如何切换到自 2013 年 5 月以来发布的 Java EE 7?

0 投票
1 回答
1113 浏览

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。:)

0 投票
2 回答
5352 浏览

java - 无法使用 updatetool 安装 javaee7 教程的教程内容

我下载了最新的 javaee7 教程并尝试使用命令下载教程文件updatetool。我做了以下步骤:

  • 下载glassfish4zip 文件并解压缩
  • 我将$AS_JAVA变量设置为$JAVA_HOMEJAVA_HOME正确地指向早期配置中的有效 oracle-7-jdk。
  • 然后我将父目录glassfishglassfish目录添加到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 虚拟机之外的本地代码中。请参阅有问题的框架以了解报告错误的位置。中止(核心转储)

我不知道发生了什么。任何帮助深表感谢。


更新:

现在,我收到以下错误:

0 投票
1 回答
1281 浏览

glassfish - Glassfish 摘要身份验证

我想使用 JAX-RS(Jersey + Jackson,Jackson 用于生产 JSON)构建 RESTful Web 服务。

我使用 Glassfish 4.0 作为服务器,使用 netbeans 作为 IDE。

网络服务工作正常,但目前我没有任何身份验证。

所以现在我正在考虑对密码进行哈希处理的摘要身份验证,这样您就不需要以纯文本形式传输密码。另外我想使用https,以便对数据进行加密。

我理解了这个理论。但我不知道如何在带有 Glassfish 的 Netbeans 中做到这一点。

我在 glassfish 的管理控制台中看到了一些教程。但是没有办法只在netbeans中做到这一点吗?我不能在部署应用程序时创建的 netbeans 中定义一个领域吗?

在创建领域和东西之后。我想我需要在我的所有资源(WebServices)中注入某种经过身份验证的“用户”对象。但我以前从未这样做过。我正在寻找一个很好的教程,它描述了我如何设置摘要身份验证,并且通过 netbeans 的注入可以用 netbeans 做到这一点,以便我能很好地理解它。