问题标签 [jboss-modules]

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 投票
2 回答
543 浏览

primefaces - Wildfly 模块

我正在尝试在 Wildfly 服务器上移动 primefaces

还有什么取决于我?

我有错误这样的错误

当我使用

一切正常

最后一个问题我在modules.xml中理解正确了吗

资源 - 有 WildFly 中没有的书面库。依赖项 - 然后是 WildFly 库的路径

0 投票
0 回答
1171 浏览

java - Wildfly:如何更改 WAR 部署的模块名称?(不更改 WAR 文件名)

我有一个 Maven 项目,生成的 .war 文件的名称是my-project-1.0.0-SNAPSHOT.war. 我尝试使用以下代码获取战争模块的名称和插槽:

变量的name值为deployment.my-project-1.0.0-SNAPSHOT.war和。slotmain

如何在不更改 WAR 文件名的情况下更改模块名称?

我有这个jboss-deployment-structure.xml(位于 WEB-INF 文件夹中,我也在 META-INF 文件夹中尝试过)文件:

但模块名称保留为war 文件名(my-project-1.0.0-SNAPSHOT.war)。

实际上我想更改模块名称的主要原因是因为我使用 jboss-marshalling 来序列化一些 java 对象,而 ModularClassResolver 包含这些模块信息(名称和插槽),使得当我们更改项目版本时序列化的数据不兼容并且.war 文件有另一个文件名。

还有其他方法可以更改我的项目的模块名称吗?

谢谢

0 投票
1 回答
489 浏览

java - 如何维护 JBoss 模块

最近,我不得不将一个应用程序从 Tomcat 移植到 Wildfly,我目前正在为 Wildfly 设置模块目录。

这需要一点学习,但我想出了如何将 Spring、ActiveMQ RA 和其他几个库设置为模块。这是有效的,但它让我担心模块目录的未来维护。我不得不手工制作整个目录,我担心必须为每个新应用程序需要的每个新依赖项都这样做。

维护 JBoss 模块的最佳实践是什么?模块目录是否放入一些版本控制系统(如 SVN)来检测和传播更改?

假设我的应用程序需要一个新框架。据我了解,我需要下载 jars,为 jars 创建一个模块目录,然后为我需要 Wildfly 的每个环境重复此过程。当其他应用程序正在运行时需要执行此操作时会发生什么?从长远来看,这似乎非常耗时。

我觉得有一种更好的方法可以做到这一点,我要么没有意识到,要么对 JBoss 太陌生而无法理解。

使用 Maven 和 pom,连接到本地或远程 repo 非常简单,并且构建了整个目录并自动在任何地方可用。我觉得 JBoss 模块必须有类似的东西。

我的问题的核心是:其他人如何使用 JBoss 模块并在生产环境中对其进行维护?我应该阅读或使用哪些资源?

谢谢你的时间。

凯文

0 投票
1 回答
69 浏览

guava - Ceylon 模块系统:Guava 类不匹配,即使依赖关系树中只有一个 Guava

我通过子类化一个将 Google Guava 作为构造函数参数的类来为 JSimpleDB(一个持久性库)定义一个适配器Converter

JSimpleDB 默认不导出 Guava,所以我添加了以下内容overrides.xml以确保正确的类对我的应用程序可见(我没有使用--auto-export-maven-depenciesor --flat-classpath):

这导致以下模块层次结构(我的代码在 中fun.uschool.user.impl):

模块层次结构

正确的com.google.guava:guava模块应该暴露给我的程序,确实我可以 import Converter,但是当我尝试编译上面的代码时,我得到以下错误:

所以显然不知何故com.google.guava:guava导入了错误,即使模块依赖关系树中只有 1 个可见。如何导入正确的?

这是ceylon info's 依赖分析的输出:

0 投票
0 回答
43 浏览

java - 使用 Jboss 模块编写 Java EE Web 应用程序的文件

我想将文件保存在部署到 JBoss (EAP 6.1+) 的 Java EE Web 应用程序中。使用数据库不是一种选择。我已经阅读了所有听起来与这个主题相似的答案(尤其是来自 BalusC)。但是,我不太确定我对此的想法是否完全清楚。

到目前为止,我目前的实现只在本地 jboss 服务器上进行了测试。我使用了 JBoss 模块来节省我的资源,更具体地说:

  1. 我创建了一个新的 jboss 模块

  2. 我正在通过以下方式访问我的资源(从 Servlet 容器而不是 EJB 容器)路径:getClass().getClassLoader().getResource("/my_path")

鉴于我没有将任何文件写入 或读取)部署文件夹,我预计在重新启动 jboss 后不会出现任何问题(例如数据丢失)。

在使用多台机器(用于负载平衡)的阶段,是否期望文件仅对写入文件的机器可见?或者所有机器上的 jboss 模块的内容是否可见并同步?

