Spring JMS注入导致应用程序无法启动

发布于 2024-12-15 15:43:34 字数 390 浏览 2 评论 0原文

我们有一个 Spring 应用程序,用于发布和侦听远程应用程序服务器上的队列。我的发布者和监听器是基于 spring 的,在我们自己的应用程序服务器中进行监听。

我们的测试环境遇到的问题之一是另一个应用程序。服务器没有启动,因此当我们的测试应用程序启动并尝试使用其 connectionFactory 注入 JmsTemplate 时,它​​会崩溃,因为它不是有效的连接,并且我们的整个应用程序无法加载。这给我们小组中与 JMS 无关的其他开发人员带来了痛苦。他们想做的就是运行并测试他们的代码,但 JmsTemplate connectionFactory 已关闭。

有没有人有任何建议让 spring 忽略一些错误的注入,从而使我们的应用程序能够正常启动? 谢谢

We have a spring application that publishes and listens to queues on a remote application server. My publisher and listener which are spring based listen within our own application server.

One of the problems we have for our test environments is the other app. server is not up so when our test application goes to start and it tries to inject JmsTemplate with its connectionFactory it blows up because it is not a valid connection and our entire application fails to load. This is causing grief with the other developers in our group that have nothing to do with JMS. All they want to do is run and test their code but the JmsTemplate connectionFactory is down.

Does anyone have any suggestion for enabling spring ignore some bad injections which will allow our application to start properly?
Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

赠意 2024-12-22 15:43:34

我相信这可以通过定义单独的弹簧配置文件,然后在启动应用程序时将其作为参数传递到测试环境中来实现。那么你可以嘲笑或忽略任何豆子。
示例

import org.springframework.context.annotation.Profile;
@Profile("test")
public class AppConfigTest {

....
....
}

JVM 参数/系统属性

-Dspring.profiles.active=test

I believe this could be achieved by defining separate spring profiles and then passing it as a parameter in your test environments while starting your application. You could mock or ignore any beans then.
Example

import org.springframework.context.annotation.Profile;
@Profile("test")
public class AppConfigTest {

....
....
}

JVM param / System property

-Dspring.profiles.active=test
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文