问题标签 [wildfly-swarm]

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 投票
1 回答
260 浏览

java - 在 Wildfly Swarm 上使用 Java DSL 设置 Apache Camel Rest 路由

我正在尝试在 Wildfly Swarm 中设置 Camel Rest 服务,但我不确定RouteBuilder该类是如何被实例化的,甚至是如何CamelContext被实例化的。我已经下载了 Wildfly Swarm 示例并查看了 Camel CXF-JAXRS 项目,这很有意义,但它使用 XML 来定义路线。我想使用 Java DSL。我的RouteBuilder课看起来像这样:

我在有和没有camel-context.xml文件的情况下都试过了。Swarm 启动,但我无法浏览到其余服务端点。

怎么RouteBuilder调用?我应该有某种main实例化的方法CamelContext吗?

我正在使用 Widlfy Swarm 2017.8.1 并且该类在war文件中。

0 投票
0 回答
623 浏览

wildfly-swarm - 从自定义 main() 执行时如何在 Wildfly Swarm 中添加自定义模块

我有一个自定义 Wildfly 模块,用于以 Json 格式登录,我的 Swarm 应用程序在standalone.xml 中引用了该模块:

该模块保存在 Maven 存储库中,在 Maven 构建期间它会从该存储库复制到 target/classes 文件夹。

Maven wildfly-swarm-plugin 然后将模块添加到 uberjar:

从 uberjar 执行时,这可以按预期工作。

但是,当直接从 IDE 运行自定义 main() 类时,似乎无法告诉 Swarm 使用此模块:

Swarm 在启动期间显示此错误:

0 投票
0 回答
103 浏览

apache-camel - Wildfly Swarm 上的骆驼路线试图在不应该加载 h2 数据库时

我有一条在 Wildfly Swarm (2017.8.1) 上运行的骆驼路线,该路线使用 JTDS 驱动程序连接到 SQL Server 数据库。但是,当我尝试运行它时,它会尝试加载 h2 数据库模块。我没有使用h2。

错误:

为什么需要 h2 模块?我已经尝试将它添加到我的 POM 中,但它仍然失败。

0 投票
1 回答
44 浏览

cdi - CDI wrt @Inject 与 BeanManager.getBeans(Function.class) 中的函数是否特殊?

我有两个类,我想注入:

当我尝试在其他地方使用它们时,我会得到不同的行为:

我的输出是:

这比我预期的少一行。

有人可以解释这里发生了什么吗?

解决方案,感谢 Siliarus 让我走上正确的道路:

0 投票
1 回答
497 浏览

java - Eclipse 上的 Java 野蝇群

美好的一天 Java 和 Wildfly Swarm 大师,

我有个问题。我使用 Wildfly Swarm 和 EJB 在 Eclipse 中构建了一个微服务项目。该项目名为 TestProject 并将构建一个 TestProject.war。

当我在终端中运行时,使用命令“mvn wildfly-swarm:run”它可以正常运行,并且会在一定程度上构建正确的战争文件。下面是它运行时的一个片段:

当我在 Eclipse IDE 中运行时,它仍然会运行,但它创建的战争是不同的,导致 bean 加载并稍后查找,无法加载。下面是关于它如何在 Eclipse 中运行(有问题)的片段:

正如我们所看到的,它创建了war文件:

507ac020-cc98-4956-9c88-418869842dcf.war

代替:

测试项目.war

我会很高兴了解如何防止 Eclipse 创建随机命名的 war 文件并使用预期的 war 文件名,即 TestProject.war。

非常感谢!祝你有美好的一天 =)!

0 投票
1 回答
463 浏览

java - Wildfly 和 Wildfly-swarm 从战争部署与自定义模块注入 CDI bean

在试验 Wildfly-swarm 的过程中,我遇到了一个关于 bean injection 的奇怪情况。

我有一个非常简单的bean,或多或少是这样的:

如果我直接在战争部署中将它捆绑在一个 jar 中,一切都会正常工作并且符合预期。但是,我需要这个实现的内部部分与应用程序完全隔离,为什么我将服务 api 及其实现打包到单独的 jboss 模块中。