如果还考虑到不会同时尝试访问某些资源:
是否还有其他情况可以预料到不一致/问题?

0 投票
1 回答
874 浏览

wildfly - Wildfly10:使用 XML 配置部署运行时名称

我可以通过在 .war 文件中配置 XML 文件来设置部署的运行时名称吗?

除了 .war 的文件名之外,还有没有办法使用 XML 配置部署的名称和运行时名称?

0 投票
1 回答
511 浏览

resteasy - 在静态模块中引用 org.jboss.resteasy 的正确 JBoss 模块依赖关系是什么?

我正在尝试部署一个使用 resteasy 的静态模块,它作为系统模块预先安装:

但是我尝试引用它失败了。我的模块看起来像:

以下生成的日志输出如下所示:

Java HotSpot(TM) 64 位服务器 VM 警告:忽略选项 MaxPermSize=256m;支持已在 8.0 11:47:53,135 错误 [org.jboss.msc.service.fail](MSC 服务线程 1-7)MSC000001:无法启动服务 jboss.web.valve.JWTAUTHENTICATOR:org.jboss.msc。 service.StartException in service jboss.web.valve.JWTAUTHENTICATOR: org.jboss.modules.ModuleNotFoundException: org.jboss.resteasy-jaxrs:main 原因:org.jboss.modules.ModuleNotFoundException: org.jboss.resteasy-jaxrs:main

模块文档中的表 3.1表明这个配置应该足够了,但是之前对静态模块依赖项的经验让我对它没有感到惊讶。

我怀疑这与这个特定模块无关,并且可能缺少resteasy需要的依赖项。不幸的是,jboss 模块文档没有提供这些信息。将不胜感激。

谢谢,罗宾

0 投票
1 回答
377 浏览

java - 如何使用 CDI 构建插件架构 - 我使用的是 Wildfly 10

我想构建一个基于 JEE 插件的架构。主要思想是做一些类似于 eclipse 的事情,但在 JEE 的上下文中。我的目标是以最少的模块为核心,并允许其他模块扩展其功能。为此,我使用 4 个模块实现了一个测试:

依赖关系如下:

这是通过jboss-deployment-structure.xml在每个部署的文件上使用来完成的。

部署是作为单个文件完成的:

所有服务都启动了,但我看到的是,我gaugesregistry的被实例化了好几次。我在调试模式下启动了 wildfly,我看到每个模块都有自己的 gaugesregistry 实例:cashgauges 和 othergaugesaddGauge在注册表上调用相同的方法 ( ),但此注册表的实例不一样。

这在两种情况下都会发生,使用@ApplicationScoped@Singleton注释。我究竟做错了什么?

源代码可在https://github.com/hatit/research获得

几天后,我正在考虑使用 ServiceLocator 模式和远程引用而不是 CDI。有什么建议么?

0 投票
0 回答
262 浏览

jakarta-ee - 即时从 jboss 模块添加 CDI bean 存档

我正在使用wildfly(以及wildfly核心包含的jboss模块)构建一个JEE插件架构。

目前,由于从外部文件系统或数据库获取 Facelets 模板/文件以及我用来了解哪些模块可用的“扩展注册表”,我目前正在从其他已部署的模块加载 xhtml(core-web.war 从deployment.customers.jar或任何加载 xhtml 文件deployment.xmodule.jar).

当我尝试使用这些已部署模块中的托管 bean 时出现问题,这是因为未扫描注释,我不知道这是否是因为我需要 JSF、EL、Classpath、CDI 或 Jboss 模块上的自定义组件。

我正在使用 Wildfly 10、JEE 7、primefaces 6。

什么是让这个工作最简单的方法。

我的一些尝试是:

  1. 我已阅读 jboss 模块文档,我发现模块初始化后无法修改模块依赖项。但我发现我可以以编程方式访问任何模块。例如:

    /li>
  2. 我已经阅读了 CDI 文档,它说我可以监听生命周期事件,例如类型和 bean 发现,但我不确定这是否是我需要的。

    1. 我还尝试构建一个自定义 el 解析器,但它不起作用。

      /li>
0 投票
1 回答
855 浏览

jboss - 如何在部署模块(Wildfly)中排除导出?

我有两个战争文件:core.warservice.war

存档core.war包括jboss-deployment-structure.xml

service.war包括jboss-deployment-structure.xml

我有叠加层:

独立的.xml

在这种情况下,service.war模块中的 classLoader 无法加载在some-dep-1.ear / some-dep-2.ear / some-dep-3.ear中声明的类,因为标签中的默认属性 export="false"<module/>

现在我想排除一些对service.war的覆盖依赖。我尝试使用<export/>这样的标签:

但这不起作用。

如何排除用于导出的覆盖依赖项?