问题标签 [jonas]
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 - 如何在 Docker 容器中的 JoNaS 上部署应用程序
我正在使用 Docker(Unix 系统)来制作可以部署一些 Web 应用程序(用 Java 制作)的容器。我在其中一个容器中正确安装并配置了 JoNaS,但我缺少有关网络的一些内容。
事实上,问题是我使用了一个调用一些 Maven(更准确地说是 maven-cargo-plugin)的 Jenkins 作业,以便在容器中部署(rmi:// 协议)。
我猜他们无法正确讨论,因为容器不在同一个网络上。实际上,我不允许更改任何网络设置,因此我搜索了绕过网桥或类似内容的解决方案。
如果他们没有,你们对我的问题有什么想法吗?如果你们认为我不够清楚(http://img15.hostingpics.net/pics/209383DockerExp.png),我对我的配置做了一些说明。
虽然,对不起我的英语错误。
spring - Jonas - Spring - Jersey REST - Bean 验证:ValidationException:未找到验证提供程序
我正在使用 Jonas 5.2.4、Jersey 2.15、Spring 4.13 构建一个 REST Web 服务应用程序。'直到这一点一切都好。应用程序按预期编译、部署和响应。
然后,我尝试添加输入休息资源的 Bean Validation (JSR-303),以支持这些指示/示例: https ://jersey.java.net/documentation/latest/bean-validation.html 或http://blog。 trifork.com/2009/08/04/bean-validation-integrating-jsr-303-with-spring/
当我添加验证依赖项时:
我有同伴堆栈:
这是应用程序的 Maven 树。(依赖项是从 dao 项目部分中提取的,以确保它们在任何地方都可用):
当然,我已经做出了推荐的更改: - bean 验证器类
管理休息请求的控制器类:
配置验证的类(直接来自示例;为简短起见,删除了注释):
类注册 REST 配置
应用程序的 web.xml:
和弹簧配置:
为应用程序排除的特定构建 Jonas 类(使用 app.jars):
Jonas 服务已激活:
在此配置中,应用程序编译不会出现错误。当我尝试在服务器上部署它时,我得到了上面显示的堆栈。有人可以帮我找出我错在哪里......或者我错过了实施的哪一部分。
谢谢
java - 如何在 TCP 连接上收到 [FIN,ACK] 通知 Java 应用程序?
我从 JMeter 实例到 Apache 服务器以及从 Apache 服务器到部署在 Jonas 中的 Java 应用程序建立了 2 个连接。
当我终止 JMeter 进程时,与 Apache 的连接以 [RST] 关闭。然后 Apache 向 Jonas 发送一个 [FIN, ACK]。Jonas 还没有发送所有数据,所以它一直在发送数据。Jonas 稍后使用 [FIN,ACK] 关闭连接。此行为在 TCP RFC 中进行了描述。
因此,问题是 Apache 接收来自 Jonas 的所有数据,即使 Apache 无法将其发送到 JMeter。
我的问题是:我的 Java 应用程序可以在收到 Apache 发送的 FIN、ACK 时触发吗?
apache - Apache 如何管理用户和 Jonas 之间的 TCP 连接?
我在 Apache 服务器后面的 Jonas 上部署了一个 Java 应用程序。java应用程序用于下载文件。要下载文件,用户需要发送一个 get。所以有两个 TCP 连接:一个从用户到 Apache,一个从 Apache 到 Jonas。
我的问题是:Jonas 发送文件的速度比 Apache 发送给用户的速度快。当 Jonas 发送完所有文件后,它会通过 FIN,ACK 关闭连接的一半。Apache 以 RST 响应,并通过 FIN,ACK 关闭与用户的连接,即使用户尚未收到所有数据。
下面是问题的网络截图
连接是用户:54234 ---- 8089 Apache 55903 ---- 9019 Jonas
我的问题是:
- 这是 Apache 的正常行为吗?Apache 可以在将所有数据发送给用户之前缓冲所有数据吗?
- 它是通过 mod_jk 还是在 Apache 配置中配置的?
- 当 TCP 连接出现问题时发送 RST,是否有专门针对这些问题的日志文件?
maven - Maven Cargo 部署到远程 JONAS 在已经自动加载的战争中失败
以下是导致部署失败的操作顺序:
- 我第一次通过 Cargo 将名为 xxx.war 的战争部署到远程 JONAS 4.7.4。它成功了,并将我的战争放在 webapps 目录中。
- 我尝试通过 Cargo 重新部署这场战争来更新它:没问题,它成功了。
- 我关闭 JONAS 并启动它。我的 JONAS 配置为自动部署 webapps 目录中的战争。所以我的 xxx.war 是由 JONAS 自动部署的。
- 我尝试通过 Cargo 重新部署这场战争的新版本:这是失败的。当 JONAS 自动部署战争时,我无法通过 Maven Cargo 重新部署它。
如果 JONAS 没有处于 autodeploy 模式,重启 JONAS 后通过 Cargo 重新部署新版本的 war 是没有问题的。
有任何想法吗 ?
java - 重启后丢失日志文件(log4j)
我正在使用 log4j 在我的 java 应用程序中显示日志。我使用 DailyRolligFileAppender 滚动日志文件。在我手动重启之前它运行良好。重新启动应用程序时,我将丢失最后一个日志文件。log4j 将获取这个文件,覆盖它,放入两行日志,然后创建一个新文件并写入。所以我丢失了最后一个文件。
例如:我有
App.log.2015-10-09
App.log.2015-10-10(上次重启)
App.log.2015-10-11
App.log.2015-10-12
假设上次重启是在 2015 年 10 月 10 日。如果我在 2015-10-12 重新启动应用程序,那么 log4j 将覆盖 App.log.2015-10-10 文件的内容,写入以下行:
应用程序 - 2015 年 10 月 12 日 10:18:31,960 调试 -- [PropertyMessageResources]
应用程序 - 2015 年 10 月 12 日 10:18:31,972 调试 --[ActionServlet] 完成此控制器 servlet
应用程序 - 2015 年 10 月 12 日 10:18:31,977 信息 -- [GraniteConfigListener ] GraniteDS 停止
然后它将关闭此文件并创建一个通常命名的新文件,该文件App.log
将写入当前日志。
这是我的 log4j.xml :
你能告诉我我应该怎么做才能避免日志文件的丢失。
eclipse - eclipse neon.1 jonas 5 服务器适配器
我在ubuntu 16.04下运行eclipse neon.1。我使用 eclipse 安装程序安装了 eclipse 并安装了 Java EE 包。我安装了 jonas 和 maven 等,所以一切都设置好了。我可以建立我的项目。
但是我找不到使用 jope 适配器http://forge.ow2.org/projects/jope/将我的 jonas 服务器集成到 eclipse 中的方法
我确实下载了最新版本 5.1.0 将其提取到 dropins 文件夹中,但似乎 eclipse 忽略了它。所以我不能在我的 Eclipse 环境中添加我的 jonas 服务器。
这是我的 Eclipse 实例的启动日志:
有什么提示吗?
spring-mvc - 使用 Spring Boot Legacy 的 Spring Boot 应用程序给出 NoClassDefFoundError
我们正在使用 Spring Boot 开发一个 REST 应用程序,我们将在 JOnAS 5.x 上部署该应用程序,这是一个 servlet 2.5 容器。我们使用 Spring Boot Legacy 从spring 文档中获取帮助。该应用程序适用于嵌入式 tomcat,但是当我们通过 eclispe 在 JOnAS 5.x 上部署此应用程序时,它会给出如下错误:
我们的 pom.xml 如下
web.xml 如下
应用配置如下:
Spring boot legacy的链接。我在互联网上进行了广泛搜索,但没有得到任何相关答案。如果有人可以请帮忙。
linux - Linux中的进程附加到哪个端口
我想知道我的 Jonas 是哪个端口,Java 项目已部署在该端口上,连接到 Linux 服务器中。我有 Jonas 的 pid 并尝试了 netstat -lnp 但我发现没有连接到该 PID 的端口。关于如何做到这一点的任何想法。
java - javax.ejb.EJBException:发送请求时出错[原因:java.io.OptionalDataException]
我有一个来自客户端的 EJB 调用,如下所示:
getPortfolioService() 返回 PortfolioFinderDelegate(EJB 客户端接口)的一个实例。来自客户端的 EJB 服务具有以下签名:
对于服务器端的EJB,该方法的实现是:
getPortfolioAsList() 方法是一个私有方法:
昨天,我得到了一个奇怪的堆栈跟踪,我以前从未遇到过,我确信服务器端的投资组合缓存不为空。此外,服务器端没有错误日志。当第一个客户端遇到此错误时,所有客户端都有它。这个问题与返回对象的大小有关吗?(因为缓存大小每天都在增加)通过EJB对数据进行序列化和反序列化时,对象大小是否有限制?