我有一个Spring Boot应用程序,它使用IBMSpring Boot启动器连接到IBMMessageQueue服务:
com.ibm.mq:mq-jms-spring-boot-starter:2.1.2
我有一个组件类侦听队列,它有以下注释来启用/禁用连接到队列:
@ConditionalOnProperty(name = "queue.enabled", havingValue = "true")
我的应用程序中还有以下属性。属性:
queue.enabled=false
当我连接到ActiveMQ时,此注释用于禁用队列连接,但在将代码库更改为连接到IBM MQ时,连接似乎不受ConditionalUnproperty的影响,并且总是尝试连接。
是否有一种方法可以在服务器启动时启用/禁用与IBM MQ服务的连接?
只需在应用程序中排除配置即可。属性。
spring.autoconfigure.exclude=com.ibm.mq.spring.boot.MQAutoConfiguration
mq jms spring boot starter依赖项中存在的MQAutoConfiguration类是导致尝试的队列连接的原因。
选项1
在application.properties文件中设置值spring.jta.enabled=false
。(如果您在应用程序中使用事务,这可能不是首选选项。)
查看MQAutoConfiguration类,您可以看到它取决于属性spring.jta.enabled
。在application.properties文件中将该属性设置为false将阻止注册MQAutoConfiguration类,这意味着没有MQ bean被注册,因此不会尝试连接到队列。
选项2(如果您不想禁用JTA)
创建包com。ibm。mq。Spring Boot并在此处创建MQAutoConfiguration类的副本。将ConditionalOnProperty注释修改为您选择的属性。
我已经为一个服务实现了socket.io,然后删除了它。但是,我仍然有客户机向endpoint/socket.io发出初始连接请求,而endpoint/socket.io已经不存在了。使用各种http状态代码进行响应似乎并不重要。 是否有方法阻止客户端尝试连接?我每分钟收到几千个请求。
喂,伙计们! 这是我的第一次,所以我会尽力做到最好。 我想创建一个应用程序,它是运行与Springboot框架,我想把它连接到一个docker容器嵌入MySQL(但Spring启动应用程序不是运行在docker) 所以我一直关注这个帖子 我已经做了我的docker-comact: 我用这个命令运行它: 一切都很好,所以现在我在Spring靴上改变application.properties: 但当
我正在尝试将本地Spring Boot应用程序连接到我的Heroku Postgres数据库。当我使用Heroku上可用的creds尝试此操作时,我得到以下错误 错误:SEVERITY_LOCALIZED=FATAL,SEVERITY_NON_LOCALIZED=FATAL, CODE=28000, MESSAGE=没有主机"myhost",用户"myuser",数据库"mydb"的pg_hba.
另一个解决方案是启动一个mysql docker容器并指定它的名称来代替localhost...但是我不想启动mysql docker容器,因为我已经安装了mysql(并且需要卷配置来保持数据持久化) 提前道谢。
我想开发一个应用程序,可以防止连接到WiFi网络,除非我批准它。我希望能够查询接入点的MAC地址,并将其与对应于SSID的已知地址列表进行比较。该应用程序的目标是保护用户避免意外连接到恶意访问点,例如菠萝设备可以产生的类型。 从我的研究中,我不清楚我将如何实现这个目标。有关wifi网络状态更改的通知方式等问题?解释如何检测已发生的连接,但对于我的用例来说,这已经太晚了。 无论是还是似乎都没有提供添
我有一个应用类 我有控制器课 并且,我想为Application test编写一个测试用例,以确保创建的实例类型为HelloController 但是,我在自动连接 hello控制器变量时遇到错误(找不到 hello 控制器类型的 bean)。根据我的理解,@SpringBootTest应该创建上下文并返回一个实例。我们不需要编写任何上下文 xml 或使用任何注释Config 类来获取实例。缺少了