这些模块被添加到 swarm uberJar 中,我的应用程序通过 MANIFEST Dependencies 条目依赖它们。现在,一切似乎都正常,FooService bean 被注入到我的应用程序 servlet/rest 资源中,但没有调用 init() 方法。

我无法弄清楚这里发生了什么。就像 bean 解析过程无法识别 @ApplicationScope 注释一样。可以有两个不同的类加载器吗?

更新

我启用了跟踪,在我看来 Weld 将 FooImpl 类视为 ApplicationScoped,即向LifecycleMixin.lifecycle_mixin_$$_postConstruct()正在创建的代理添加一个:

postconstruct 拦截器没有被调用——为什么?谜底加深!

更新 2

在 vanilla wildfly 上对此进行了测试,行为是相同的,如果 bean 位于模块中,则不会调用 @PostConstruct 方法。

0 投票
1 回答
796 浏览

activemq - 使用外部 ActiveMQ 代理的 WildFly Swarm 应用程序

我很难让两个 WildFly 群应用程序(基于 2017.9.5 版本)通过独立的 ActiveMQ 5.14.3 代理相互通信。全部使用 YAML 配置完成,因为在我的情况下我没有 main 方法。

在阅读了数百个过时的示例和不准确的文档页面后,我为生产者和消费者应用程序设置了以下设置:

现在似乎至少部分设置在应用程序启动时是正确的,但以下警告除外:

此外,当生产者尝试发送消息时,它只是超时并且我得到以下异常(只是最后一部分):

我怀疑问题是 ActiveMQ 已打开安全性,但我发现没有地方可以将用户名和密码提供给 swarm 配置。

ActiveMQ 实例使用 Docker 和以下 compose 文件运行:

知道出了什么问题吗?

0 投票
1 回答
231 浏览

logstash - Wildfly-Swarm + Logstash 添加标签或服装元数据

我有一个小的 Wildfly-Swarm 应用程序,我已经使用 WildflySwarm 的 logstash 分数成功地将它连接到 Logstash。对于我的配置,我使用的是 project-defaults.yml,如下所示:

问题是我不知道如何在 logstash 中发送标签。例如,我想发送一些有关开发测试或生产等环境的信息。我还通过添加格式化程序属性和一些元数据来尝试它,如下所示:

但它不起作用。这可以使用元数据来完成吗?

0 投票
1 回答
734 浏览

java - Wildfly-Swarm Consul 服务发现 - 服务地址无效

我正在开发 Wildfly-Swarm 应用程序,我想使用 Consul 作为我的服务发现。所以我添加了 topology-consul 分数,在 project-defaults.yml 中设置我的 Consul 路径并添加@Advertise("service-name")到我的 Endpoint。

如果我开始我的应用程序使用

一切正常。

我的项目-defaults.yml:

但是当我用这个 Dockerfile 将我的胖 jar 打包到 Docker 映像中时:

构建它:

并像这样运行它:

我得到以下异常:

难道我做错了什么?

编辑:我尝试使用 consul-api 自行实现服务发现。

像这样:

它在 docker 镜像中工作。这可能是 Wildfly-Swarm 拓扑分数中的一个错误,还是我缺少一些配置?

编辑 2:我发现问题出在 wildfly-swarm 参数-Djava.net.preferIPv4Stack=true上。当我使用此参数运行 jar 文件时,我得到相同的异常,但如果我删除它 Dockerfile 以创建 docker 映像并运行它,我得到此异常:

这是 github 项目的链接,您可以在其中重现错误: https ://github.com/pkristja/wildfly-swarm-consul-demo

0 投票
2 回答
484 浏览

java - java 9的wildfly swarm部署崩溃

打包由 wildfly swarm 生成器生成并使用 Java9 构建的 hello world 应用程序在部署应用程序时崩溃。似乎原因是 swarm/undertow 对org.ow2.asm:asm-all:5.0.4未准备好 Java9 的依赖。

是否有已知的解决方法,或者 swarm 为 Java9 做好准备的已知日期?

堆栈跟踪是: