早上好,
感谢您对旅游的帮助
经过深入研究,我注意到spring-boot-starter-artemis提供的开箱即用的实现使用org.apache.activemq.artemis.core.remoting.impl.invm.invmacceptorFactory
接受器。我想知道这是否不是根本原因(再说一遍,我绝不是专家)。但似乎有一种自定义artemis配置的方法。因此,我毫无运气地尝试了以下配置:
@SpringBootApplication
public class MyBroker {
public static void main(String[] args) throws Exception {
SpringApplication.run(MyBroker.class, args);
}
@Autowired
private ArtemisProperties artemisProperties;
@Bean
public ArtemisConfigurationCustomizer artemisConfigurationCustomizer() {
return configuration -> {
try {
configuration.addAcceptorConfiguration("netty", "tcp://localhost:" + artemisProperties.getPort());
} catch (Exception e) {
throw new RuntimeException("Failed to add netty transport acceptor to artemis instance");
}
};
}
}
您只需在Artemis配置中添加一个连接器和一个接受者。使用Spring Boot Artemis starter,Spring创建一个配置bean,用于EmbeddedJMS配置。您可以在ArtemisEmbeddedConfigurationFactory类中看到这一点,其中将为配置设置InvmAcceptorFactor
。您可以编辑这个bean并通过自定义ArtemisConfigurationCustomizer
bean更改Artemis行为,该bean将被Spring autoconfig吸收并应用于配置。
Spring Boot应用程序的示例配置类:
import org.apache.activemq.artemis.api.core.TransportConfiguration;
import org.apache.activemq.artemis.core.remoting.impl.netty.NettyAcceptorFactory;
import org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory;
import org.springframework.boot.autoconfigure.jms.artemis.ArtemisConfigurationCustomizer;
import org.springframework.context.annotation.Configuration;
@Configuration
public class ArtemisConfig implements ArtemisConfigurationCustomizer {
@Override
public void customize(org.apache.activemq.artemis.core.config.Configuration configuration) {
configuration.addConnectorConfiguration("nettyConnector", new TransportConfiguration(NettyConnectorFactory.class.getName()));
configuration.addAcceptorConfiguration(new TransportConfiguration(NettyAcceptorFactory.class.getName()));
}
}
问题内容: 我正在尝试为连接到RabbitMQ代理的Scala / Java应用程序创建集成测试。为了实现这一点,我希望有一个嵌入式经纪人讲我在每次测试之前启动和停止的AMQP。最初,我试图将ActiveMQ引入AMQP作为嵌入式代理,但是该应用程序使用RabbitMQ,因此仅使用AMQP 0.9.3版,而ActiveMQ需要AMQP 1.0版。 我可以使用其他嵌入式代理代替ActiveMQ吗?
问题内容: 编辑:改写问题: 我想将ActiveMQ用作服务器和客户端应用程序之间的信使服务。 我正在尝试在服务器内设置嵌入式代理(即不是单独的进程),以处理产生的消息供我的客户使用。该队列被保留。 经纪人初始化如下: 修补之后,我最终得到了服务器部分: 客户端非常相似,看起来像这样: main方法只是在线程中启动其中的每一个,以开始生成/接收消息。 …但是我在每个线程的开头都遇到以下问题: 看来
我正在尝试设置一个支持SSL的嵌入式ActiveMQ代理。 我不断得到相同的错误msg: 搜索这给出了在生成密钥存储和信任存储时可能发生故障的指示。 我试图使用这些指南生成密钥存储和信任存储,但没有成功。http://docs.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#CreateKeysto
我已经嵌入了< code>activemq代理。我想使用< code > simpleAuthenticationPlugin 。我为嵌入式代理添加了依赖关系< code>activemq-jaas。我已经为< code > simpleAuthenticationPlugin 添加了设置,但它似乎试图使用我的桌面用户名或eclipse用户名进行身份验证(因为它是相同的用户名)。 以下是警告: [
有什么想法吗?
Ruby, like fire, is a very useful friend, and a very dangerous enemy. — Mikkel Bruun 在模板中使用嵌入式 Ruby 帮助构建动态的配置文件或实现数组遍历是一种强大的方式。 然而,你也可以在配置清单中使用 inline_template 函数直接嵌入 Ruby 而不必使用分离的模板文件。 操作步骤 在 Puppet