问题标签 [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.
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
文件中。
wildfly-swarm - 从自定义 main() 执行时如何在 Wildfly Swarm 中添加自定义模块
我有一个自定义 Wildfly 模块,用于以 Json 格式登录,我的 Swarm 应用程序在standalone.xml 中引用了该模块:
该模块保存在 Maven 存储库中,在 Maven 构建期间它会从该存储库复制到 target/classes 文件夹。
Maven wildfly-swarm-plugin 然后将模块添加到 uberjar:
从 uberjar 执行时,这可以按预期工作。
但是,当直接从 IDE 运行自定义 main() 类时,似乎无法告诉 Swarm 使用此模块:
Swarm 在启动期间显示此错误:
apache-camel - Wildfly Swarm 上的骆驼路线试图在不应该加载 h2 数据库时
我有一条在 Wildfly Swarm (2017.8.1) 上运行的骆驼路线,该路线使用 JTDS 驱动程序连接到 SQL Server 数据库。但是,当我尝试运行它时,它会尝试加载 h2 数据库模块。我没有使用h2。
错误:
为什么需要 h2 模块?我已经尝试将它添加到我的 POM 中,但它仍然失败。
cdi - CDI wrt @Inject 与 BeanManager.getBeans(Function.class) 中的函数是否特殊?
我有两个类,我想注入:
和
当我尝试在其他地方使用它们时,我会得到不同的行为:
我的输出是:
这比我预期的少一行。
有人可以解释这里发生了什么吗?
解决方案,感谢 Siliarus 让我走上正确的道路:
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。
非常感谢!祝你有美好的一天 =)!
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 方法。
activemq - 使用外部 ActiveMQ 代理的 WildFly Swarm 应用程序
我很难让两个 WildFly 群应用程序(基于 2017.9.5 版本)通过独立的 ActiveMQ 5.14.3 代理相互通信。全部使用 YAML 配置完成,因为在我的情况下我没有 main 方法。
在阅读了数百个过时的示例和不准确的文档页面后,我为生产者和消费者应用程序设置了以下设置:
现在似乎至少部分设置在应用程序启动时是正确的,但以下警告除外:
此外,当生产者尝试发送消息时,它只是超时并且我得到以下异常(只是最后一部分):
我怀疑问题是 ActiveMQ 已打开安全性,但我发现没有地方可以将用户名和密码提供给 swarm 配置。
ActiveMQ 实例使用 Docker 和以下 compose 文件运行:
知道出了什么问题吗?
logstash - Wildfly-Swarm + Logstash 添加标签或服装元数据
我有一个小的 Wildfly-Swarm 应用程序,我已经使用 WildflySwarm 的 logstash 分数成功地将它连接到 Logstash。对于我的配置,我使用的是 project-defaults.yml,如下所示:
问题是我不知道如何在 logstash 中发送标签。例如,我想发送一些有关开发测试或生产等环境的信息。我还通过添加格式化程序属性和一些元数据来尝试它,如下所示:
但它不起作用。这可以使用元数据来完成吗?
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
java - java 9的wildfly swarm部署崩溃
打包由 wildfly swarm 生成器生成并使用 Java9 构建的 hello world 应用程序在部署应用程序时崩溃。似乎原因是 swarm/undertow 对org.ow2.asm:asm-all:5.0.4
未准备好 Java9 的依赖。
是否有已知的解决方法,或者 swarm 为 Java9 做好准备的已知日期?
堆栈跟踪是: